Skip to content

Releases: yo-le-zz/senbit

Release list

Senbit v0.1.0

Choose a tag to compare

@yo-le-zz yo-le-zz released this 01 Oct 11:15
5f952f8

🚀 Senbit v0.1.0

The first public release of Senbit — a lightweight, server-first Linux operating system built around the Linux kernel and a Rust-first userspace.

Senbit v0.1.0 establishes the foundation of the operating system: a custom build system, Linux kernel, Rust userspace, custom PID 1, interactive installer, persistent system configuration, BIOS/UEFI boot support, networking, authentication and an interactive shell.

This release is focused on having a real, bootable and installable operating system foundation that can be developed further in future releases.


✨ Highlights

🐧 Linux-based operating system

Senbit is built around the Linux kernel while keeping the userspace focused on lightweight components and custom Rust software.

  • 🐧 Linux kernel

  • 🦀 Rust-first userspace

  • ⚡ Lightweight system design

  • 🖥️ x86_64 support

  • 📦 Custom root filesystem

  • 🚀 Custom init / PID 1

  • 🔧 Reproducible development workflow through devtool


🛠️ Custom Build System

Senbit includes its own development and build tooling through devtool.

The build pipeline handles the major components of the operating system:

Linux Kernel
     ↓
BusyBox
     ↓
Rust Userspace
     ↓
System Tools
     ↓
GRUB
     ↓
Root Filesystem
     ↓
Initramfs
     ↓
Bootable ISO

🧰 Included tooling

  • 🔨 Kernel building

  • 📦 BusyBox building

  • 🦀 Rust userspace building

  • 🛠️ System utility building

  • 🥾 GRUB building

  • 🗂️ Root filesystem generation

  • 💾 Initramfs generation

  • 💿 ISO generation

  • 🖥️ QEMU integration

  • ⚙️ BIOS and UEFI VM configuration

The development workflow can be launched with:

./scripts/devtool run --force

🥾 BIOS & UEFI Boot Support

Senbit supports both major x86 boot modes.

🟦 Legacy BIOS

  • MBR partition table

  • GRUB i386-pc

  • BIOS boot support

  • Automatic partition creation

🟩 UEFI

  • GPT partition table

  • EFI System Partition

  • FAT32 EFI partition

  • GRUB x86_64-efi

  • UEFI fallback loader

  • EFI boot files

  • Automatic partition creation

The Senbit ISO itself supports BIOS and UEFI booting.


💿 Installation System

Senbit includes an interactive installer designed to configure a complete installed system.

💽 Disk management

The installer supports:

  • 🔍 Disk detection

  • 🧩 Partition detection

  • 💾 Whole-disk installation

  • 🛠️ Manual partitioning

  • ⚠️ Partition selection and confirmation

  • 📐 Automatic MBR partitioning

  • 📐 Automatic GPT partitioning

  • 🔄 Partition table reloading

  • 🗃️ ext4 root filesystem

  • 🟩 FAT32 EFI System Partition

🥾 Bootloader installation

The installer automatically selects the appropriate GRUB configuration depending on the detected boot mode.

UEFI
 ├── GPT
 ├── EFI System Partition
 ├── FAT32
 └── GRUB x86_64-efi

BIOS
├── MBR
├── ext4 root partition
└── GRUB i386-pc


⚙️ Custom Init System

Senbit uses a custom Rust PID 1 instead of relying entirely on a traditional init system.

The init system is responsible for:

  • 🚀 System initialization

  • 🗂️ Filesystem initialization

  • 🔀 Root filesystem transition

  • 🏠 Hostname initialization

  • 🌐 Network initialization

  • 🖥️ Console preparation

  • 🔐 Login/session startup

  • 🐚 Shell startup

  • ❌ Critical boot error handling

Senbit also performs the root transition directly while keeping the same PID 1 process.


🗂️ Root Filesystem & Initramfs

Senbit generates its own root filesystem and initramfs during the build process.

