Skip site navigation (1)Skip section navigation (2)
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>