How to make multi-boot USB driveHow to make multi-boot USB drive
for LiveCD iso images on EFI/UEFI and BIOSfor LiveCD iso images on EFI/UEFI and BIOS
  
  
openSUSE Asia Summit 2016openSUSE Asia Summit 2016
2016-10-012016-10-01
Kentaro Hatori@KoedoLUGKentaro Hatori@KoedoLUG
Self-IntroductionSelf-Introduction
Name : Kentaro Hatori
Nickname : hatochan
Nationality : Japan
City : Kawagoe-city, Saitama prefecture
Email : 810chan@gmail.com
Twitter : @hatochan
 How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS
 How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS
 How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS
Affiliation
Information-technology Promotion Agency, Japan
Koedo Linux Users' Group (Koedo LUG) which is one of
local Linux community in Japan
OpenStreetMap Foundation Japan
Open Knowledge Japan
Code for Japan
GNU Heaalth Japanize Team
Activity
Developing original LiveCD Linux but very slowly and
going away from the point
Koedo LUG ActivityKoedo LUG Activity
Mailing List for information exchange about Linux & open
source so�ware
Off party & study group each month
BBQ party on river beach each year
Publishing a original Linux technology magazine “Linux
User”
Comic Market summer & winter
Members:over 370(just registration mailing list)
Active members:about 20
Off Party & Study GroupOff Party & Study Group
Very very variety theme from server to embedded
including desktop
Success story and failures
Failures are very important; these tell bad know-how and
how to asking and answering
 How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS
 How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS
Today's TopicToday's Topic
How to make multi-boot USB drive forHow to make multi-boot USB drive for
LiveCD iso images on EFI/UEFI and BIOSLiveCD iso images on EFI/UEFI and BIOS
Most strong point of Grub2Most strong point of Grub2
Grub2 makes grub.conf automatically
Configure files are very complex...
A new function is booting directory a Linux distro .iso file
without extracting
Booting directly ISO fileBooting directly ISO file
You can have so many Linux distro .iso files in one device
which is CD/DVD or USB drive and boot any iso file directly
You can make original multi booting device
But you must describe each distro booting process
Structure image of booting USB drive forStructure image of booting USB drive for
booting .iso files directlybooting .iso files directly
.
├── boot
│ ├── grub
│ │ ├── fonts
│ │ │ └── unicode.pf2
│ │ ├── grub.cfg
│ │ ├── grubenv
│ │ ├── i386-pc
│ │ │ └──{.mod fils for various drivers...}
│ │ └── locale
│ │ └── ja.mo
│ └── memtest86+.bin
├── boot
├── openSUSE-13.2-KDE-Live-i686.iso
└──{.iso files of various Linux distributions}
How to make booting USB drive and CD/DVDHow to make booting USB drive and CD/DVD
for booting .iso file directolyfor booting .iso file directoly
Donwload .iso files to USB drive1.
Install grub2 to USB drive2.
describe each distro booting process (/boot
/grub/grub.cfg)
3.
Additionally make booting CD/DVD .iso image (if you
need)
4.
Making booting USB drive by grub2Making booting USB drive by grub2
sudo grub-install --root-directory=/media/user/{USB's directry name} /dev
Making booting CD/DVD image for bootingMaking booting CD/DVD image for booting
.iso files directly.iso files directly
sudo grub-mkrescue -o live_cd.iso {path to cd root}
Please remenber that is very simple but youPlease remenber that is very simple but you
have to describe each distro booting processhave to describe each distro booting process
How to get the information about describingHow to get the information about describing
grub2grub2
Grub2/ISOBoot/Examples - Community Help Wiki
Grub2/ISOBoot - Community Help Wiki
Anyway mount and extract iso file and extract
Making booting USB thumb drive from iso file by
UNetbootin
https://help.ubuntu.com/community/Grub2/ISOBoot
/Examples
https://help.ubuntu.com/community/Grub2/ISOBoot
Menu of UNetbootinMenu of UNetbootin
Example for Slax 32bitExample for Slax 32bit
menuentry 'Slax 7.0.8 32bit' {
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
set isofile='/slax-7.0.8-i486.iso'
search --no-floppy --file --set=root $isofile
loopback loop ($root)$isofile
linux (loop)/slax/boot/vmlinuz from=$isofile slax.flags=perch,xmode nopersiste
initrd (loop)/slax/boot/initrfs.img
}
Example for PorteusExample for Porteus
menuentry 'Porteus-KDE v3.1' {
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
set isofile='/Porteus-v3.1-i486.iso'
search --no-floppy --file --set=root $isofile
loopback loop ($root)$isofile
linux (loop)/boot/syslinux/vmlinuz from=$isofile noswap kmap=jp nomagic
initrd (loop)/boot/syslinux/initrd.xz
}
Example for DebianExample for Debian
menuentry 'Debian GNU/Linux 7.0.0' {
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
set isofile="/debian-live-7.0.0-i386-lxde-desktop.iso"
search --no-floppy --file --set=root $isofile
loopback loop ($root)$isofile
linux (loop)/live/vmlinuz boot=live iso-scan/filename=$isofile noprompt noejec
initrd (loop)/live/initrd.img
}
Example for UbuntuExample for Ubuntu
menuentry "Ubuntu 14.04" {
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
set isofile="/ubuntu-14.04-desktop-i386.iso"
loopback loop ($root)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt no
initrd (loop)/casper/initrd.lz
}
Example for KnoppixExample for Knoppix
menuentry "Knoppix 7.2" {
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
set isofile='/KNOPPIX_V7.2.0CD-2013-06-16-EN.iso'
search --no-floppy --file --set=root $isofile
loopback loop ($root)$isofile
linux (loop)/boot/isolinux/linux bootfrom=/dev/sdX1$isofile lang=us apm=power-
initrd (loop)/boot/isolinux/minirt.gz
}
Example for FedoraExample for Fedora
menuentry 'Fedora Live/Desktop 19' {
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
set isofile='/Fedora-Live-Desktop-x86_64-19-1.iso'
set rdfile='/isolinux/initrd0.img'
search --no-floppy --file --set=root $isofile
loopback loop $isofile
linux (loop)/isolinux/vmlinuz0 root=live:CDLABEL=Fedora-Live-Desktop-x86_64-
initrd (loop)$rdfile
}
Example for TinyCoreExample for TinyCore
menuentry 'CorePlus 6.3' {
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
set isofile="/CorePlus-current.iso"
search --no-floppy --file --set=root $isofile
loopback loop ($root)$isofile
linux (loop)/boot/vmlinuz iso=/mnt/sdX1$isofile cde quiet waitusb=5
initrd (loop)/boot/core.gz
}
Example for SystemRescueExample for SystemRescue
menuentry 'System Rescue 4.5.1 ' {
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
set isofile="/systemrescuecd-x86-4.5.1.iso"
loopback loop ($root)$isofile
linux (loop)/isolinux/rescue32 setkmap=jp isoloop=$isofile dostartx
initrd (loop)/isolinux/initram.igz
}
Example for GpartedExample for Gparted
menuentry 'Gparted Live 0.21.0-1' {
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
set isofile="/gparted-live-0.21.0-1-i586.iso"
search --no-floppy --file --set=root $isofile
loopback loop ($root)$isofile
linux (loop)/live/vmlinuz boot=live config union=aufs noswap noprompt ip=fromm
initrd (loop)/live/initrd.img
}
Example for ClonezillaExample for Clonezilla
menuentry "Clonezilla Live 2.3.2-22" {
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
set isofile="/clonezilla-live-2.3.2-22-i586.iso"
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live live-config noswap nolocales edd=on nomode
initrd (loop)/live/initrd.img
}
Mount and extract iso fileMount and extract iso file
$ mkdir /mnt/loop
$ sudo mount -t iso9660,ro openSUSE-13.2-KDE-Live-i686.iso /mnt/loop
$ cat /mnt/loop/config.isoclient
IMAGE='loop;openSUSE-13.2-livecd-kde.i686;2.8.0'
UNIONFS_CONFIG='/dev/ram1,loop,overlay'
$ cat /mnt/loop/liveboot
initrd-isoboot-suse-13.2.i686-2.1.2.gz
Example for openSUSE #1Example for openSUSE #1
menuentry 'openSUSE 13.2' {
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
set isofile='/openSUSE-13.2-KDE-Live-i686.iso'
loopback loop ($root)$isofile
linux (loop)/boot/i386/loader/linux ramdisk_size=512000 ramdisk_blocksize=
initrd (loop)/boot/i386/loader/initrd
}
Error of openSUSE BootingError of openSUSE Booting
error: no such partition.
error: disk 'loop' not found.
error: you need to load the kernel first.
Example for openSUSE #2Example for openSUSE #2
menuentry 'openSUSE 13.2' {
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
set isofile='/openSUSE-13.2-KDE-Live-i686.iso'
loopback loop ($root)$isofile
linux (loop)/openSUSE-13.2-livecd-kde-read-only.i686-2.8.0 ramdisk_size=
initrd (loop)/boot/i386/loader/initrd
}
Error of openSUSE BootingError of openSUSE Booting
error: no such partition.
error: disk 'loop' not found.
Cause of booting errorCause of booting error
It may be timeout through loop
set default=N is the default boot entry that is chosen a�er
timeout for user action
set timeout=M is the time M to wait in seconds for a user
selection before default is booted
Example for openSUSE #3Example for openSUSE #3
menuentry 'openSUSE 13.2' {
insmod part_msdos
insmod ext2
set default=5
set timeout=5
set root='hd0,msdos1'
set isofile='/openSUSE-13.2-KDE-Live-i686.iso'
loopback loop ($root)$isofile
linux (loop)/openSUSE-13.2-livecd-kde-read-only.i686-2.8.0 ramdisk_size=
initrd (loop)/boot/i386/loader/initrd
}
Now I use cheep Chromebook then I cannotNow I use cheep Chromebook then I cannot
try it !!!try it !!!
How to make EFI/UEFI GRUB2 booring USBHow to make EFI/UEFI GRUB2 booring USB
drive to boot ISO imagesdrive to boot ISO images
format USB drive (don't forget to backup!)1.
check USB drive which is the /dev/sdX device with sudo
fdisk -l or using Gparted
2.
mount USB drive at /mnt3.
use a Ubuntu flavour LiveCD distribution4.
user is default by install or livecd5.
You are logged with the first user (setted at installation or
live session default)
You are not afraid of Linux Command Interface
Source: https://ubuntuforums.org
/showthread.php?t=2276498
First Step: Format USB driveFirst Step: Format USB drive
To create a EFI firmware compatible boot drive, you need a
GPT partition table and at least one FAT32 partition. Do as
follows...
sudo apt-get install gdisk
sudo sgdisk --zap-all /dev/sdX
You probably need to remove and insert the USB drive again
at this point for the kernel to update information about it...
sudo sgdisk --new=1:0:0 --typecode=1:ef00 /dev/sdX
sudo mkfs.vfat -F32 -n GRUB2EFI /dev/sdX1
We are done with Step One, you can check modifications
with sudo parted -l or with Gparted.
Second Step: Copy files and Set directorySecond Step: Copy files and Set directory
structurestructure
Let's mount the usb drive...
sudo mount -t vfat /dev/sdX1 /mnt -o uid=1000,gid=1000,umask=022
To make life easier, I created a pack with all necessary files
for you to modify as you need. If you don't trust my files,
create yours using this page as reference. Link to Download
is: http://webativo.com/uploads/files/usb-pack_efi.zip
Extract the zip file and paste those inner files using
Command Line Interface or a file manager you like.
cd ~/Downloads/
unzip usb-pack_efi.zip
rsync -auv usb-pack_efi/ /mnt
The most important files are bootia32.efi to boot on 32bit
machines, bootx64.efi to boot on 64bit machines and
grub.cfg to setup grub to load ISOs or chainload to other
paths.
In the end, you might get a directory tree like this:
Third Step: Install GRUB2 on the driveThird Step: Install GRUB2 on the drive
sudo grub-install --removable --boot-directory=/mnt/boot --efi-directory=/mnt/EF
PS: Grub2 installation might throw some error messages,
just ignore it.
PS: If you have problems to copy and paste content on
/mnt, you can use sudo to do it
Fourth Step: Setup ISOs to be loadedFourth Step: Setup ISOs to be loaded
Put (copy) the .iso files you want to load in /mnt/iso/ and
setup grub.cfg like the existing examples...
Note that the most important variable to set is isofile. There
is lots of examples on the web about how to configure grub2
menu. Use # to comment those lines you don't want to use,
e.g. to hide a configuration of absent .iso at /iso.
Last Step: Configure firmware and TestLast Step: Configure firmware and Test
First and most important, deactivate secure boot on your
computer's firmware. Search on the web if you don't know
how.
To boot the USB drive you can set your machine firmware to
search first for the USB device (boot order). Or you can
choose what drive to boot as soon as you turn on your
computer. Each manufacturer has its own keys to do it.
Search for your machine's manual if needed.
AnywayAnyway
most important thing is...most important thing is...
Have a fun !!!Have a fun !!!

More Related Content

PDF
Getting Started on Packaging Apps with Open Build Service
PDF
Booting directly opensuse iso file by grub2 @ openSUSE Asia Summit2015
PDF
SCAP for openSUSE
PDF
Writing flexible filesystems in FUSE-Python
PDF
Год в Github bugbounty, опыт участия
PDF
Usage Note of PlayCap
PDF
Docker e postgresql
PPTX
Centos
Getting Started on Packaging Apps with Open Build Service
Booting directly opensuse iso file by grub2 @ openSUSE Asia Summit2015
SCAP for openSUSE
Writing flexible filesystems in FUSE-Python
Год в Github bugbounty, опыт участия
Usage Note of PlayCap
Docker e postgresql
Centos

What's hot (20)

PDF
Adhocr T-dose 2012
PPT
Linuxppt
ODP
AutoYast
PPTX
Odoo 13 installation on ubuntu 19.04
PDF
Dockerの準備
PPT
101 4.3 control mounting and unmounting of filesystems
PDF
Server hardening methedologies
ODP
Releasing and deploying python tools
PDF
Install Archlinux in 10 Steps (Sort of) :)
PDF
Self2013
PDF
Openwrt startup
PDF
Fosscon2013
DOCX
Run wordcount job (hadoop)
PDF
Oracle11g On Fedora14
PDF
Snort296x centos6x 2
PDF
Recipe of a linux Live CD (archived)
PPTX
Install odoo v8 the easiest way on ubuntu debian
PPTX
Build Your Own Android Tablet
PPTX
Linux mint
PDF
LinuxをインストールしてWebサーバーを立ち上げてみよう【OSC2018 Tokyo/Spring】
Adhocr T-dose 2012
Linuxppt
AutoYast
Odoo 13 installation on ubuntu 19.04
Dockerの準備
101 4.3 control mounting and unmounting of filesystems
Server hardening methedologies
Releasing and deploying python tools
Install Archlinux in 10 Steps (Sort of) :)
Self2013
Openwrt startup
Fosscon2013
Run wordcount job (hadoop)
Oracle11g On Fedora14
Snort296x centos6x 2
Recipe of a linux Live CD (archived)
Install odoo v8 the easiest way on ubuntu debian
Build Your Own Android Tablet
Linux mint
LinuxをインストールしてWebサーバーを立ち上げてみよう【OSC2018 Tokyo/Spring】
Ad

