Wednesday, August 7, 2013

Bootable USB stick with multiple images



Reference: http://www.pendrivelinux.com/boot-multiple-iso-from-usb-via-grub2-using-linux/

1. Partition the stick and install grub2 on it. Create 2 partitions: a 40M FAT32 partition for GRUB, and an ext2 partition (want ext2 to support larger images, just in case)

2. Label the first partition MULTIBOOT, the second partition ISOS

3. Install GRUB2 onto the MULTIBOOT partition
 grub2-install --no-floppy --boot-directory=/var/run/media/myrosia/MULTIBOOT/boot /dev/sdb

4. Copy memdisk image onto the same directory
cp /usr/share/syslinux/memdisk /var/run/media/myrosia/MULTIBOOT/

5. Add the following menu file into MULTIBOOT/boot/grub2/grub.cfg
(note: I now maintain this  file in develop/multiboot)


set timeout=10
set default=0

menuentry "openSUSE 13.1 Install 64 bit from ISO" {
  set arch=x86_64
  set isofile=/isos/openSUSE-13.1-DVD-$arch.iso
  set root=(hd0,2)
  set rootdevice=/dev/sdb2
  loopback loop $isofile
  linux (loop)/boot/$arch/loader/linux install=hd:$isofile
  initrd (loop)/boot/$arch/loader/initrd
}


menuentry "openSUSE 13.1 LiveKDE 64 bit from ISO" {
  set root=(hd0,2)
  set isofile=/isos/openSUSE-13.1-KDE-Live-x86_64.iso
  set arch=x86_64
  set rootdevice=/dev/sdb2
  loopback loop $isofile
  linux (loop)/boot/$arch/loader/linux isofrom=$rootdevice:$isofile isofrom_device=$rootdevice isofrom_system=$isofile
  initrd (loop)/boot/$arch/loader/initrd
}


menuentry "OpenSuse 13.1 Network Install 64bit from ISO" {
   linux16 /memdisk iso
   initrd16 (hd0,2)/isos/openSUSE-13.1-NET-x86_64.iso
 }


menuentry "OpenSuse 13.1 Network Install 32bit from ISO" {
   linux16 /memdisk iso
   initrd16 (hd0,2)/isos/openSUSE-13.1-NET-i586.iso
 }


menuentry "EEEPC install boot" {
  linux (hd0,2)/kernels/vmlinuz-eeepc901 vga=normal quiet root=/dev/ram0 rw acpi=on
  initrd (hd0,2)/ramdisks/initrd_eeepc_901.gz
}




6. Now copy the images onto DATA, into appropriate ramdisks/isos/kernels directories. (NOTE: creation of bootable live USB suse images to be documented still)
From OpenSuse 12.2  forward, no need for special USB image. Just copy the one downloaded from the web into the isos directory. This will also work with install, but not documented yet. See this FAQ
http://forums.opensuse.org/english/get-technical-help-here/how-faq-forums/unreviewed-how-faq/484223-how-boot-opensuse-dvd-hard-disk-grub2.html

No comments: