This is my newbie understanding about how the relationship between the first sector of the kernel and the boot process...(thanks riel, zinx, weasel and DrNick for explaination).
The first 512 bytes (a sector) of the kernel was originally functioning as a boot sector (loader). However, in the recent version, that sector is replaced with code that display
- ascii "Direct booting from floppy is no longer supported.\r\n"
- ascii "Please use a boot loader program instead.\r\n"
- ascii "\n"
- ascii "Remove disk and press any key to reboot . . .\r\n"
in case that sector of code is still written to a boot sector of a disk and executed during boot time. Therefore, it no longer serve the purpose of loading the kernel image from the disk but has handed that responsibility to boot loaders such as LILO or GRUB. The boot loader will find the kernel image and skip the first sector of the image. The reason behind this change that prevent the kernel from being loaded directly by the BIOS from the bootsector is that without a boot loader stage, we would not be able to pass a command line parameter like root filesystem etc to the kernel.