It’s always handy to have a bootable USB flash drive. Whether you would install a Linux distribution, or just run a memory test. Now days, less and less computers are delivered with floppy drives, and some don’t even have a CD drive. Like the IBM ThinkPad X-series. Of course you could buy an external one, but that’s not the point.
This is meant to help people who already know Linux, so don’t expect a world of information.
1. Prerequisite
You’ll need a USB flash drive and computer running Linux. The machine also needs Grub and support for FAT file system.
2. The Quick and Dirty Guide
First you must find out what block device your drive is identified by. This can be done by using “dmesg” right after you have plugged in the device.
dmesg | tail
Mine came up as sdb, so let’s go ahead and format it using the FAT file system.
mkfs.vfat /dev/sdb1
Then install Grub (the bootloader)
grub-install /dev/sdb
Pay attention to the output. It will tell you how Grub identifies /dev/sdb, we’ll need it later. In my case it’s hd1. If you get an error message about some BIOS stuff. Try this instead.
grub-install --recheck /deb/sdb
Now we can mount it and copy over the necessary files.
mount /dev/sdb1 /media/usb
mkdir -p /media/usb/boot/
cp -r /boot/grub/ /media/usb/boot/
We’re almost there.
grub
grub>root (hd1,0)
grub>setup (hd1)
quit
It’s bootable. Now you can throw in whatever image you please, like memtest86.
cp memtest86+.bin /media/usb/boot/
Memtest can be downloaded from Internet, or if you have Ubuntu it will already be in your /boot catalog. To make a boot menu, edit /media/usb/boot/grub/menu.1st to look like this.
default 0
timeout 10
title Memtest86
root (hd0,0)
kernel /boot/memtest86+.bin
I have also thrown in the Ubuntu network installation files.
cp linux initrd.gz /media/usb/boot
So now my menu looks like this.
default 0
timeout 10
color cyan/blue white/blue
title Memtest86
root (hd0,0)
kernel /boot/memtest86+.bin
title Ubuntu x86 Installation
root (hd0,0)
kernel /boot/linux root=/dev/ram
initrd /boot/initrd.gz
Please leave a comment if you found this useful.
excellent procedure! I tried a few and this is the most non-intrusive and simple.
thanks a lot!
grub -> setup resulted in something about cannot mount…
changed
mkfs.vfat to mkfs.ext2 fixed it.
not bootable with ext2. stuck on error at grub setup:
Error 17: Cannot mount selected partition
linux boys should go back to how-to-make-software-simpler-more-logical-more-reliable school.
Ok, with mkfs.ext2 is *does* boot. I just had to press esc to enable the boot menu on my eee.
Great instructions, bookmarked.
Great job. Thanks your. :)
thank you, thank you, thank you
excellent! very useful and simple.
Fantybulous! So many thanks to Håkon. Thank you for this easy lesson.
Great and easy! A lot of thanks to you Håkon!!! Shame that I found this after a time searching and trying complicated instructions, which didn’t work for me.
You’re welcome.
Good to know that the guide still work. It’s been over 5 years since I wrote it already.