summaryrefslogtreecommitdiff
path: root/en/install-methods/boot-usb-files.xml
blob: 5312bbd80737b803f1944b1c0c75bbbe06b82b1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
<!-- retain these comments for translator revision tracking -->
<!-- $Id$ -->

 <sect1 condition="bootable-usb" id="boot-usb-files">
 <title>Preparing Files for USB Memory Stick Booting</title>

<para arch="x86">

There are two installation methods possible when booting from USB stick.
The first is to only use the USB stick to boot the installer, and then
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.

</para><para>

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
<filename>/dev/sdX</filename>, where the <quote>X</quote> 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 <command>dmesg</command> after
inserting it. To write to your stick, you may have to turn off its write
protection switch.

</para><warning><para>

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.

</para></warning><para arch="x86">

To prepare a USB stick that only boots the installer, which then proceeds
to install entirely from the network, you'll need to download the
<filename>mini.iso</filename> image from the <filename>netboot</filename>
directory (at the location mentioned in <xref linkend="where-files"/>), and
write this file directly to the USB stick, overwriting its current contents.
This method will work with very small USB sticks, only a few megabytes in
size.

</para><para arch="x86">

For example, when using an existing GNU/Linux system, the
<filename>mini.iso</filename> file can be written to a USB stick as follows:

<informalexample><screen>
# cat mini.iso &gt; /dev/<replaceable>sdX</replaceable>
# sync
</screen></informalexample>

To add firmware to a USB stick prepared in this way, obtain the necessary firmware
files. See <xref linkend="loading-firmware"/> for more information.
Now unplug and replug the USB stick, and two partitions should now be visible on it.
You should mount the second of the two partitions, and unpack the firmware onto it.

<informalexample><screen>
# mount /dev/<replaceable>sdX2</replaceable> /mnt
# cd /mnt
# tar zxvf <replaceable>/path/to/</replaceable>firmware.tar.gz
# cd /
# umount
</screen></informalexample>

</para><para>

To prepare a USB stick that installs packages from a CD image included
on the stick, use the installer images found in the
<filename>hd-media</filename> directory. Either the <quote>easy
way</quote> or the <quote>flexible way</quote> 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 &d-i;. If they do not match you are likely
to get errors<footnote>

<para>
The error message that is most likely to be displayed is that no kernel
modules can be found. This means that the version of the kernel module
udebs included on the CD image is different from the version of the
running kernel.
</para>

</footnote> during the installation.

</para><para>

Note that the USB stick should be at least 256 MB in size (smaller
setups are possible if you follow <xref linkend="usb-copy-flexible"/>).

</para>

  <sect2 id="usb-copy-easy">
  <title>Copying the files &mdash; the easy way</title>
<para>

There is an all-in-one file <filename>hd-media/boot.img.gz</filename>
which contains all the installer files (including the kernel)
<phrase arch="x86">as well as <classname>syslinux</classname> and its
configuration file</phrase>
<phrase arch="powerpc">as well as <classname>yaboot</classname> and its
configuration file</phrase>.

</para><para>

Note that, although convenient, this method does have one major
disadvantage: the logical size of the device will be limited to 256 MB,
even if the capacity of the USB stick is larger. You will need to
repartition the USB stick and create new file systems to get its full
capacity back if you ever want to use it for some different purpose.
A second disadvantage is that you cannot copy a full CD image onto
the USB stick, but only the smaller businesscard or netinst CD images.

</para><para arch="x86">

To use this image simply extract it directly to your USB stick:

<informalexample><screen>
# zcat boot.img.gz &gt; /dev/<replaceable>sdX</replaceable>
</screen></informalexample>

</para><para arch="powerpc">

Create a partition of type "Apple_Bootstrap" on your USB stick using
<command>mac-fdisk</command>'s <userinput>C</userinput> command and
extract the image directly to that:

<informalexample><screen>
# zcat boot.img.gz &gt; /dev/<replaceable>sdX2</replaceable>
</screen></informalexample>

</para><para>

After that, mount the USB memory stick
<phrase arch="x86">(<userinput>mount
/dev/<replaceable>sdX</replaceable> /mnt</userinput>),</phrase>
<phrase arch="powerpc">(<userinput>mount
/dev/<replaceable>sdX2</replaceable> /mnt</userinput>),</phrase>
which will now have
<phrase arch="x86">a FAT filesystem</phrase>
<phrase arch="powerpc">an HFS filesystem</phrase>
on it, and copy a Debian netinst or businesscard ISO image to it.
Unmount the stick (<userinput>umount /mnt</userinput>) and you are done.

</para>
  </sect2>

  <sect2 id="usb-copy-flexible">
  <title>Copying the files &mdash; the flexible way</title>
<para>

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 &mdash; if the capacity of your
USB stick is large enough &mdash; you have the option of copying a
full CD ISO image to it.

</para>

&usb-setup-x86.xml;
&usb-setup-powerpc.xml;

  </sect2>

  <!-- TODO: doesn't this section belong later? -->
  <sect2 arch="x86">
  <title>Booting the USB stick</title>
<warning><para>

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
<command>install-mbr</command> command from the package
<classname>mbr</classname>:

<informalexample><screen>
# install-mbr /dev/<replaceable>sdX</replaceable>
</screen></informalexample>

</para></warning>
  </sect2>
 </sect1>