How to get custom release CD to boot without floppies?
list at museum.rain.com
Tue Jan 24 17:35:51 PST 2006
I am trying to create bootable installation media for 6.0-RELEASE.
This is my first attempt at doing this, so I am learning a lot and
fumbling even more as I go.
First, I wish to thank Masafumi Watari for his helpful step-by-step
procedure, based on RELENG_4, found at
http://www.sfc.wide.ad.jp/~watari/FreeBSD/boot.html. It has gotten
me much farther than any other resource that I've found on the web.
Actually, I think I'm building a snapshot release of 6-STABLE, since
I started by cvsup-ing:
cvsup -g cvs-supfile
with this cvs-supfile:
*default delete use-rel-suffix
I am intentionally omitting ports and docs because I believe I do
not require them for my purposes.
I then went into /usr/src and did 'make -j4 buildworld' which ran
The 'make release' was done thus:
make release CHROOTDIR=/usr/tmp/CHROOTDIR BUILDNAME=6.0-REL-TEST CVSROOT=/usr/home/ncvs RELEASETAG=RELENG_6
Watari's document talks about customizing install.cfg, but in my
limited understanding, this file automates installation tasks.
I don't think I need this. I will be happy to just have a custom
release which boots into a standard sysinstall.
Watari also discusses modifying sysinstall itself, again, beyond the
scope of my needs.
So I proceeded directly to burning the CD-R. I don't have a burner
on the build machine, nor do I have mkisofs installed. So I tarred
up the release CHROOTDIR:
tar cf CHROOTDIR.tar CHROOTDIR
and un-tarred on my burner-equipped machine:
tar xpf ~/CHROOTDIR.tar
Finally, I made an ISO image:
mkisofs -d -D -N -R -T -V "FreeBSD6.0-RELEASE" \
-P "Test Distribution" \
-o ~/tinn.iso -b floppies/boot.flp \
-c floppies/boot.catalog $CHROOTDIR/R/cdrom/disc1
# /* -V is your CD name */
# /* -P is for some comments */
# /* -o is your image name */
# /* -b and -c should be left how it is. It's set for auto boot. These paths should not be a full path */
I then took an md5 of the iso file, burned it to disc, and got
a disc with the same md5 value.
The disc does boot, but asks for kernel floppies:
Insert disk labelled "Kernel floppy 1" and press any key...
I want to make a CD which doesn't require floppies to boot. In
diff'ing the CD against a genuine 6.0-RELEASE I find that the
boot.catalog didn't make it on the disc (apparently because there
just plain isn't one anywhere in the CHROOTDIR tree I built), but
I can't find anything by Googling that definitively points to that
being the problem. I have compared some files between my release
and 6.0-RELEASE (/boot/*boot*, /boot/defaults/loader.conf,
/boot/loader.rc, etc.), and in general, binaries are the same size,
and text files have trivial differences. But perhaps I have
overlooked some key files somewhere.
The mkisofs option "-b floppies/boot.flp" makes me squint a lot,
but my searches haven't led me to a file which seems a more likely
El Torito boot image.
I'm going to go rustle up some floppies -- I don't think I have any
around -- and see if my release at least does boot via the floppy
method. That will be valuable knowledge to have before attempting
a second "release candidate." I should make diskettes from the images
$CHROOTDIR/R/cdrom/disc1/floppies/kern1.flp and kern2.flp, yes?
In the meantime, can anyone shed light on why my CD asks for floppies
in the first place? If it is the lack of the boot.catalog file, can
I simply copy the boot.catalog from the official 6.0-RELEASE disc,
and place it in $CHROOTDIR/floppies/ as per where mkisofs was told
to find it? If it is the wrong choice of boot image with the "-b"
switch, which file should I use instead?
In case it helps,
$(ls -lR) of $CHROOTDIR is at: ftp://www.umpquanet.com/pub/make-rel-chrootdir-ls-lR.txt
$(ls -lR) of burned CD is at: ftp://www.umpquanet.com/pub/make-rel-cd-ls-lR.txt
Thank you very much!
More information about the freebsd-stable