the 9front kernels use a new rc based bootstrap system. the
kernel itself uses a compressed ram filesystem image (paqfs)
that will be mounted by /boot/boot containing the required
programs like rc, srv, ifconfig and file fileservers like
9660srv and cwfs to mount the real root filesystem.

there is no special cdboot kernel or pxe boot kernel anymore.

every kernel is capable of network booting or booting from
local disk or cdrom or usb stick.

the only thing that got specialized are the bootloaders. theres
9bootiso, 9bootfat and 9bootpxe. but once they get the kernel
loaded, stuff looks exactly the same.

this also has the advantage that you can boot to a local cwfs
just using the cdrom. or boot from the cd by using a usb stick
or network boot. ect. so thats why we removed the special netboot
kernels. it also helps rescuing a unbootable/bricked system.
you can even run rc shell from these kernels (type !rc at the
bootargs prompt) so you can inspect the system even tho it might
not be able to detect the network card or disk controller ect...

for the bootloaders, i thought that a command line/console that
lets you change specific kernel parameters before boot is more
usefull than a menu with preconfigured options. especially in the
case of testing or rescuing a system. 9boot even works if theres no
plan9.ini at all.

we also want to keep the bootloaders as simple and as stupid as
possible. the less you do at the boot stage the less can go wrong.
boot enviroment is very tricky thing. we avoid interfering with
bios at all costs and do the clever parts once we took control of the
hardware and have a running kernel.

the kernel will present you with a "menu" like list of bootable
local filesystems.

--
cinap

Reply via email to