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: --- snip *default host=cvsup4.FreeBSD.org *default base=/var/db *default prefix=/home/ncvs *default release=cvs *default delete use-rel-suffix *default compress src-all cvsroot-all --- snip 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 without errors. The 'make release' was done thus: export NODOC=1 export NOPORTS=1 cd /usr/src/release 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: cd /usr/tmp tar cf CHROOTDIR.tar CHROOTDIR and un-tarred on my burner-equipped machine: cd /work/ tar xpf ~/CHROOTDIR.tar Finally, I made an ISO image: cd CHROOTDIR export CHROOTDIR="." 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. So.... 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! Jim
Rodney W. Grimes
2006-Jan-24 18:07 UTC
How to get custom release CD to boot without floppies?
...> Finally, I made an ISO image: > > cd CHROOTDIR > export CHROOTDIR="." > 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 */Big concern here is that the -b and -c are NOT part of the isoimage burn requested. This is most likely your problem, mkisofs well actually create and write the boot.catalog file, and I am almost certain that it must appear on the cdrom at that same relative location (ie, the arg to mkisofs should almost always be . ) -- Rod Grimes - KD7CAX @ CN85sl - (RWG25) rgrimes@gndrsh.dnsmgr.net