How to Make a Bootable Flash Drive using ISObooter

How to do things, solutions, recipes, tutorials
Post Reply
Message
Author
User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

How to Make a Bootable Flash Drive using ISObooter

#1 Post by rcrsn51 »

This article was originally about using GRUB2 to boot various Linuxes directly out of their ISO files. It was a way to test distros without having to burn their CDs. However, it only worked with Ubuntu and its variants. It didn't work at all with Puppy.

The new ISObooter project removes this limitation. It can boot most Linuxes and all recent Puppies.

Update: See Page 12 for a better way to keep your save file/folder on the flash drive.

Update: See Page 9 for a way to create ISObooter flash drives from Windows. Read the instructions on Page 5 for making an ISObooter flash drive from another Linux.

-------------------------------------

ISObooter is a procedure for booting many Linuxes, including Puppy, directly from their ISO files. It is based on Scooby's work here.

1. Run Gparted and format your USB drive as FAT32. This is essential to ensure that the ISO files are contiguous.

2. Set the "Boot" flag on the FAT32 partition.

3. If you have a large drive, you may want to make two or three partitions to organize your ISOs. But do NOT make a fourth partition! It is used by the ISObooter system. Also, read here.

4. Download the attachment isobooter.tar.gz and extract it. It contains a single clickable script named isobooter.

5. Copy this file onto your USB drive.

6. Click the isobooter icon. You will be asked the question

Code: Select all

Do you want to make Drive sdx bootable? [y/n]
Check that sdx is indeed your USB drive and answer "y". This installs Grub4Dos.

7. Add some ISO files to your drive. You can copy them from other locations or download them directly from the web.

Hint: After putting an ISO on the drive, open a terminal window and type: sync. This helps to prevent fragmentation.

8. When done, click the isobooter icon again. Answer "n" to the first question.

9. The next question is

Code: Select all

Choose a partition for Puppy savefiles [1,2,3]
For a basic one-partition setup, choose 1.

10. You have two choices for setting up each ISO.

Code: Select all

Do you want to boot xxx.iso from its splash screen? [y/n]
a. For non-Puppies like Ubuntu, answer "y". This simulates booting from a physical burned disc.
b. For a Puppy, answering "n" will make it boot like a frugal install. This is the preferred choice.

Hint: If you answer "y" or "n", the ISO files are processed individually. If you use "Y" or "N", all subsequent files are automatically processed the same way.

11. Finally, ISObooter checks the collection of ISO files for fragmentation and reports if any of them are unbootable.

12. You're done! Check out the new menu.lst file. Then boot off the USB drive.

---------------------------

If you are storing ISOs in several partitions, run ISObooter in each one.

There are two ways to make a second partition bootable.
a. Move the file grldr into it. Grub4Dos will boot the partition containing this file.
b. In your main partition, open its menu.lst in a text editor. Note the final entry.

Code: Select all

title More ISOs (see the instructions)
configfile (hd0,x)/menu.lst
commandline
Change (hd0,x) to match the second partition. Note that the GRUB number is one less than the partition number. For example, (hd0,1) would point to partition #2.

-----------------------------------

Having a spare FAT32 partition on your USB drive can be handy. If the ISO files in your main partition become dis-contiguous, just copy them to the spare partition. Make it bootable. Then re-format the first partition.

-------------------------------------

ISObooter will boot many non-Puppy ISO's such as Ubuntu. But if you want persistent storage, there is some extra setup.

1. Make a separate ext4 partition on the flash drive.

2. Using Gparted's "Label" feature, name the partition "casper-rw".

3. Do your ISObooter setup and edit the menu.lst.

4. Modify the Ubuntu entry as follows, inserting the appropriate ISO filename:

Code: Select all

title Ubuntu 10.10 Desktop ISO
find --set-root /ubuntu.iso
map /ubuntu.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz boot=casper iso-scan/filename=/ubuntu.iso noeject noprompt splash persistent --
initrd /casper/initrd.lz
--------------------------
Attachments
isobooter.tar.gz
Updated 2017-01-22
Lets you choose a partition for savefiles
(1011 Bytes) Downloaded 5452 times
Last edited by rcrsn51 on Sun 29 Sep 2019, 13:19, edited 95 times in total.
nooby
Posts: 10369
Joined: Sun 29 Jun 2008, 19:05
Location: SwedenEurope

#2 Post by nooby »

Wow, awesome, Thanks indeed! Very interesting. I did a test ASAP :)

Friendly smile from Nooby. Check out the typo in --nofloppy should be --no-floppy
grub-install --force --no-floppy --root-directory=/mnt/sdb1 /dev/sdb

Edit again
Jay great success. I did as you told me and it worked and I booted the USB 2GB Kingston up. I had placed a LinuxMint variety there named Peppermint and I write from it now. Fan runs wild so not sure how good peppermint is on being on Acer D250 mall Atom N270 maybe demanding using only 1GB RAM.

