How to create a FreeBSD 8.0 boot CD without boot.flp?

Pierre-Luc Drouin pldrouin at
Wed Feb 10 22:23:30 UTC 2010

Manolis Kiagias wrote:
> On 11/02/2010 12:08 π.μ., Pierre-Luc Drouin wrote:
>> What I am trying to do is basically to install FreeBSD 8.0 on a CD. I
>> followed these instructions to install FreeBSD on a USB stick:
>> minus the fdisk/bsdlabel/newfs part . I just set up rc.conf to
>> configure the ethernet interface with DHCP and load sshd
>> then I am now creating an iso image with the boot image. So at the
>> root of the CD I will have the boot directory containing the kernel
>> subdirectory.
>> I figured out about the boot image error from mkisofs. I had to copy
>> cdboot into the actual boot directory for the image and the path
>> specified by the -b option is relative to the root directory of the CD...
>> So should this work according to you?
>> Thanks!
> It is going to be an interesting experiment. The official install
> CD/DVDs boot from boot/kernel on the CD but the root filesystem used is
> actually in an mfs (memory disk). Also it executes sysinstall instead of
> init at the end of the boot sequence. I suppose you can mount the root
> filesystem from CD as read-only but you will have to handle things like
> /var and /usr and you will probably need some writing capability. I am
> sure this can be done in more than a few ways though I've never
> researched this myself.
yes I did some checks and it seems that sysinstall is loaded via the 
mfsroot instruction in loader.conf that somehow loads /stand/boot_crunch 
in the mfsroot image. If I change the content of loader.conf I think it 
should behave like a regular installation (?). I have also written a 
special fstab:

# Device                Mountpoint      FStype  Options         Dump    
/dev/iso9660/FreeBSD_Custom     /       cd9660  ro,noatime      0       0
md                      /etc_tmp        mfs     rw,-s4M,nosuid,noatime  
0       0
/etc_tmp                /etc            nullfs  rw              0       0
md                      /tmp            mfs     rw,-s16M,nosuid,noatime 
0       0
md                      /var/run        mfs     rw,-s4M,nosuid,noatime  
0       0
md                      /var/log        mfs     rw,-s16M,nosuid,noatime 
0       0
/proc                   /proc           procfs  rw,noauto       0       0
/tmp                    /var/tmp        nullfs  rw              0       0

As you can see I do not have any hardcoded device name. I use the CD 
label, which is used by geom_label to create a device file in 
/dev/iso9660/. So in order to have geom_label loaded as early as 
possible I have added geom_label_load="YES" in loader.conf. I hope this 
will work...

More information about the freebsd-questions mailing list