quarta-feira, 28 de maio de 2014

Multiple Live CDs in USB drive

Create two partitions in the USB drive:
  • First: NTFS or FAT32, depending on what you want, at the end of the drive;
  • Second: FAT32 (because it supports the hidden flag), slightly larger than the sum of your ISOs, at the beginning of the drive.
$ sudo parted /dev/sde
GNU Parted 2.3
Using /dev/sde
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Model: SanDisk Cruzer Switch (scsi)
Disk /dev/sde: 32,0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 2      1049kB  3147MB  3146MB  primary  fat32        boot, hidden
 1      3147MB  32,0GB  28,9GB  primary  ntfs

Then take a look at:
The idea is to:
  • Install grub with:
    grub-install --force --no-floppy --boot-directory=/mnt/USB/boot /dev/sdx
  • Copy your images over there;
  • Create a grub.conf

I created mine with 3 ISOs:
  • ubuntu-14.04-desktop-amd64.iso
  • systemrescuecd-x86-4.2.0.iso
  • memtest86+-5.01.bin
My grub.conf ended up like this:
set default=0

menuentry "Ubuntu 14.04 64 - Try" {
 set isofile="/ubuntu-14.04-desktop-amd64.iso"
 loopback loop $isofile
 linux (loop)/casper/vmlinuz.efi iso-scan/filename=$isofile noeject noprompt file=/cdrom/preseed/ubuntu.seed boot=casper --
 initrd (loop)/casper/initrd.lz
}

menuentry "Ubuntu 14.04 64 - Install" {
 set isofile="/ubuntu-14.04-desktop-amd64.iso"
 loopback loop $isofile
 linux (loop)/casper/vmlinuz.efi iso-scan/filename=$isofile noeject noprompt file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity --
 initrd (loop)/casper/initrd.lz
}

menuentry "Ubuntu 14.04 64 - Check" {
 set isofile="/ubuntu-14.04-desktop-amd64.iso"
 loopback loop $isofile
 linux (loop)/casper/vmlinuz.efi iso-scan/filename=$isofile noeject noprompt boot=casper integrity-check --
 initrd (loop)/casper/initrd.lz
}


menuentry "SystemRescueCd 64 - Cached" {
 set isofile="/systemrescuecd-x86-4.2.0.iso"
 loopback loop $isofile
 linux (loop)/isolinux/rescue64 isoloop=$isofile docache setkmap=us
 initrd (loop)/isolinux/initram.igz
}

menuentry "SystemRescueCd 32" {
 set isofile="/systemrescuecd-x86-4.2.0.iso"
 loopback loop $isofile
 linux (loop)/isolinux/rescue32 isoloop=$isofile nomodeset
 initrd (loop)/isolinux/initram.igz
}


menuentry "Memtest 86+" {
 linux16 /memtest86+-5.01.bin
}

Sem comentários:

Enviar um comentário