Edit again later. Sadly it suddenly refused to boot the iso on the usb memory.
Maybe I changed something but after reinstalling it has booted several times so maybe some glitch??? But now to my important question

How do I get it to boot isos on NTFS HDD from the usb?
I want to boot from my HDD ntfs hdd. So how can I tell the grub2 to look for the iso on sda3 instead of just loop as it says now?
I use these codes but none of them show up except the first one. Very odd due to them look normal to me.
menuentry "PepperMint 10 Gnome ISO" {
loopback loop /Peppermint-Ice-10012010.iso
linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=/Peppermint-Ice-10012010.iso noeject noprompt splash --
initrd (loop)/casper/initrd.lz
}

menuentry "lubuntu 10.10 ISO" {
set isofile="/lubuntu-10.10.iso
loopback loop (hd0,3)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
initrd (loop)/casper/initrd.lz
}

menuentry "lubuntu 10.10" {
loopback loop (hd0,3)/lubuntu-10.10.iso
linux (loop)/casper/vmlinuz isofrom=/dev/sda3/lubuntu-10.10.iso root=/dev/sda3 boot=casper quiet splash noprompt
initrd (loop)/casper/initrd.lz
}

menuentry "lubuntu-10.10.iso (ISO = lubuntu-10.10.iso)" {
loopback loop (hd0,3)/lubuntu-10.10.iso
linux (loop)/lubuntu/linuz findiso=/lubuntu-10.10.iso boot=live quiet vga=791 noeject noprompt
initrd (loop)/lubuntu/initrd.gz
}
Peppermint is seen and boot but none of those below or yours with Ubuntu and TCL show up so could it be something with LfCF or something like that odd going on?

Anyway. You are a Linux Master in my eyes. A Guru something. Friendly smile.
I use Google Search on Puppy Forum
not an ideal solution though
nooby
Posts: 10369
Joined: Sun 29 Jun 2008, 19:05
Location: SwedenEurope

#3 Post by nooby »

Some progress but set backs too.

I boot up Peppermint linux as iso on the ext2 USB with the help of rcrsn51's pet based on pendrivelinux ways to do it.

And if it is booted up from the usb flash then it allow you to access the NTFS HDD but if you boot up from the USB but from the iso on the HDD then the HDD get owned by root and Ubuntu don't allow you to use filemanager to access what is owned by root. That is how I get it.

Maybe one can do gksu or some other variety but I know such too little.

Anyway I went about it like this. I used puppy and mounted the Lubuntu 10.10 iso and dragged the directories to root/mnt/home like casper and all the others. one of them are invisible to look out for the one with a .disks or some similar name. and then I asked on Peppermint forum how they do it and a friendly guy there Eric he described it and it worked right away.

menuentry "lubuntu ISO on /dev/sda3" --class ubuntu_iso {
loopback loop (hd1,3)/lubuntu/lubuntu-10.10.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/lubuntu/lubuntu-10.10.iso noprompt
initrd (loop)/casper/initrd.gz
}

The thing that made it possible was that I used (hd1,3) instead of (hd0,3)

The very bad thing is that it take away the partition that it boots from.

Unless you can tell us how to allow filemanager to access it. It is not even visible while if you boot from an iso on the USB then you can play music and see pictures and read texts on your hdd.

I mean is that not odd? why do they do such things. Okay I am a true noob in that sense that I ahve no idea how one get access but I would not want to be a new newbie wanting to show every body I knew and then have to admit that I fail to make use of the 250GB big HDD ever due to some Dev wanting to protect me from it.

Edit another success story. I am editing from WattOS on the NTFS HDD and using the same code as for Lubuntu. Thanks to Eric on Peppermint forum for teaching me how to.
I use Google Search on Puppy Forum
not an ideal solution though
nooby
Posts: 10369
Joined: Sun 29 Jun 2008, 19:05
Location: SwedenEurope

#4 Post by nooby »

New success. Ubuntu 11.04.iso using same code as above booted just fine thanks to tip from Eric at Peppermint forum.
I use Google Search on Puppy Forum
not an ideal solution though
gcmartin

Ubuntu ISO booting

#5 Post by gcmartin »

nooby wrote:New success. Ubuntu 11.04.iso using same code as above booted just fine thanks to tip from Eric at Peppermint forum.
Hi Nooby. I just saw this thread. Looks like you've been busy.

Could you post your latest Grub config file for review.

Thanks in advance
nooby
Posts: 10369
Joined: Sun 29 Jun 2008, 19:05
Location: SwedenEurope

#6 Post by nooby »

Martin yes I try. I am using Peppermint OS now booted from USB but iso on NTFS HDD and it works great with this code on the grub.cfg on the usb

