Main » 2012 » February » 7 » Chapter 4 : Obtaining System Installation Media | 3. Preparing Files for USB Memory Stick Booting
Chapter 4 : Obtaining System Installation Media | 3. Preparing Files for USB Memory Stick Booting
Preparing Files for USB Memory Stick Booting
There are two installation methods possible when booting from USB stick.
The first is to install completely from the network. The second is to
also copy a CD image onto the USB stick and use that as a source for
packages, possibly in combination with a mirror. This second method is
the more common.
Installation images for the second installation method can be found in
the hd-media directory and either the "easy
way” or the "flexible way” can be used to copy the
image to the USB stick. For this installation method you will also need
to download a CD image. The installation image and the CD image must be
based on the same release of debian-installer. If they do not match you are likely
to get errors during the installation.
To prepare the USB stick, you will need a system where GNU/Linux is
already running and where USB is supported. With current GNU/Linux systems
the USB stick should be automatically recognized when you insert it. If
it is not you should check that the usb-storage kernel module is loaded.
When the USB stick is inserted, it will be mapped to a device named
/dev/sdX, where the "X” is a letter
in the range a-z. You should be able to see to which device the USB
stick was mapped by running the command dmesg after
inserting it. To write to your stick, you may have to turn off its write
The procedures described in this section will destroy anything already
on the device! Make very sure that you use the correct device name for
your USB stick. If you use the wrong device the result could be that all
information on for example a hard disk could be lost.
There is an all-in-one file
which contains all the installer files (including the kernel)
as well as syslinux and its
To use this image simply extract it directly to a partition on your USB
# zcat boot.img.gz > /dev/sdX1
Copying the files — the flexible way
If you like more flexibility or just want to know what's going on, you
should use the following method to put the files on your stick. One
advantage of using this method is that — if the capacity of your
USB stick is large enough — you have the option of copying a
full CD ISO image to it.
Partitioning the USB stick
We will show how to set up the memory stick to use the first partition,
instead of the entire device.
Since most USB sticks come pre-configured with a single FAT16
partition, you probably won't have to repartition or reformat the
stick. If you have to do that anyway, use cfdisk
or any other partitioning tool to create a FAT16 partition, and then create the filesystem using:
# mkdosfs /dev/sdX1
Take care that you use the correct device name for your USB stick. The
mkdosfs command is contained in the
dosfstools Ubuntu package.
In order to start the kernel after booting from the USB stick, we will
put a boot loader on the stick. Although any boot loader
(e.g. lilo) should work, it's convenient to use
syslinux, since it uses a FAT16 partition and can
be reconfigured by just editing a text file. Any operating system
which supports the FAT file system can be used to make changes to the
configuration of the boot loader.
To put syslinux on the FAT16 partition on your USB
stick, install the syslinux and
mtools packages on your system, and do:
# syslinux /dev/sdX1
Again, take care that you use the correct device name. The partition
must not be mounted when starting syslinux. This
procedure writes a boot sector to the partition and creates the file
ldlinux.sys which contains the boot loader code.
Adding the installer image
Mount the partition
(mount /dev/sdX1 /mnt)
and copy the following installer image files to the stick:
vmlinuz or linux (kernel binary)
initrd.gz (initial ramdisk image)
You can choose between either the regular version or the graphical version
of the installer. The latter can be found in the gtk
subdirectory. If you want to rename the files, please note that
syslinux can only process DOS (8.3) file names.
Next you should create a syslinux.cfg configuration
file, which at a bare minimum should contain the following two lines (change
the name of the kernel binary to "linux”
if you used a netboot image):
For the graphical installer you should add
video=vesa:ywrap,mtrr vga=788 to the second line.
If you used an hd-media image, you should now copy an
Ubuntu ISO image onto the stick. When you are done, unmount the USB memory stick
Booting the USB stick
If your system refuses to boot from the memory stick, the stick may
contain an invalid master boot record (MBR). To fix this, use the
install-mbr command from the package