Booting from FAT(32)

Daniel O'Connor doconnor at gsoft.com.au
Sun Jun 14 04:40:20 UTC 2009


On Sun, 14 Jun 2009, Daniel O'Connor wrote:
> > I've been meaning to trial it out actually. It sure would be
> > interesting to boot a kernel/mfs off of a DOS bootable FAT USB.
>
> I think you can do it if you makefs /boot and feed it to syslinux
> using memdisk (I plan on trying this today).

I used Luigi's iso2flash.sh script (the guts thereof) and it worked fine, ie..
mkdir /tmp/boot
cp -r /boot /tmp/boot
[ fixup /tmp/boot/boot how you like ]
makefs -t ffs -o bsize=4096 -o fsize=512 -f 50 /tmp/boot.img /tmp/boot
bsdlabel -Bw -f /tmp/boot.img auto
bsdlabel -f /tmp/boot.img | sed -e '/  c:/{p;s/c:/a:/;}' | bsdlabel -R -f /tmp/boot.img /dev/stdin
gzip /tmp/boot.img

(Using -B obviated the need for the dd magic in the original script)

Copy /tmp/boot.img.gz to the USB stick and then you can use a syslinux conf 
like..
label FreeBSD
kernel memdisk
append initrd=boot.img.gz

I got the kernel to mount root off the FAT32 partition although you need to
make sure /dev exists and all the binaries & libs it wants are present.
(eg mkdir /mnt/dev ; cp -r /bin /sbin /lib /libexec /mnt)

-- 
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
  -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20090614/752e1cb9/attachment.pgp


More information about the freebsd-hackers mailing list