menuentry "Peppermint-Ice-10012010 ISO on /dev/sda3" --class ubuntu_iso {
loopback loop (hd1,3)/Peppermint-Ice-10012010.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/Peppermint-Ice-10012010.iso noprompt
initrd (loop)/casper/initrd.gz
}

if you are on partition 1 then change 3 to 1 instead. I tried first with 0,3 but it needed 1,3 at my computer.

I have now tested Lubuntu and WattOS and Ubuntu NN 11.04 the newest and this Peppermint-Ice very new too and all of them booted from the NTFS HDD so great progress for me.

thanks to all who have supported me to be able to do this this easily.

tip the hdd is at isodevice when one use the filemanager. in ubuntu one need to do the sudo nautilus but in peppermint maybe one don't Test it
I have to go back to bed now. Has only slept 90 minutes tonight.
I use Google Search on Puppy Forum
not an ideal solution though
nooby
Posts: 10369
Joined: Sun 29 Jun 2008, 19:05
Location: SwedenEurope

#7 Post by nooby »

oops I I am so sleepy that I made a double post. answer above this one
Sorry I really have to turn in now my eyes are hurting.

I used this iso and it works great having it on the internal hdd Peppermint-Ice-10012010.iso
but one need to have the grub2 on the USB unles you actually install grub2 to your hdd but that could break other dual boots. So be careful
I use Google Search on Puppy Forum
not an ideal solution though
pacer106
Posts: 359
Joined: Tue 11 Jan 2011, 18:42

bootin on old pc without usb support?

#8 Post by pacer106 »

does this method of booting from a usb flash stick work on a pc that does not support booting from a usb device?

i really am interested in figuring out how to boot from my usb key on a few old boxes that dont have cd drive or floppy drive.

thanks in advance :)
User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

Re: bootin on old pc without usb support?

#9 Post by rcrsn51 »

pacer106 wrote:does this method of booting from a usb flash stick work on a pc that does not support booting from a usb device?
No. If the BIOS does not support booting from USB, it doesn't matter which bootloader you pick.
nooby
Posts: 10369
Joined: Sun 29 Jun 2008, 19:05
Location: SwedenEurope

Re: bootin on old pc without usb support?

#10 Post by nooby »

pacer106 wrote:does this method of booting from a usb flash stick work on a pc that does not support booting from a usb device?

i really am interested in figuring out how to boot from my usb key on a few old boxes that dont have cd drive or floppy drive.

thanks in advance :)
rcrsn51 is right on but it all depends on how much trouble you want to go doing work arounds.

There are two kinds of failing to boot from the usb.

what Rcrsn51 refers to is the common knowledge that older hardware did not have that built in.

then there is some in between hardware like my old HP/Compaq that does not boot but that allow mounting of a usb flash.

Have you tested different brands?

Have you tested a fake frugal install of the distro you have on the usb?

Take the two most important files from your usb vmlinuz and initrd.gz make a copy of them and put them in a subdir on the hdd of the computer you want to use. I use drop and drag copy using two ROX file prgrams

Like this

title Puppy Linux 1024x768 JWM.
rootnoverify (hd0,0)
kernel /puppy/vmlinuz psubdir=puppy puppy pfix=fsck
initrd /puppy/initrd.gz


So only vmlinuz and initrd.gz on the hdd and no pupsave file either. but it should preferably be in its own subdir on the mnt/sda1 if that is the partition.

Now what happens is that Puppy by design mount every drive there is connected and mounting is not same as booting from BIOS.

So even if the BIOS don't include booting from USB the Puppy can mount and use a puppy.sfs file and that way allow for booting the usb which I did use on that old thing from 2003 or so that did refuse to boot usb.

So it is worth a try.
I use Google Search on Puppy Forum
not an ideal solution though
User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#11 Post by Aitch »

pacer106

try PLOP [needs windoze/dos] but can be installed to harddrive

http://www.plop.at/en/bootmanager.html


or if you have a floppy drive, download a win98 boot image and add usbaspi.sys or duse

http://www.computing.net/answers/dos/us ... 15928.html

http://www.bootdisk.com/usb.htm

it worked on my old IBM 570 lappy with no CD drive

Aitch :)
pacer106
Posts: 359
Joined: Tue 11 Jan 2011, 18:42

thanks for the info

#12 Post by pacer106 »

im very new to linux and puppy so havent done a whole lot but mess around im not a command line person as of yet but im learnin :) thanks nooby i will try that out 1 of my issues also that i didnt mention was no hard drive on 1 either so its just a mobo & RAM for the most part. im just experimenting & learnin for future possible fixes as i do some computer repair & maintainance i get lots of extra parts of old hardware. so workin on makin a puppy testin station type thing.

