You are on page 1of 6

4.3.

Preparing Files for USB Memory Stick Booting


Chapter4.Obtaining System
Installation Media

4.3.Preparing Files for USB


Memory Stick Booting
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 o its write protection
switch.
Warning
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.

4.3.1.Preparing a USB stick using a hybrid


CD or DVD image
Debian CD and DVD images can now be written
directly to a USB stick, which is a very easy way to
make a bootable USB stick. Simply choose a CD or
DVD image (such as the netinst, CD-1, DVD-1, or
netboot) that will t on your USB stick. See
Section4.1, Ocial Debian GNU/Linux
CD/DVD-ROM Sets to get a CD or DVD image.
Alternatively, for very small USB sticks, only a few
megabytes in size, you can download the
mini.iso image from the netboot directory (at
the location mentioned in Section4.2.1, Where to

Find Installation Images).


The CD or DVD image you choose should be written
directly to the USB stick, overwriting its current
contents. For example, when using an existing
GNU/Linux system, the CD or DVD image le can be
written to a USB stick as follows, after having made
sure that the stick is unmounted:
# cp debian.iso /dev/sdX
# sync

The win32diskimager utility can be used under


other operating systems to copy the image.
Important
The image must be written to the
whole-disk device and not a
partition, e.g. /dev/sdb and not
/dev/sdb1. Do not use tools like
unetbootin which alter the image.
Important
Simply writing the CD or DVD image
to USB like this should work ne for
most users. The other options below
are more complex, mainly for people
with specialised needs.
The hybrid image on the stick does not occupy all
the storage space, so it may be worth considering
using the free space to hold rmware les or
packages or any other les of your choice. This
could be useful if you have only one stick or just
want to keep everything you need on one device.
Create a second, FAT partition on the stick, mount
the partition and copy or unpack the rmware onto
it. For example:
#
#
#
#
#

mount /dev/sdX2 /mnt


cd /mnt
tar zxvf /path/to/firmware.tar.gz
cd /
umount /mnt

You might have written the mini.iso to the USB


stick. In this case the second partition doesn't have

to be created as, very nicely, it will already be


present. Unplugging and replugging the USB stick
should make the two partitions visible.

4.3.2.Manually copying les to the USB


stick
An alternative way to set up your USB stick is to
manually copy the installer les, and also a CD
image to it. Note that the USB stick should be at
least 1 GB in size (smaller setups are possible if you
follow Section4.3.3, Manually copying les to the
USB stick the exible way).
There is an all-in-one le
hd-media/boot.img.gz which contains all the
installer les (including the kernel) as well as
syslinux and its conguration le .
Note that, although convenient, this method does
have one major disadvantage: the logical size of the
device will be limited to 1 GB, even if the capacity of
the USB stick is larger. You will need to repartition
the USB stick and create new le systems to get its
full capacity back if you ever want to use it for some
dierent purpose.
To use this image simply extract it directly to your
USB stick:
# zcat boot.img.gz > /dev/sdX

After that, mount the USB memory stick (m


mount
/dev/sdX /mnt), which will now have a FAT
lesystem on it, and copy a Debian ISO image
(netinst or full CD) to it. Unmount the stick
(u
umount /mnt) and you are done.

4.3.3.Manually copying les to the USB


stick the exible way
If you like more exibility or just want to know
what's going on, you should use the following
method to put the les 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 any ISO image, even a
DVD image, to it.
4.3.3.1.Partitioning the USB stick

We will show how to set up the memory stick to use


the rst partition, instead of the entire device.
Note
Since most USB sticks come
pre-congured 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[3], install
an MBR using:
# install-mbr /dev/sdX

The install-mbr command is


contained in the mbr Debian
package. Then create the lesystem
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 Debian 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 recongured by just
editing a text le. Any operating system which
supports the FAT le system can be used to make
changes to the conguration 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 le
ldlinux.sys which contains the boot loader

code.
4.3.3.2.Adding the installer image
Mount the partition (m
mount /dev/sdX1 /mnt)
and copy the following installer image les to the
stick:
vmlinuz or linux (kernel binary)
initrd.gz (initial ramdisk image)
You can choose between either the text-based or
the graphical version of the installer. The latter can
be found in the gtk subdirectory. If you want to
rename the les, please note that syslinux can
only process DOS (8.3) le names.
Next you should create a syslinux.cfg
conguration le, which at a bare minimum should
contain the following two lines (change the name of
the kernel binary to l
linux if you used a
netboot image):
default vmlinuz
append initrd=initrd.gz

For the graphical installer you should add vga=788


to the second line. Other parameters can be
appended as desired.
To enable the boot prompt to permit further
parameter appending, add a prompt 1 line.
If you used an hd-media image, you should now
copy the ISO le of a Debian ISO image[4] onto the
stick. When you are done, unmount the USB
memory stick (u
umount /mnt).

[3] Don't
[4] You

forget to set the bootable bootable ag.

can use either a netinst or a full CD image


(see Section4.1, Ocial Debian GNU/Linux
CD/DVD-ROM Sets). Be sure to select one that ts.
Note that the netboot mini.iso image is not
usable for this purpose.

4.2.Downloading Files
from Debian Mirrors

4.4.Preparing Files for


Hard Disk Booting

You might also like