Loader reading FAT

Adrian Chadd adrian at freebsd.org
Wed Jun 17 12:09:13 UTC 2009


2009/6/17 Rick C. Petty <rick-freebsd2008 at kiwi-computer.com>:

> I read somewhere that there isn't enough space in the boot2 loader to put
> such logic.  You're only guaranteed 15 512-byte sectors or 7680 bytes, if
> you use any UFS partition.  It's pretty tight; I think you will find it
> difficult to insert another file system in there, especially one as
> complicated as msdos.  libstand is 223 KB, so it's not as trivial as you
> think.
>
> Theoretically it would be possible: for example, if you're willing to set
> aside a separate partition you would have as much room as you want.  Or if
> you put it at the front of a UFS partition, you have just under 256 KB of
> room since our UFS code will search for the superblock at a byte offset of
> 262144, but there aren't any knobs to newfs so you'd have to hack it
> together.  Take a look at /usr/src/sys/boot/i386/boot2/ for starters.

This is why I pointed out the NetBSD DOS bootloader stuff. In effect,
you could "just" boot a FreeBSD install by teaching the NetBSD
bootloader and loader(8) enough about each other to initialise loader;
loader then has much more memory to play with understanding multiple
filesystems and slicing/labelling methods. Boot0, boot1, boot2
wouldn't even be involved.


Adrian


More information about the freebsd-hackers mailing list