[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Installing several OSes from a single flash drive




I've been tinkering with the idea of installing different operating systems, not necessarily Linux, from the same bootable flash drive. What I came up with was an extension of Miron's guide[1] on making a writable bootable flash installer. It turns out that the syntax for the syslinux.cfg file is the same as is used with PXELINUX. Therefore, the recipies I already have for PXE booting can be easily translated to flash booting. Here's an example syslinux.cfg file from my preliminary writeup[2]:

===begin quote===
ui menu.c32
prompt 0
menu title My Flash Drive Installer
timeout 0

label amd64
menu label Install Debian 7.3.0 (Wheezy) amd64
kernel amd64/linux
append initrd=amd64/initrd.gz auto file=/hd-media/preseed.cfg lang=en_US.UTF-8 locale=en_US
quiet

label i386
menu label Install Debian 7.3.0 (Wheezy) i386
kernel i386/linux
append initrd=i386/initrd.gz auto file=/hd-media/preseed.cfg lang=en_US.UTF-8 locale=en_US
quiet

label memtest
menu label Memtest86+ 5.01
kernel memtest86+-5.01
===end quote===

Adding to this, I like to have a skeleton home directory on the flash drive with things set up the way I like them. Because SYSLINUX works only on FAT filesystems, I use EXTLINUX to make a bootable ext2 or ext3 filesystem so the permissions aren't mangled. This approach works just the same as above except you put the config in extlinux.conf instead of syslinux.cfg. There are also some differences in the invocation of EXTLINUX compared to SYSLINUX.

This tinkering exposed a problem with Debian's hd-install boot images. As is pointed out in Miron's article, an hd-install image will check the boot media for a Debian ISO from which to draw packages. There is a flaw in the implementation in that the installer will mount EVERY ISO it finds to the same mount point. If you try to include seperate ISOs for amd64 and i386, you can't tell which ISO will actually be visible to the installer. The first symptom of this is that the installer complainst that it cannot find any suitable kernel packages.

Would someone please point me to the section of code that is responsible for mounting the ISOs so I can fix this? Mounting every ISO on the flash drive shouldn't be bad as long as the installer can check each of them in turn.

I suppose another solution would be to have an ISO composed of the contents of both the amd64 CD and i386 CD. Does anyone have any advice on generating such an ISO?


[1] http://hyper.to/blog/link/debian-installer-on-a-usb-key
[2] http://661.org/articles/flashinstall.html

--
David Griffith
dave@661.org


Reply to: