/[d-i]/trunk/manual/en/appendix/chroot-install.xml
ViewVC logotype

Contents of /trunk/manual/en/appendix/chroot-install.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 39614 - (hide annotations) (download) (as text)
Mon Aug 7 15:50:11 2006 UTC (6 years, 9 months ago) by fjp
File MIME type: text/xml
File size: 13665 byte(s)
Initial commit preparing to add variant for AMD64.
This commit basically creates the AMD64 variant as a copy of the i386 manual.
Further commits will be needed to differentiate the AMD64 variant from i386 where needed.
Commit includes changes for all translations.
1 toff 3352 <!-- retain these comments for translator revision tracking -->
2 joeyh 11648 <!-- $Id$ -->
3 toff 3352
4     <sect1 id="linux-upgrade">
5 fjpop-guest 12756 <title>Installing &debian; from a Unix/Linux System</title>
6 toff 3352
7     <para>
8    
9 fjpop-guest 12756 This section explains how to install &debian; from an existing
10 joeyh 28853 Unix or Linux system, without using the menu-driven installer as
11 fjp 28997 explained in the rest of the manual. This <quote>cross-install</quote>
12 fjpop-guest 12756 HOWTO has been requested by users switching to &debian; from
13 fjpop-guest 25594 Red Hat, Mandrake, and SUSE. In this section some familiarity with
14 toff 3352 entering *nix commands and navigating the file system is assumed. In
15     this section, <prompt>$</prompt> symbolizes a command to be entered in
16     the user's current system, while <prompt>#</prompt> refers to a
17     command entered in the Debian chroot.
18    
19     </para><para>
20    
21     Once you've got the new Debian system configured to your preference,
22     you can migrate your existing user data (if any) to it, and keep on
23 fjp 28997 rolling. This is therefore a <quote>zero downtime</quote> &debian;
24 toff 3352 install. It's also a clever way for dealing with hardware that
25     otherwise doesn't play friendly with various boot or installation
26     media.
27    
28     </para>
29    
30     <sect2>
31     <title>Getting Started</title>
32     <para>
33    
34     With your current *nix partitioning tools, repartition the hard
35     drive as needed, creating at least one filesystem plus swap. You
36     need at least 150MB of space available for a console only install,
37     or at least 300MB if you plan to install X.
38    
39     </para><para>
40    
41 fjp 39463 Create file systems on your partitions. For example, to create an
42 fjp 28672 ext3 file system on partition <filename>/dev/hda6</filename> (that's
43 toff 3352 our example root partition):
44    
45     <informalexample><screen>
46 fjpop-guest 24663 # mke2fs -j /dev/hda6
47 toff 3352 </screen></informalexample>
48    
49     To create an ext2 file system instead, omit <userinput>-j</userinput>.
50    
51     </para><para>
52    
53 fjp 28672 Initialize and activate swap (substitute the partition number for
54 toff 3352 your intended Debian swap partition):
55    
56     <informalexample><screen>
57 fjpop-guest 24663 # mkswap /dev/hda5
58     # sync; sync; sync
59     # swapon /dev/hda5
60 toff 3352 </screen></informalexample>
61    
62     Mount one partition as <filename>/mnt/debinst</filename> (the
63     installation point, to be the root (<filename>/</filename>) filesystem
64     on your new system). The mount point name is strictly arbitrary, it is
65     referenced later below.
66    
67     <informalexample><screen>
68 fjpop-guest 24663 # mkdir /mnt/debinst
69     # mount /dev/hda6 /mnt/debinst
70 toff 3352 </screen></informalexample>
71    
72     </para>
73 fjp 31139 <note><para>
74    
75     If you want to have parts of the filesystem (e.g. /usr) mounted on
76 fjp 31140 separate partitions, you will need to create and mount these directories
77     manually before proceding with the next stage.
78 fjp 31139
79     </para></note>
80 toff 3352 </sect2>
81    
82     <sect2>
83     <title>Install <command>debootstrap</command></title>
84     <para>
85    
86 fjp 39463 The utility used by the Debian installer, and recognized as the
87 toff 3352 official way to install a Debian base system, is
88 fjpop-guest 25154 <command>debootstrap</command>. It uses <command>wget</command> and
89     <command>ar</command>, but otherwise depends only on
90 fjp 34713 <classname>/bin/sh</classname> and basic Unix/Linux tools<footnote>
91    
92     <para>
93    
94     These include the GNU core utilities and commands like <command>sed</command>, <command>grep</command>, <command>tar</command> and <command>gzip</command>.
95    
96     </para>
97    
98     </footnote>. Install <command>wget</command> and
99 fjpop-guest 25154 <command>ar</command> if they aren't already on your current system,
100 toff 3352 then download and install <command>debootstrap</command>.
101    
102 fjp 34713 </para>
103 toff 3352
104 fjp 34713 <!-- The files linked to here are from 2004 and thus currently not usable
105     <para>
106    
107 fjp 28672 If you have an rpm-based system, you can use alien to convert the
108     .deb into .rpm, or download an rpm-ized version at
109 toff 3352 <ulink url="http://people.debian.org/~blade/install/debootstrap"></ulink>
110    
111 fjp 34713 </para>
112     -->
113 toff 3352
114 fjp 34713 <para>
115    
116 toff 3352 Or, you can use the following procedure to install it
117     manually. Make a work folder for extracting the .deb into:
118    
119     <informalexample><screen>
120 fjpop-guest 24663 # mkdir work
121     # cd work
122 toff 3352 </screen></informalexample>
123    
124     The <command>debootstrap</command> binary is located in the Debian
125     archive (be sure to select the proper file for your
126     architecture). Download the <command>debootstrap</command> .deb from
127     the <ulink url="http://ftp.debian.org/debian/pool/main/d/debootstrap/">
128     pool</ulink>, copy the package to the work folder, and extract the
129     binary files from it. You will need to have root privileges to install
130     the binaries.
131    
132     <informalexample><screen>
133 fjpop-guest 28245 # ar -x debootstrap_0.X.X_arch.deb
134 fjpop-guest 24663 # cd /
135 fjpop-guest 24677 # zcat /full-path-to-work/work/data.tar.gz | tar xv
136 toff 3352 </screen></informalexample>
137    
138 fjp 31139 </para><para>
139    
140     Note that running <command>debootstrap</command> may require you to have
141     a minimal version of <classname>glibc</classname> installed (currently
142     GLIBC_2.3). <command>debootstrap</command> itself is a shell script, but
143     it calls various utilities that require <classname>glibc</classname>.
144    
145 toff 3352 </para>
146     </sect2>
147    
148     <sect2>
149 joeyh 18643 <title>Run <command>debootstrap</command></title>
150 toff 3352 <para>
151    
152     <command>debootstrap</command> can download the needed files directly
153     from the archive when you run it. You can substitute any Debian
154     archive mirror for <userinput>http.us.debian.org/debian</userinput> in
155     the command example below, preferably a mirror close to you
156 fjp 28672 network-wise. Mirrors are listed at
157 toff 3352 <ulink url="http://www.debian.org/misc/README.mirrors"></ulink>.
158    
159     </para><para>
160    
161 joeyh 18643 If you have a &releasename; &debian; CD mounted at
162 toff 3352 <filename>/cdrom</filename>, you could substitute a file URL instead
163     of the http URL: <userinput>file:/cdrom/debian/</userinput>
164    
165     </para><para>
166    
167 fjp 28672 Substitute one of the following for <replaceable>ARCH</replaceable>
168     in the <command>debootstrap</command> command:
169 toff 3352
170 fjp 28672 <userinput>alpha</userinput>,
171 toff 3352 <userinput>arm</userinput>,
172 fjp 28672 <userinput>hppa</userinput>,
173     <userinput>i386</userinput>,
174     <userinput>ia64</userinput>,
175 toff 3352 <userinput>m68k</userinput>,
176 fjp 28672 <userinput>mips</userinput>,
177     <userinput>mipsel</userinput>,
178     <userinput>powerpc</userinput>,
179 toff 3352 <userinput>s390</userinput>, or
180     <userinput>sparc</userinput>.
181    
182     <informalexample><screen>
183 fjpop-guest 24663 # /usr/sbin/debootstrap --arch ARCH &releasename; \
184 toff 3352 /mnt/debinst http://http.us.debian.org/debian
185     </screen></informalexample>
186    
187     </para>
188     </sect2>
189    
190     <sect2>
191     <title>Configure The Base System</title>
192     <para>
193    
194     Now you've got a real Debian system, though rather lean, on disk.
195     <command>Chroot</command> into it:
196    
197     <informalexample><screen>
198 joeyh 28659 # LANG= chroot /mnt/debinst /bin/bash
199 toff 3352 </screen></informalexample>
200 fjpop-guest 24663
201 toff 3352 </para>
202    
203     <sect3>
204     <title>Mount Partitions</title>
205     <para>
206    
207     You need to create <filename>/etc/fstab</filename>.
208    
209     <informalexample><screen>
210 fjpop-guest 24663 # editor /etc/fstab
211 toff 3352 </screen></informalexample>
212    
213     Here is a sample you can modify to suit:
214    
215     <informalexample><screen>
216     # /etc/fstab: static file system information.
217     #
218     # file system mount point type options dump pass
219 fjp 31190 /dev/XXX / ext3 defaults 0 1
220     /dev/XXX /boot ext3 ro,nosuid,nodev 0 2
221 toff 3352
222     /dev/XXX none swap sw 0 0
223     proc /proc proc defaults 0 0
224    
225     /dev/fd0 /mnt/floppy auto noauto,rw,sync,user,exec 0 0
226     /dev/cdrom /mnt/cdrom iso9660 noauto,ro,user,exec 0 0
227    
228 fjp 31190 /dev/XXX /tmp ext3 rw,nosuid,nodev 0 2
229     /dev/XXX /var ext3 rw,nosuid,nodev 0 2
230     /dev/XXX /usr ext3 rw,nodev 0 2
231     /dev/XXX /home ext3 rw,nosuid,nodev 0 2
232 toff 3352 </screen></informalexample>
233    
234     Use <userinput>mount -a</userinput> to mount all the file systems you
235     have specified in your <filename>/etc/fstab</filename>, or to mount
236     file systems individually use:
237    
238     <informalexample><screen>
239 fjpop-guest 24663 # mount /path # e.g.: mount /usr
240 toff 3352 </screen></informalexample>
241    
242     You can mount the proc file system multiple times and to arbitrary
243 fjp 31139 locations, though <filename>/proc</filename> is customary. If you didn't use
244     <userinput>mount -a</userinput>, be sure to mount proc before continuing:
245 toff 3352
246     <informalexample><screen>
247 fjpop-guest 24663 # mount -t proc proc /proc
248 toff 3352 </screen></informalexample>
249    
250 fjp 31139 </para><para>
251    
252     The command <userinput>ls /proc</userinput> should now show a non-empty
253     directory. Should this fail, you may be able to mount proc from outside
254     the chroot:
255    
256     <informalexample><screen>
257     # mount -t proc proc /mnt/debinst/proc
258     </screen></informalexample>
259    
260 toff 3352 </para>
261     </sect3>
262    
263     <sect3>
264     <title>Configure Keyboard</title>
265     <para>
266    
267     To configure your keyboard:
268    
269     <informalexample><screen>
270 fjpop-guest 24663 # dpkg-reconfigure console-data
271 toff 3352 </screen></informalexample>
272    
273 fjp 31139 </para><para>
274    
275     Note that the keyboard cannot be set while in the chroot, but will be
276     configured for the next reboot.
277    
278 toff 3352 </para>
279     </sect3>
280    
281     <sect3>
282     <title>Configure Networking</title>
283     <para>
284    
285     To configure networking, edit
286     <filename>/etc/network/interfaces</filename>,
287 fjp 36758 <filename>/etc/resolv.conf</filename>,
288     <filename>/etc/hostname</filename> and
289     <filename>/etc/hosts</filename>.
290 toff 3352
291     <informalexample><screen>
292 fjp 28672 # editor /etc/network/interfaces
293 toff 3352 </screen></informalexample>
294    
295     Here are some simple examples from
296     <filename>/usr/share/doc/ifupdown/examples</filename>:
297    
298     <informalexample><screen>
299     ######################################################################
300     # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
301 fjp 28672 # See the interfaces(5) manpage for information on what options are
302 toff 3352 # available.
303     ######################################################################
304    
305     # We always want the loopback interface.
306     #
307     auto lo
308     iface lo inet loopback
309    
310     # To use dhcp:
311     #
312     # auto eth0
313     # iface eth0 inet dhcp
314    
315     # An example static IP setup: (broadcast and gateway are optional)
316     #
317     # auto eth0
318     # iface eth0 inet static
319     # address 192.168.0.42
320     # network 192.168.0.0
321     # netmask 255.255.255.0
322     # broadcast 192.168.0.255
323     # gateway 192.168.0.1
324     </screen></informalexample>
325    
326     Enter your nameserver(s) and search directives in
327     <filename>/etc/resolv.conf</filename>:
328    
329     <informalexample><screen>
330 fjpop-guest 24663 # editor /etc/resolv.conf
331 toff 3352 </screen></informalexample>
332    
333     A simple <filename>/etc/resolv.conf</filename>:
334    
335     <informalexample><screen>
336 fjpop-guest 24663 search hqdom.local\000
337     nameserver 10.1.1.36
338     nameserver 192.168.9.100
339 toff 3352 </screen></informalexample>
340    
341     Enter your system's host name (2 to 63 characters):
342    
343     <informalexample><screen>
344 fjpop-guest 24663 # echo DebianHostName &gt; /etc/hostname
345 toff 3352 </screen></informalexample>
346    
347     If you have multiple network cards, you should arrange the names of
348     driver modules in the <filename>/etc/modules</filename> file into the
349     desired order. Then during boot, each card will be associated with the
350     interface name (eth0, eth1, etc.) that you expect.
351    
352     </para>
353     </sect3>
354    
355     <sect3>
356     <title>Configure Locales</title>
357     <para>
358    
359     To configure your locale settings to use a language other than
360 fjp 39463 English, install the <classname>locales</classname> support package
361     and configure it:
362 toff 3352
363     <informalexample><screen>
364 fjp 39463 # aptitude install locales
365 fjpop-guest 24663 # dpkg-reconfigure locales
366 toff 3352 </screen></informalexample>
367    
368 fjp 39463 NOTE: <classname>apt</classname> must be configured beforehand by creating
369     a sources.list and running <command>aptitude update</command>.
370 toff 3352 Before using locales with character sets other than ASCII or latin1,
371 fjpop-guest 22935 please consult the appropriate localization HOWTO.
372 toff 3352
373     </para>
374     </sect3>
375     </sect2>
376    
377     <sect2>
378     <title>Install a Kernel</title>
379     <para>
380    
381     If you intend to boot this system, you probably want a Linux kernel
382     and a boot loader. Identify available pre-packaged kernels with
383    
384     <informalexample><screen>
385 fjp 36758 # apt-cache search <phrase condition="classic-kpkg">kernel</phrase><phrase condition="common-kpkg">linux</phrase>-image
386 toff 3352 </screen></informalexample>
387    
388     Then install your choice using its package name.
389    
390     <informalexample><screen>
391 fjp 39463 # aptitude install <phrase condition="classic-kpkg">kernel</phrase><phrase condition="common-kpkg">linux</phrase>-image-<replaceable>&kernelversion;-arch-etc</replaceable>
392 toff 3352 </screen></informalexample>
393    
394     </para>
395     </sect2>
396    
397     <sect2>
398     <title>Set up the Boot Loader</title>
399     <para>
400    
401 fjpop-guest 12756 To make your &debian; system bootable, set up your boot loader to load
402 fjp 39463 the installed kernel with your new root partition. Note that
403     <command>debootstrap</command> does not install a boot loader, though you
404     can use <command>aptitude</command> inside your Debian chroot to do so.
405 toff 3352
406 fjp 39614 </para><para arch="x86">
407 toff 3352
408 joeyh 18643 Check <userinput>info grub</userinput> or <userinput>man
409     lilo.conf</userinput> for instructions on setting up the
410     bootloader. If you are keeping the system you used to install Debian, just
411 mck-guest 18767 add an entry for the Debian install to your existing grub
412 joeyh 18773 <filename>menu.lst</filename> or <filename>lilo.conf</filename>. For
413 mck-guest 18767 <filename>lilo.conf</filename>, you could also copy it to the new system and
414 joeyh 18643 edit it there. After you are done editing, call lilo (remember it will use
415 mck-guest 18767 <filename>lilo.conf</filename> relative to the system you call it from).
416 toff 3352
417 fjp 39614 </para><para arch="x86">
418 toff 3352
419 mck-guest 18767 Here is a basic <filename>/etc/lilo.conf</filename> as an example:
420 toff 3352
421     <informalexample><screen>
422     boot=/dev/hda6
423     root=/dev/hda6
424 fjp 31139 install=menu
425 toff 3352 delay=20
426     lba32
427     image=/vmlinuz
428     label=Debian
429     </screen></informalexample>
430    
431 toff 4119 </para><para arch="powerpc">
432 toff 3352
433     Check <userinput>man yaboot.conf</userinput> for instructions on
434     setting up the bootloader. If you are keeping the system you used to
435     install Debian, just add an entry for the Debian install to your
436 mck-guest 18767 existing <filename>yaboot.conf</filename>. You could also copy it to
437     the new system and
438 toff 3352 edit it there. After you are done editing, call ybin (remember it will
439 mck-guest 18767 use <filename>yaboot.conf</filename> relative to the system you call it from).
440 toff 3352
441 toff 4119 </para><para arch="powerpc">
442 toff 3352
443 mck-guest 18767 Here is a basic <filename>/etc/yaboot.conf</filename> as an example:
444 toff 3352
445     <informalexample><screen>
446     boot=/dev/hda2
447     device=hd:
448     partition=6
449     root=/dev/hda6
450     magicboot=/usr/lib/yaboot/ofboot
451     timeout=50
452     image=/vmlinux
453     label=Debian
454     </screen></informalexample>
455    
456 fjp 28672 On some machines, you may need to use <userinput>ide0:</userinput>
457     instead of <userinput>hd:</userinput>.
458 toff 3352
459     </para>
460     </sect2>
461     </sect1>

Properties

Name Value
svn:keywords Id

  ViewVC Help
Powered by ViewVC 1.1.5