It includes:
- Linux kernel
- BusyBox (statically linked)
- Minimal root filesystem
- Custom init script with a welcome message and ASCII art
You can boot the ISO directly in QEMU or VirtualBox to try MyDistro without building it yourself.
Download the ISO directly:
MyDistro.iso
wget https://github.com/H0ussamCl4p/MyDistro/raw/main/iso/MyDistro.iso -O MyDistro.isoqemu-system-x86_64 -cdrom iso/MyDistro.iso -m 512MCreate a new virtual machine.
Set the type to Linux and version to Other Linux (64-bit).
Attach iso/MyDistro.iso as the CD/DVD drive.
Boot the VM.
Note: This ISO contains a minimal Linux system with BusyBox and a custom ASCII welcome screen. Job control and utilities are limited.
- Bootable in QEMU or VirtualBox
- Minimal root filesystem with essential directories:
/bin /sbin /usr/bin /usr/sbin /etc /proc /sys /dev
/initscript mounts/procand/sysand launches a shell- Custom welcome message with ASCII art
- Optional BusyBox utilities
- Linux host (WSL or native)
- QEMU
- GNU Make
- gcc
- BusyBox source
- Linux kernel source
MyDistro/ ├── build/ # Compiled kernel, initramfs, ISO ├── busybox/ # BusyBox source ├── linux/ # Linux kernel source ├── rootfs/ # Root filesystem ├── iso/ # ISO build directory ├── build.sh # Build script └── README.md
Run the build script:
chmod +x build.sh
./build.shThis will:
Compile the kernel and BusyBox
Build the root filesystem
Package the initramfs
Create a bootable ISO in build/MyDistro.iso
qemu-system-x86_64 -cdrom build/MyDistro.iso -m 512Mqemu-system-x86_64 -kernel build/bzImage -initrd build/initramfs.cpio.gz -nographic -append "console=ttyS0"-
Minimal shell; job control is limited.
-
Only essential device nodes exist (/dev/console, /dev/null, /dev/zero, /dev/tty0, /dev/ttyS0, /dev/urandom).
-
You can add more BusyBox utilities by editing .config in the busybox/ folder.