The ext2 as root file-system and Linux-like boot adoption

The Nucleos kernel has adopted the Linux boot procedure and was able to use the ext2 as its root file-system. The implementation is quite unstable so far but functional and ready for debuging. It’s available in nucleos-boot branch on github. The achieved goals offer a lot of advantages over the old boot and minix3 root filesystem. First that it significantly simplyfies the boot code as it doesn’t read or write from hard-disk. This job is left on external bootload e.g. GRUB which loads the kernel image into memory. The bootloader also pass the command-line and set some fields in kernel image header. Once the bootloader has done its job it jumps to kernel entry point a 16-bit setup code. This code unpacks the 32-bit kernel and then jumps to 32-bit entry code. The second advantage is that having ext2 as root file-system simplyfies the whole system setup and kernel installation. For installation you don’t need anything more than just mount disk image by a standard mount command and copy the kernel into /boot directory. Also creating a complete system from scratch is very easy now and no special hacks are needed.
However as it was mentioned the implementation is quite unstable so far and must be debuged. Thus it can’t be merged with the master branch. I believe I will do so in a few weeks.

This entry was posted in Operating system and tagged , , . Bookmark the permalink.