Similar to How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS (20)

ODT
Howtoinstallarchlinuxtousb final-120610172253-phpapp01
DOC
How to Install ArchLinux to a USB Flashdrive in 2012
PPTX
Fedora
ODP
Description of GRUB 2
PDF
cssl07-preparingyourbootabledrive-180816061937 (1).pdf
PDF
CSS L07 - Preparing the Installer
ODP
5. boot process
PDF
Howto Make A Linux Boot Disk
PPT
101 1.2 boot the system
PPTX
Linux booting Process
PPT
How to build and load linux to embedded system
ODP
Grub and dracut ii
DOCX
6 stages of linux boot process
PPTX
Order of boot process in Linux
PDF
Ubuntu alternate ubuntu installation
PDF
Grub2 and troubleshooting_ol7_boot_problems
PPTX
Linux booting process!!
PPT
101 1.2 boot the system
DOC
6 stages of linux boot process
PPTX
introduction to computer Linux essential.pptx
Howtoinstallarchlinuxtousb final-120610172253-phpapp01
How to Install ArchLinux to a USB Flashdrive in 2012
Fedora
Description of GRUB 2
cssl07-preparingyourbootabledrive-180816061937 (1).pdf
CSS L07 - Preparing the Installer
5. boot process
Howto Make A Linux Boot Disk
101 1.2 boot the system
Linux booting Process
How to build and load linux to embedded system
Grub and dracut ii
6 stages of linux boot process
Order of boot process in Linux
Ubuntu alternate ubuntu installation
Grub2 and troubleshooting_ol7_boot_problems
Linux booting process!!
101 1.2 boot the system
6 stages of linux boot process
introduction to computer Linux essential.pptx
Ad

