Montag, 23. Juli 2012


"Minimal Linux Bootloader" is a tiny linux bootloader without a "stage 2". The kernel is just booted by the code within the MBR. Because of the size limit there are some missing features (like initrd or a menu) that are supported by other bootloaders like GRUB or LILO.


1. Backup of the MBR:

sudo dd if=/dev/sda of=mbr_old bs=512 count=1

2. Download:

Version 1.0: [Source]
Update: Fixed a problem with the BIOS device number.

3. LBA-address of the kernel-image:

sudo hdparm --fibmap /boot/vmlinuz-3.4.6-2.fc17.x86_64

Update the current_lba field of the source file accordingly.

Note: The image can only be booted if the image file is NOT fragmented.

4. Kernel command line:

Update the cmd_line field of the source file to set the kernel command line.

Note: The resulting binary file must not be bigger than 446 byte.

5. Installation:

nasm bootloader.asm -o bootloader.bin
sudo dd if=bootloader.bin of=/dev/sda bs=446 count=1


Please send a mail to sebastian-plotz [at]


  1. Hi ! I do everything you did but i have a kernel panic about VFS sync, can you please help me ?

    1. Please send me an email and I will answer you.