aitch thanks for the advice no floppy drive though and no hard drive so plop wont do much for me there. if i had those i would be able to use wakepup or something in puppy :)
aarf

#13 Post by aarf »

booting from external HD may be a option. dont think usb and external HD are treated the same in the bios.
User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#14 Post by Aitch »

pacer106 wrote:aitch thanks for the advice no floppy drive though and no hard drive so plop wont do much for me there. if i had those i would be able to use wakepup or something in puppy :)
Plop will allow booting from any device, but only if you have somewhere bootable to install it

In your case, with those limitations, tugging it apart and sticking a hard drive in maybe the only option?

Even PCMCIA/USB booting needs a bootable partition on the hardware, if the bios is, as we say, ''crippled'' :wink:

It may be possible to do a network boot to a usb flash, but not really a beginner's task

http://murga-linux.com/puppy/viewtopic.php?t=65232

If you're going to do Puppy testing, I suggest some dumpster-diving for a bit more usable kit! :wink:

Aitch :)
aarf

#15 Post by aarf »

Code: Select all

menuentry "Linux Mint 11 Gnome ISO" {
 loopback loop /linuxmint11.iso
 linux (loop)/casper/vmlinuz file=/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=/linuxmint11.iso noeject noprompt splash --
 initrd (loop)/casper/initrd.lz
}
posting from it now. had to put a 250 mb linux swap of the flash drive to get it to go sensibly with my native 512mb ram. long time to boot with long black screen. say seems like 5 minutes.
question your "cdrom" in the mint menuentry.
linuxmint11.iso goes into /linuxmint11.iso on the flashdrive.
need to set it as default in grub2 menu and let it timeout . hitting return at the grub2 menu failed to boot it.
so please i am going to give fedora live a shot next. then watch dog at

http://www.murga-linux.com/puppy/viewto ... df025ec4d2

nice if the memtest would work.
aarf

#16 Post by aarf »

mageia1 failed with

Code: Select all

menuentry "Magiea 1 KDE ISO" {
 loopback loop /mageia1.iso
 linux (loop)/boot/vmlinuz   boot=boot initrd=/boot/cdrom/initrd.gz iso-scan/filename=/mageia1.iso noeject noprompt splash --
 initrd (loop)/boot/cdrom/initrd.gz
}
got a fair way then stopped soon after this line

Code: Select all

cantrun'/etc/init.d/rcS': no such file or directory
any tips or clues
it this one. under 700mb ftp://distrib-coffee.ipsl.jussieu.fr/pu ... m-i586.iso
Attachments
magiso.jpg
(13.81 KiB) Downloaded 2606 times
mageia1onsdc1.jpg
(12.3 KiB) Downloaded 2576 times
aarf

#17 Post by aarf »

cd to the directory containing the ISO then execute this command:
dd if=mageia-iso-file-name.iso of=/dev/<device node of the usb stick>
more info at http://www.mageia.org/wiki/doku.php?id= ... tion_media havent tried it yet.
aarf

#18 Post by aarf »

on the grub2 flashdrive.
extract this memtest86v4.10 (from fedora15live) into /memtest86v4.10 and boot with

Code: Select all

menuentry "Memtest86 v4.10 fedora15" {
 linux16 /memtest86v4.10 
}
make sure the file names and code links are the same.
bz2 in Xarchiver0.5.2svn-r28705 in puppeee4.4rc2 has changed the file name to the .bz2 name .
originally the file was named just memtest.
Attachments
memtest86v4.10.bz2
(65.99 KiB) Downloaded 1094 times
aarf

#19 Post by aarf »

tried and failed with fedora15. thing called dracut couldnt be satisfied
so just dd it to flash

Code: Select all

dd if=Fedora-xxx.iso of=/dev/sdb
boots ok.
tried and failed with watchdog. boot goes a long way then stops.some boot parameters wrong couldnt figure what. .

Code: Select all

Code:
sd 2:0:0:0: Attached scsi disk sdc
Done.
      Check root = bootarg cat /proc/cmdline
      or issig modules, devices: cat /proc/modules ls /dev
     
ALERT! does not exist. Dropping to a shell!

BusyBox v1.1.3 (Debian 1:1.3-4) Built-in shell (ash)

Enter "help" for a list of built-in commands.

/bin/sh : can't access tty: job control turned off

(initramfs) _ <<<(blinking cursor)
which isthe same fail i had in grub 1 here different code used for grub2 though.

dd failed on watchdog too
User avatar
8-bit
Posts: 3406
Joined: Wed 04 Apr 2007, 03:37
Location: Oregon

#20 Post by 8-bit »

One thing I want to know and has not been stated.
Will the version of grub you are supplying for download
coexist with grub that came as part of lupu 520?
I just do not want to install the pet if it replaces the default grub.
Post Reply