More from Kentaro Hatori (16)

PDF
さくらのVPSのコミュニティ的活用 さくらの夕べ 小江戸らぐナイト 2025/06/04
PDF
地方版IoT推進ラボとCode for Japanとのミートアップを
PDF
WindowsにLinux超簡単安全インストール
PDF
ChromebookにLinuxをインストールしてみた
PDF
ディストロユーザ会と地域ユーザグループの素敵な関係
PDF
ダイソーでWiMAX用 パラボラアンテナ 作ってみた
PDF
OSGeo-Liveをハックする
PDF
中古コンデジを活用して勉強会の楽しさを伝える
PDF
ディストロの価値の作り方 at Osc2014tokyo fall
PDF
異能vationにチャレンジのお勧め
PDF
Pogoplug mobileでownCloudに挑戦してみた
PDF
Osc2013北海道 opendata trend
PDF
川越と小江戸らぐの紹介
PDF
Osc2013 tokyo spring 小江戸らぐプレゼン資料
PDF
Hatochan's Resume 20130216@Koedolug
PDF
Hatochan's Resume 20121215@koedolug
さくらのVPSのコミュニティ的活用 さくらの夕べ 小江戸らぐナイト 2025/06/04
地方版IoT推進ラボとCode for Japanとのミートアップを
WindowsにLinux超簡単安全インストール
ChromebookにLinuxをインストールしてみた
ディストロユーザ会と地域ユーザグループの素敵な関係
ダイソーでWiMAX用 パラボラアンテナ 作ってみた
OSGeo-Liveをハックする
中古コンデジを活用して勉強会の楽しさを伝える
ディストロの価値の作り方 at Osc2014tokyo fall
異能vationにチャレンジのお勧め
Pogoplug mobileでownCloudに挑戦してみた
Osc2013北海道 opendata trend
川越と小江戸らぐの紹介
Osc2013 tokyo spring 小江戸らぐプレゼン資料
Hatochan's Resume 20130216@Koedolug
Hatochan's Resume 20121215@koedolug

