Date: Sun, 21 Jul 2013 16:38:13 +0000 From: "Teske, Devin" <Devin.Teske@fisglobal.com> To: Alexey Dokuchaev <danfe@FreeBSD.org> Cc: "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, Glen Barber <gjb@FreeBSD.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>, Devin Teske <dteske@freebsd.org> Subject: Re: svn commit: r253513 - head/release Message-ID: <13CA24D6AB415D428143D44749F57D7201FD2CDB@ltcfiswmsgmb21> In-Reply-To: <20130721133915.GA36573@FreeBSD.org> References: <201307210523.r6L5NYqh084679@svn.freebsd.org> <20130721133915.GA36573@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jul 21, 2013, at 6:39 AM, Alexey Dokuchaev wrote: > On Sun, Jul 21, 2013 at 05:23:34AM +0000, Glen Barber wrote: >> New Revision: 253513 >> URL: http://svnweb.freebsd.org/changeset/base/253513 >>=20 >> Log: >> Create memstick images with the '.img' filename extension. >>=20 >> Requested by: many >> [...] >=20 > Is there any work being done to merge the .iso and .img into single, > hybrid bootable image (c.g. Haiku)? I wonder how Haiku does it. I use ISOLINUX (part of the SYSLINUX family) as my boot loader. The ISO9660 layer boots ISOLINUX and then chain-loads the mfsroot, displayi= ng my beastie Forth menu. Then from the mfsroot boot environment, sysinstall runs /install.cfg: http://druidbsd.cvs.sourceforge.net/viewvc/druidbsd/druidbsd/druid/dep/free= bsd/mfsroot/standard/src/install.cfg?revision=3D1.1&view=3Dmarkup which runs a small script: http://druidbsd.cvs.sourceforge.net/viewvc/druidbsd/druidbsd/druid/dep/free= bsd/mfsroot/standard/src/fis/load_menu?revision=3D1.1&view=3Dmarkup Which looks for /dev/iso9660/VOL_ID Where VOL_ID is set by the mkisofs(8) `-V VOL_ID' flag when producing the = boot media. See "BOOT_VOLID" in my GNUMakefile that calls mkisofs(8): http://druidbsd.cvs.sourceforge.net/viewvc/druidbsd/druidbsd/druid/GNUmakef= ile.in?revision=3D1.7&view=3Dmarkup Now here's the trick... It doesn't matter whether you burned the ISO to a CD/DVD or you imaged it t= o a USB Thumb... ... phk's GEOM layer picks up and creates /dev/iso9660/VOL_ID regardless of= what medium you booted from (so-long as it was an ISO that was post-proces= sed with the ISOLINUX utility "isohybrid"). So in my hybridized installer, I have a bootstrap script that runs before s= ysinstall that mounts /dev/iso9660/VOL_ID to /cdrom and I end up using /cdr= om always. That's the very basic *gist* of how I achieve hybrid booting for FreeBSD. O= f course... that's only the *start*. Of course, to get sysinstall to instal= l from /cdrom, I had to code a new media access module called "mediaSetNull= FS": http://druidbsd.cvs.sourceforge.net/viewvc/druidbsd/druidbsd/druid/dep/free= bsd/patches/local_patches/usr.sbin%3A%3Asysinstall%3A%3Anullfs.c.patch?view= =3Dmarkup Whose job is (when you configure your installation to use this access metho= d) is to take the path given and do a mount_nullfs from point-A to point-B = *prior* to doing the chroot into the formatted disk (here, like all media a= ccess methods, the point-B is "/dist" within the chroot environment). Of course... moving forward... we would need to re-apply logistics to bsdin= stall to work with ISOLINUX and isohybrid images -- though I gather it woul= d be even easier than making sysinstall work. > I've asked this question before, > but I cannot recall now what was the outcome if it... >=20 Did I answer you last time? Just curious. I've been doing this for a while. --=20 Devin _____________ The information contained in this message is proprietary and/or confidentia= l. If you are not the intended recipient, please: (i) delete the message an= d all copies; (ii) do not disclose, distribute or use the message in any ma= nner; and (iii) notify the sender immediately. In addition, please be aware= that any message addressed to our domain is subject to archiving and revie= w by persons other than the intended recipient. Thank you.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?13CA24D6AB415D428143D44749F57D7201FD2CDB>