How do I put Multiple live distro's on a USB flash drive.
tux
tux at pantherfish.com
Tue Feb 2 00:21:55 UTC 2010
On Sat, Jan 30, 2010 at 8:27 AM, tux<tux at pantherfish.com> wrote:
>> > I have an 8GB flash drive that I would like to put multiple Fedora Live
>> > CD's on. (KDE,Gnome,LXDE,XFCE, FEL, Games and Edu,Third party spins, etc. )
>> >
>> > Does anyone have any advice on how to do this
On 02/01/2010 09:03 AM, Don Quixote wrote:
> I think it should be straightforward to do this, but you'll need to do
> it carefully and methodically. I do something like this with my
> VirtualBox disk images. I put them in physical partitions for
> efficiency, but sometimes copy them out to regular, uncompressed files
> then convert them to sparse images then compress them with bzip2 for
> backup. I works real well, but is tedious and error-prone. I need to
> automate it or Imma gonna overwrite my /home with some WinXP disk
> image.
>
> Anyway what you need is a Master Boot Record on the first 512-byte
> sector of your USB stick. Make one small ext2 primary partition for
> /boot, then a logical partition for each of your live CDs.
>
> The MBR only allows four primary partitions, but only /boot needs to
> be a primary. So you can make one primary, then one extended. Within
> the extended you can make as many logical partitions as you like.
>
> The primary and extended partitions are stored directly in the MBR,
> towards the end of that first sector. The extended is divided up into
> logical partitions, with their positions and sizes specified in a
> linked list that is also inside the extended. I don't know the
> details but I would imagine each partition link element is just before
> each logical partition.
>
> Use "ls -s" to get the size of each of your LiveCD images in
> kilobytes. If they are compressed, decompress them first.
>
> Multiply the size in kilobytes by two to get the size in 512-byte sectors.
>
> When you partition your stick, use GNU parted - NOT GParted! Not the
> GUI partitioner, just parted, the command-line tool. Set the size
> unit to sectors. Use parted's help to get the exact syntax but I
> think you just use:
>
> unit s
>
> Create a /boot partition as I said with ext2. I don't think it needs
> to be very big - a megabyte or two would be plenty. It won't contain
> a kernel as /boots usually do.
>
> Create a logical partition for each of your LiveCDs. Make each
> partition EXACTLY the same number of sectors as the LiveCD image that
> will go into it. It's OK if the partition is bigger - it just wastes
> some space. Make sure it's not smaller. It's really best to be
> careful and methodical and get the size exactly the same.
>
> You'll need to figure out the /dev entry for your USB stick. Chances
> are that it is /dev/sdb though - the second SCSI drive. USB Mass
> Storage is built on the SCSI Architectural Model. /dev/sda would be
> your boot disk if you're using SATA, SAS or Parallel SCSI. If your
> boot disk is /dev/hda, then it is Parallel IDE. If that's the case
> then your USB stick is probably /dev/sda not sdb.
>
> *** Get It Right Or You'll Be Sorry! ***
>
> If your stick is /dev/sdb, then the stick's /boot partition is
> /dev/sdb1. Your LiveCD partitions are numbered starting with 5,
> because they are logical partitions - /dev/sdb5, /dev/sdb6, /dev/sdb7
> and so on. Partition numbers 1 through 4 are reserved for primary and
> extended partitions.
>
> Now use the dd command to copy a LiveCD image into a partition:
>
> $ dd if=FedoraLive.iso of=/dev/sdb5 bs=512
>
> That copies the FedoraLive.iso input file to the first logical
> partition as the output file with a block size of 512 bytes. Most
> storage devices have physical sector sizes of 512 bytes, so you are
> required to read or write them in integral multiples of 512.
>
> There's a couple pieces remaining though that I can't explain for you,
> but I can give you some hints:
>
> It*should* work to set up grub to chainload each of the LiveCD
> partitions. That should work just the same as if you were booting MS
> Windows. Grub would load the first sector out of the desired
> partition then run the boot loader found therein.
>
> What I don't have a clue about though is that booting a CD uses a
> package called ISOLINUX. You don't want ISOLINUX to boot a USB stick.
> There is another package for that, but you'll have to dig it up
> somehow as I don't remember. Basically what you need to do is replace
> the ISOLINUX on each partition with whatever the equivalent is for a
> USB stick.
>
> If I recall correctly the way ISOLINUX works is that it finds a Linux
> filesystem image in a single file on the CD, then it loads it as if it
> were a filesystem on a real hard disk. You should be able to use that
> same image file, but you will have to use some other software than
> ISOLINUX to load it.
>
> Hope That Help!
>
> Don Quixote
> -- Don Quixote de la Mancha quixote at dulcineatech.com
> http://www.dulcineatech.com Dulcinea Technologies Corporation: Software
> of Elegance and Beauty.
I have been experimenting with grub4dos. I have a single fat32 partition
and have been able to successfully boot gparted live 4.5-2 by putting
the files from the cd image into the /gparted folder on the usb drive
and creating a /menu.lst file with the following entry:
title Gparted 0.4.5-2 Partition Editor
root (hd0,0)
kernel /gparted/vmlinuz1 live-media-path=/gparted bootfrom=/dev/sd
boot=live union=aufs noswap noprompt vga=789 ip=frommedia
initrd /gparted/initrd1.img
On the 64 bit KDE live cd there is this entry the /isolinux/isolinux.cfg
file:
label linux0
menu label Boot
kernel vmlinuz0
append initrd=initrd0.img root=live:CDLABEL=Fedora-12-x86_64-Live-KDE
rootfstype=auto ro liveimg quiet rhgb rd_NO_LUKS rd_NO_MD noiswmd
How would I convert this to work with grub4dos?
Is it possible to copy the vmlinuz0, initrd0.img the osmin.img and
splashfs.img to a folder on the drive and create a grub entry for it?
I would like to create a separate folder for each spin and add an
appropriate grub entry for each one.
Thanks
Tux
More information about the users
mailing list