Recently uploaded (20)

PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PPTX
Configure Apache Mutual Authentication
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Getting started with AI Agents and Multi-Agent Systems
PPTX
Microsoft Excel 365/2024 Beginner's training
PPTX
2018-HIPAA-Renewal-Training for executives
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
CloudStack 4.21: First Look Webinar slides
PDF
STKI Israel Market Study 2025 version august
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
Two-dimensional Klein-Gordon and Sine-Gordon numerical solutions based on dee...
PPT
Geologic Time for studying geology for geologist
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
Modernising the Digital Integration Hub
DOCX
search engine optimization ppt fir known well about this
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
Final SEM Unit 1 for mit wpu at pune .pptx
Configure Apache Mutual Authentication
A review of recent deep learning applications in wood surface defect identifi...
Getting started with AI Agents and Multi-Agent Systems
Microsoft Excel 365/2024 Beginner's training
2018-HIPAA-Renewal-Training for executives
Developing a website for English-speaking practice to English as a foreign la...
CloudStack 4.21: First Look Webinar slides
STKI Israel Market Study 2025 version august
A proposed approach for plagiarism detection in Myanmar Unicode text
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Chapter 5: Probability Theory and Statistics
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Two-dimensional Klein-Gordon and Sine-Gordon numerical solutions based on dee...
Geologic Time for studying geology for geologist
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Modernising the Digital Integration Hub
search engine optimization ppt fir known well about this
Convolutional neural network based encoder-decoder for efficient real-time ob...