The system includes:

  • /etc

  • /usr

  • /bin

  • /sbin

  • /var

  • /home

  • /root

  • /dev

  • /proc

  • /sys

  • /run

The initramfs contains the components required to initialize the system and transition into the installed root filesystem.


🌐 Networking

The current system provides basic network initialization with DHCP support.

The boot process can:

  • 🔌 Detect network interfaces

  • 🌐 Bring up networking

  • 📡 Obtain network configuration through DHCP

  • ⚙️ Initialize networking during boot

Static network configuration is planned for a future release.


👤 Users & Authentication

The installer includes initial user configuration.

Supported functionality includes:

  • 👤 User creation

  • 🔐 Password configuration

  • 🔑 Password-based login

  • 🏠 User home directories

  • 🖥️ Interactive login


🌍 System Configuration

The installer configures several important system settings.

⌨️ Keyboard

  • Persistent keyboard configuration

  • Keyboard configuration during installation

🌐 Locale

  • Locale configuration

  • Persistent locale setup

🕐 Timezone

  • Timezone configuration

  • Persistent timezone setup

🏷️ Hostname

  • Hostname configuration

  • Persistent /etc/hostname

  • Hostname initialization during boot

📄 Senbit release information

Installed systems contain:

/etc/senbit-release

with information such as:

NAME=Senbit
VERSION=0.1.0

This allows the running system to identify its Senbit version.


🖥️ Custom Console & Shell

Senbit includes a customized console experience rather than using an entirely default shell environment.

🎨 Custom console font

The system includes a custom console font based on Terminus.

  • 🔤 Custom PSF console font

  • ⚡ Loaded during system initialization

  • 🖥️ Optimized for Linux virtual consoles

  • 👀 Improved readability

💬 Custom shell prompt

Senbit also provides a custom shell prompt with:

  • 🎨 Custom colors

  • 📁 Current working directory

  • 👤 Current user information

  • 🔐 Root/user prompt indicator

  • 🔄 Dynamic prompt updates

The prompt automatically reflects directory changes when using commands such as:

cd /etc

🖥️ Console & TTY Handling

The system includes custom handling for the console and controlling terminal.

Senbit initializes:

  • 🖥️ /dev/console

  • 📟 Controlling TTY

  • 🔄 Session creation

  • ⌨️ Interactive terminal input

  • 🐚 Interactive shell execution

  • 🌈 Linux console colors

  • 🔤 Unicode console support

This provides the foundation for a proper interactive server console.


🔧 BusyBox Integration

Senbit uses BusyBox for lightweight core Unix functionality.

BusyBox provides essential utilities while keeping the base system small.

The build configuration includes the required functionality for:

  • 🐚 Shell

  • 📂 Filesystem operations

  • 🔧 System utilities

  • 🔀 Root filesystem operations

  • 🖥️ Console functionality

  • ⚙️ Basic system management


🥾 GRUB Integration

Senbit builds and packages its own GRUB environment.

Both platforms are generated:

/usr/lib/grub/i386-pc
/usr/lib/grub/x86_64-efi

This allows the same Senbit installation system to support both BIOS and UEFI machines.

The GRUB host tooling is also built specifically for the Senbit environment to avoid depending on unavailable dynamic host libraries inside the minimal userspace.


🖥️ QEMU Support

Senbit is designed to be tested directly in virtual machines.

The development tooling supports:

BIOS

QEMU
└── Legacy BIOS
└── Senbit ISO

UEFI

QEMU
└── OVMF / UEFI
└── Senbit ISO

This makes it possible to test the complete installation and boot workflow without requiring physical hardware.


🧪 Tested in v0.1.0

The current release has been tested on:

  • 🏗️ x86_64

  • 🐧 Linux development hosts

  • 🖥️ QEMU

  • 🟦 BIOS

  • 🟩 UEFI / OVMF

  • 💿 Boota...

Read more