How to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOS

  • 1. How to make multi-boot USB driveHow to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOSfor LiveCD iso images on EFI/UEFI and BIOS       openSUSE Asia Summit 2016openSUSE Asia Summit 2016 2016-10-012016-10-01 Kentaro Hatori@KoedoLUGKentaro Hatori@KoedoLUG
  • 2. Self-IntroductionSelf-Introduction Name : Kentaro Hatori Nickname : hatochan Nationality : Japan City : Kawagoe-city, Saitama prefecture Email : 810chan@gmail.com Twitter : @hatochan
  • 6. Affiliation Information-technology Promotion Agency, Japan Koedo Linux Users' Group (Koedo LUG) which is one of local Linux community in Japan OpenStreetMap Foundation Japan Open Knowledge Japan Code for Japan GNU Heaalth Japanize Team Activity Developing original LiveCD Linux but very slowly and going away from the point
  • 7. Koedo LUG ActivityKoedo LUG Activity Mailing List for information exchange about Linux & open source so�ware Off party & study group each month BBQ party on river beach each year Publishing a original Linux technology magazine “Linux User” Comic Market summer & winter Members:over 370(just registration mailing list) Active members:about 20
  • 8. Off Party & Study GroupOff Party & Study Group Very very variety theme from server to embedded including desktop Success story and failures Failures are very important; these tell bad know-how and how to asking and answering
  • 11. Today's TopicToday's Topic How to make multi-boot USB drive forHow to make multi-boot USB drive for LiveCD iso images on EFI/UEFI and BIOSLiveCD iso images on EFI/UEFI and BIOS
  • 12. Most strong point of Grub2Most strong point of Grub2 Grub2 makes grub.conf automatically Configure files are very complex... A new function is booting directory a Linux distro .iso file without extracting
  • 13. Booting directly ISO fileBooting directly ISO file You can have so many Linux distro .iso files in one device which is CD/DVD or USB drive and boot any iso file directly You can make original multi booting device But you must describe each distro booting process
  • 14. Structure image of booting USB drive forStructure image of booting USB drive for booting .iso files directlybooting .iso files directly . ├── boot │ ├── grub │ │ ├── fonts │ │ │ └── unicode.pf2 │ │ ├── grub.cfg │ │ ├── grubenv │ │ ├── i386-pc │ │ │ └──{.mod fils for various drivers...} │ │ └── locale │ │ └── ja.mo │ └── memtest86+.bin ├── boot ├── openSUSE-13.2-KDE-Live-i686.iso └──{.iso files of various Linux distributions}
  • 15. How to make booting USB drive and CD/DVDHow to make booting USB drive and CD/DVD for booting .iso file directolyfor booting .iso file directoly Donwload .iso files to USB drive1. Install grub2 to USB drive2. describe each distro booting process (/boot /grub/grub.cfg) 3. Additionally make booting CD/DVD .iso image (if you need) 4.
  • 16. Making booting USB drive by grub2Making booting USB drive by grub2 sudo grub-install --root-directory=/media/user/{USB's directry name} /dev
  • 17. Making booting CD/DVD image for bootingMaking booting CD/DVD image for booting .iso files directly.iso files directly sudo grub-mkrescue -o live_cd.iso {path to cd root}
  • 18. Please remenber that is very simple but youPlease remenber that is very simple but you have to describe each distro booting processhave to describe each distro booting process
  • 19. How to get the information about describingHow to get the information about describing grub2grub2 Grub2/ISOBoot/Examples - Community Help Wiki Grub2/ISOBoot - Community Help Wiki Anyway mount and extract iso file and extract Making booting USB thumb drive from iso file by UNetbootin https://help.ubuntu.com/community/Grub2/ISOBoot /Examples https://help.ubuntu.com/community/Grub2/ISOBoot
  • 20. Menu of UNetbootinMenu of UNetbootin
  • 21. Example for Slax 32bitExample for Slax 32bit menuentry 'Slax 7.0.8 32bit' { insmod part_msdos insmod ext2 set root='hd0,msdos1' set isofile='/slax-7.0.8-i486.iso' search --no-floppy --file --set=root $isofile loopback loop ($root)$isofile linux (loop)/slax/boot/vmlinuz from=$isofile slax.flags=perch,xmode nopersiste initrd (loop)/slax/boot/initrfs.img }
  • 22. Example for PorteusExample for Porteus menuentry 'Porteus-KDE v3.1' { insmod part_msdos insmod ext2 set root='hd0,msdos1' set isofile='/Porteus-v3.1-i486.iso' search --no-floppy --file --set=root $isofile loopback loop ($root)$isofile linux (loop)/boot/syslinux/vmlinuz from=$isofile noswap kmap=jp nomagic initrd (loop)/boot/syslinux/initrd.xz }
  • 23. Example for DebianExample for Debian menuentry 'Debian GNU/Linux 7.0.0' { insmod part_msdos insmod ext2 set root='hd0,msdos1' set isofile="/debian-live-7.0.0-i386-lxde-desktop.iso" search --no-floppy --file --set=root $isofile loopback loop ($root)$isofile linux (loop)/live/vmlinuz boot=live iso-scan/filename=$isofile noprompt noejec initrd (loop)/live/initrd.img }
  • 24. Example for UbuntuExample for Ubuntu menuentry "Ubuntu 14.04" { insmod part_msdos insmod ext2 set root='hd0,msdos1' set isofile="/ubuntu-14.04-desktop-i386.iso" loopback loop ($root)$isofile linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt no initrd (loop)/casper/initrd.lz }
  • 25. Example for KnoppixExample for Knoppix menuentry "Knoppix 7.2" { insmod part_msdos insmod ext2 set root='hd0,msdos1' set isofile='/KNOPPIX_V7.2.0CD-2013-06-16-EN.iso' search --no-floppy --file --set=root $isofile loopback loop ($root)$isofile linux (loop)/boot/isolinux/linux bootfrom=/dev/sdX1$isofile lang=us apm=power- initrd (loop)/boot/isolinux/minirt.gz }
  • 26. Example for FedoraExample for Fedora menuentry 'Fedora Live/Desktop 19' { insmod part_msdos insmod ext2 set root='hd0,msdos1' set isofile='/Fedora-Live-Desktop-x86_64-19-1.iso' set rdfile='/isolinux/initrd0.img' search --no-floppy --file --set=root $isofile loopback loop $isofile linux (loop)/isolinux/vmlinuz0 root=live:CDLABEL=Fedora-Live-Desktop-x86_64- initrd (loop)$rdfile }
  • 27. Example for TinyCoreExample for TinyCore menuentry 'CorePlus 6.3' { insmod part_msdos insmod ext2 set root='hd0,msdos1' set isofile="/CorePlus-current.iso" search --no-floppy --file --set=root $isofile loopback loop ($root)$isofile linux (loop)/boot/vmlinuz iso=/mnt/sdX1$isofile cde quiet waitusb=5 initrd (loop)/boot/core.gz }
  • 28. Example for SystemRescueExample for SystemRescue menuentry 'System Rescue 4.5.1 ' { insmod part_msdos insmod ext2 set root='hd0,msdos1' set isofile="/systemrescuecd-x86-4.5.1.iso" loopback loop ($root)$isofile linux (loop)/isolinux/rescue32 setkmap=jp isoloop=$isofile dostartx initrd (loop)/isolinux/initram.igz }
  • 29. Example for GpartedExample for Gparted menuentry 'Gparted Live 0.21.0-1' { insmod part_msdos insmod ext2 set root='hd0,msdos1' set isofile="/gparted-live-0.21.0-1-i586.iso" search --no-floppy --file --set=root $isofile loopback loop ($root)$isofile linux (loop)/live/vmlinuz boot=live config union=aufs noswap noprompt ip=fromm initrd (loop)/live/initrd.img }
  • 30. Example for ClonezillaExample for Clonezilla menuentry "Clonezilla Live 2.3.2-22" { insmod part_msdos insmod ext2 set root='hd0,msdos1' set isofile="/clonezilla-live-2.3.2-22-i586.iso" loopback loop $isofile linux (loop)/live/vmlinuz boot=live live-config noswap nolocales edd=on nomode initrd (loop)/live/initrd.img }
  • 31. Mount and extract iso fileMount and extract iso file $ mkdir /mnt/loop $ sudo mount -t iso9660,ro openSUSE-13.2-KDE-Live-i686.iso /mnt/loop $ cat /mnt/loop/config.isoclient IMAGE='loop;openSUSE-13.2-livecd-kde.i686;2.8.0' UNIONFS_CONFIG='/dev/ram1,loop,overlay' $ cat /mnt/loop/liveboot initrd-isoboot-suse-13.2.i686-2.1.2.gz
  • 32. Example for openSUSE #1Example for openSUSE #1 menuentry 'openSUSE 13.2' { insmod part_msdos insmod ext2 set root='hd0,msdos1' set isofile='/openSUSE-13.2-KDE-Live-i686.iso' loopback loop ($root)$isofile linux (loop)/boot/i386/loader/linux ramdisk_size=512000 ramdisk_blocksize= initrd (loop)/boot/i386/loader/initrd }
  • 33. Error of openSUSE BootingError of openSUSE Booting error: no such partition. error: disk 'loop' not found. error: you need to load the kernel first.
  • 34. Example for openSUSE #2Example for openSUSE #2 menuentry 'openSUSE 13.2' { insmod part_msdos insmod ext2 set root='hd0,msdos1' set isofile='/openSUSE-13.2-KDE-Live-i686.iso' loopback loop ($root)$isofile linux (loop)/openSUSE-13.2-livecd-kde-read-only.i686-2.8.0 ramdisk_size= initrd (loop)/boot/i386/loader/initrd }
  • 35. Error of openSUSE BootingError of openSUSE Booting error: no such partition. error: disk 'loop' not found.
  • 36. Cause of booting errorCause of booting error It may be timeout through loop set default=N is the default boot entry that is chosen a�er timeout for user action set timeout=M is the time M to wait in seconds for a user selection before default is booted
  • 37. Example for openSUSE #3Example for openSUSE #3 menuentry 'openSUSE 13.2' { insmod part_msdos insmod ext2 set default=5 set timeout=5 set root='hd0,msdos1' set isofile='/openSUSE-13.2-KDE-Live-i686.iso' loopback loop ($root)$isofile linux (loop)/openSUSE-13.2-livecd-kde-read-only.i686-2.8.0 ramdisk_size= initrd (loop)/boot/i386/loader/initrd }
  • 38. Now I use cheep Chromebook then I cannotNow I use cheep Chromebook then I cannot try it !!!try it !!!
  • 39. How to make EFI/UEFI GRUB2 booring USBHow to make EFI/UEFI GRUB2 booring USB drive to boot ISO imagesdrive to boot ISO images format USB drive (don't forget to backup!)1. check USB drive which is the /dev/sdX device with sudo fdisk -l or using Gparted 2. mount USB drive at /mnt3. use a Ubuntu flavour LiveCD distribution4. user is default by install or livecd5. You are logged with the first user (setted at installation or live session default) You are not afraid of Linux Command Interface Source: https://ubuntuforums.org /showthread.php?t=2276498
  • 40. First Step: Format USB driveFirst Step: Format USB drive To create a EFI firmware compatible boot drive, you need a GPT partition table and at least one FAT32 partition. Do as follows... sudo apt-get install gdisk sudo sgdisk --zap-all /dev/sdX You probably need to remove and insert the USB drive again at this point for the kernel to update information about it... sudo sgdisk --new=1:0:0 --typecode=1:ef00 /dev/sdX sudo mkfs.vfat -F32 -n GRUB2EFI /dev/sdX1 We are done with Step One, you can check modifications with sudo parted -l or with Gparted.
  • 41. Second Step: Copy files and Set directorySecond Step: Copy files and Set directory structurestructure Let's mount the usb drive... sudo mount -t vfat /dev/sdX1 /mnt -o uid=1000,gid=1000,umask=022 To make life easier, I created a pack with all necessary files for you to modify as you need. If you don't trust my files, create yours using this page as reference. Link to Download is: http://webativo.com/uploads/files/usb-pack_efi.zip
  • 42. Extract the zip file and paste those inner files using Command Line Interface or a file manager you like. cd ~/Downloads/ unzip usb-pack_efi.zip rsync -auv usb-pack_efi/ /mnt The most important files are bootia32.efi to boot on 32bit machines, bootx64.efi to boot on 64bit machines and grub.cfg to setup grub to load ISOs or chainload to other paths. In the end, you might get a directory tree like this:
  • 43. Third Step: Install GRUB2 on the driveThird Step: Install GRUB2 on the drive sudo grub-install --removable --boot-directory=/mnt/boot --efi-directory=/mnt/EF PS: Grub2 installation might throw some error messages, just ignore it. PS: If you have problems to copy and paste content on /mnt, you can use sudo to do it
  • 44. Fourth Step: Setup ISOs to be loadedFourth Step: Setup ISOs to be loaded Put (copy) the .iso files you want to load in /mnt/iso/ and setup grub.cfg like the existing examples... Note that the most important variable to set is isofile. There is lots of examples on the web about how to configure grub2 menu. Use # to comment those lines you don't want to use, e.g. to hide a configuration of absent .iso at /iso.
  • 45. Last Step: Configure firmware and TestLast Step: Configure firmware and Test First and most important, deactivate secure boot on your computer's firmware. Search on the web if you don't know how. To boot the USB drive you can set your machine firmware to search first for the USB device (boot order). Or you can choose what drive to boot as soon as you turn on your computer. Each manufacturer has its own keys to do it. Search for your machine's manual if needed.
  • 46. AnywayAnyway most important thing is...most important thing is...
  • 47. Have a fun !!!Have a fun !!!