/[gentoo]/xml/htdocs/doc/en/altinstall.xml
Gentoo

Contents of /xml/htdocs/doc/en/altinstall.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.88 - (hide annotations) (download) (as text)
Mon Dec 9 07:59:33 2013 UTC (8 months, 3 weeks ago) by swift
Branch: MAIN
CVS Tags: HEAD
Changes since 1.87: +2 -2 lines
File MIME type: application/xml
Moved altinstall to https://wiki.gentoo.org/wiki/Installation_alternatives

1 zhen 1.3 <?xml version='1.0' encoding="UTF-8"?>
2 antifa 1.12 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3 swift 1.88 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/altinstall.xml,v 1.87 2013/01/27 07:31:35 nightmorph Exp $ -->
4 drobbins 1.1
5 swift 1.88 <guide disclaimer="obsolete" redirect="https://wiki.gentoo.org/wiki/Installation_alternatives">
6 drobbins 1.1 <title>The Gentoo Linux alternative installation method HOWTO</title>
7 neysx 1.32
8     <author title="Contributor">
9     <mail link="gerrynjr@gentoo.org">Gerald Normandin Jr.</mail>
10     </author>
11     <author title="Contributor">
12     <mail link="lordviram@rebelpacket.net">Travis Tilley</mail>
13     </author>
14     <author title="Contributor">
15     <mail link="volontir@yahoo.com">Oleg Raisky</mail>
16     </author>
17     <author title="Contributor">
18     <mail link="luminousit@hotmail.com">Alex Garbutt</mail>
19     </author>
20     <author title="Contributor">
21     <mail link="alex@openvs.com">Alexandre Georges</mail>
22     </author>
23     <author title="Contributor">
24     <mail link="vargen@b0d.org">Magnus Backanda</mail>
25     </author>
26     <author title="Contributor">
27     <mail link="davoid@gentoo.org">Faust A. Tanasescu</mail>
28     </author>
29     <author title="Contributor">
30     <mail link="aliz@gentoo.org">Daniel Ahlberg</mail>
31     </author>
32     <author title="Editor">
33 nightmorph 1.70 <mail link="swift@gentoo.org">Sven Vermeulen</mail>
34 neysx 1.32 </author>
35     <author title="Reviewer">
36 swift 1.36 Ken Nowack <!-- antifa@gentoo.org seems out -->
37 neysx 1.32 </author>
38     <author title="Editor">
39     <mail link="blubber@gentoo.org">Tiemo Kieft</mail>
40     </author>
41 bennyc 1.37 <author title="Editor">
42     <mail link="bennyc@gentoo.org">Benny Chuang</mail>
43     </author>
44 swift 1.53 <author title="Editor">
45 swift 1.57 <mail link="smithj@gentoo.org">Jonathan Smith</mail>
46 swift 1.53 </author>
47 nightmorph 1.76 <author title="Editor">
48     <mail link="nightmorph"/>
49     </author>
50 swift 1.53
51 drobbins 1.1 <abstract>
52     This HOWTO is meant to be a repository of alternative Gentoo installation
53     methods, for those with special installation needs such as lack of a cdrom
54 gerrynjr 1.14 or a computer that can't boot cds.
55 drobbins 1.1 </abstract>
56    
57 rane 1.64 <!-- The content of this document is licensed under the CC-BY-SA license -->
58     <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
59 swift 1.21 <license/>
60    
61 nightmorph 1.87 <version>12</version>
62     <date>2013-01-26</date>
63 gerrynjr 1.9
64 drobbins 1.1 <chapter>
65     <title>About this document</title>
66     <section>
67     <body>
68    
69 neysx 1.32 <p>
70     If the standard boot-from-CD install method doesn't work for you (or you just
71     don't like it), help is now here. This document serves to provide a repository
72     of alternative Gentoo Linux installation techniques to those who need them.
73     Or, if you prefer, it serves as a place to put your wacky installation methods.
74     If you have an installation method that you yourself find useful, or you have
75     devised an amusing way of installing Gentoo, please don't hesitate to write
76 neysx 1.54 something up and post it on <uri link="http://bugs.gentoo.org">Bugzilla</uri>.
77 neysx 1.32 </p>
78 gerrynjr 1.9
79     </body>
80     </section>
81     </chapter>
82    
83     <chapter>
84 smithj 1.58 <title>Booting the Install CD with Smart BootManager</title>
85 gerrynjr 1.9 <section>
86 neysx 1.32 <body>
87 gerrynjr 1.9
88 neysx 1.32 <p>
89 swift 1.75 Download Smart BootManager available from
90 swift 1.36 <uri>http://btmgr.sourceforge.net/download.html</uri>.
91 neysx 1.32 Linux source or binary format and windows .exe versions are available as well
92     as many language packs. However, at this time, the preferred method would be to
93     use the binary format, as the source will not compile with newer versions of
94     NASM.
95     </p>
96 gerrynjr 1.9
97 neysx 1.32 <p>
98     Either compile the package from source or just grab the binary. There are
99     several options that can be utilized while creating your boot floppy, as seen
100     below.
101     </p>
102 gerrynjr 1.9
103     <pre caption="Smart BootManager Options">
104 neysx 1.49 sbminst [-t theme] [-d drv] [-b backup_file] [-u backup_file]
105 gerrynjr 1.9
106 neysx 1.49 -t theme select the theme to be used, in which the theme could be:
107 swift 1.75 us = English theme de = German theme
108     hu = Hungarian theme zh = Chinese theme
109 neysx 1.49 ru = Russian theme cz = Czech theme
110 swift 1.75 es = Spanish theme fr = French theme
111     pt = Portuguese theme
112    
113 gerrynjr 1.9
114 neysx 1.49 -d drv set the drive that you want to install Smart BootManager on;
115     for Linux:
116 swift 1.75 /dev/fd0 is the first floppy driver,
117 neysx 1.49 /dev/hda is the first IDE harddisk driver.
118     /dev/sda is the first SCSI harddisk driver.
119     for DOS:
120     0 is the first floppy drive
121     128 is the first hard drive;
122 gerrynjr 1.9
123     -c disable CD-ROM booting feature;
124    
125 gerrynjr 1.14 -b backup_file backup the data that will be overwritten for
126 gerrynjr 1.9 future uninstallation;
127    
128     -u backup_file uninstall Smart BootManager, should be used alone;
129    
130 neysx 1.49 -y do not ask any question or warning.
131 gerrynjr 1.9 </pre>
132    
133     <pre caption="Using sbminst to build the boot floppy">
134     # <i>sbminst -t us -d /dev/fd0</i>
135     </pre>
136    
137 neysx 1.32 <note>
138 swift 1.75 Replace <path>fd0</path> with your respective floppy device name if yours is
139     different.
140 neysx 1.32 </note>
141    
142     <p>
143     Now simply place the floppy in the floppy drive of the computer you'd like to
144 smithj 1.58 boot the Install CD on, as well as placing the Install CD in the CD-ROM and boot
145     the computer.
146 neysx 1.32 </p>
147    
148     <p>
149     You'll be greeted with the Smart BootManager dialog. Select your CD-ROM and
150 smithj 1.58 press ENTER to boot the Install CD. Once booted proceed with the standard
151 neysx 1.32 installation instructions.
152     </p>
153    
154     <p>
155     Further information on Smart BootManager may be found at
156     <uri>http://btmgr.sourceforge.net/</uri>
157     </p>
158 gerrynjr 1.9
159     </body>
160     </section>
161     </chapter>
162    
163     <chapter>
164 nightmorph 1.77 <title>Installation from non-Gentoo LiveCDs</title>
165 gerrynjr 1.9 <section>
166 nightmorph 1.77 <title>Introduction</title>
167 gerrynjr 1.9 <body>
168    
169 nightmorph 1.77 <impo>
170     The Gentoo developers cannot support you if something goes wrong with a
171     non-Gentoo LiveCD, as there's no way to fix, troubleshoot, or document every
172     quirk of every LiveCD out there. Only Gentoo LiveCDs are officially supported.
173     If you run into problems with alternative installation media, please visit the
174     <uri link="http://forums.gentoo.org">Gentoo Forums</uri> for community help.
175     </impo>
176 swift 1.51
177 nightmorph 1.77 <p>
178     It is possible to boot some other LiveCD besides the Gentoo-provided CDs. This
179     will give you a functional environment to use while you're compiling and
180     installing Gentoo. The instructions provided here should work in principle with
181     just about any other LiveCD.
182     </p>
183 swift 1.53
184 neysx 1.32 <p>
185 nightmorph 1.77 There are too many LiveCDs out there to <uri
186     link="http://distrowatch.com/search.php">list</uri>, but you might try <uri
187     link="http://www.knoppix.org/">Knoppix</uri>. It provides a full graphical
188     desktop, with office applications, web browsers, and games to keep you busy.
189     Knoppix is only available for x86 users, so depending on your needs you may need
190     to find a different LiveCD.
191 neysx 1.32 </p>
192 gerrynjr 1.9
193 neysx 1.56 <warn>
194 nightmorph 1.77 Be aware that if you save anything in your LiveCD's home directory while waiting
195 neysx 1.56 for your Gentoo system to install, it will not be available when you reboot
196     into Gentoo. Be sure to save important files on the hard disk or on some other
197     computer!
198     </warn>
199    
200 nightmorph 1.77 </body>
201     </section>
202     <section>
203     <title>Installation instructions</title>
204     <body>
205 neysx 1.32
206     <p>
207 nightmorph 1.77 Boot from your LiveCD. Open a terminal and run <c>su -</c> so you can change your
208     password. This lets you set the root password for the CD. You can now configure
209     <c>sshd</c> for remote login, if you need to install Gentoo remotely. Next,
210     you'll need to create the <path>/mnt/gentoo</path> mountpoint.
211 neysx 1.32 </p>
212 swift 1.16
213 swift 1.22 <pre caption="Creating the /mnt/gentoo mountpoint">
214     # <i>mkdir /mnt/gentoo</i>
215     </pre>
216    
217 neysx 1.32 <p>
218     At this point, you can pick up with the standard install documentation at <uri
219     link="/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=4">part 4</uri>.
220 swift 1.53 However, when you are asked to mount the proc system, issue the following
221 neysx 1.32 command instead:
222     </p>
223 swift 1.22
224 neysx 1.32 <pre caption="Bind-mounting the proc pseudo filesystem">
225 swift 1.16 # <i>mount -o bind /proc /mnt/gentoo/proc</i>
226     </pre>
227    
228 smithj 1.60 <p>
229 nightmorph 1.77 When you're ready to unpack the stage tarball in <uri
230 nightmorph 1.82 link="/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=5#doc_chap2_sect2">part
231     5</uri>, you will need to use a different <c>tar</c> command to ensure that
232     proper group IDs are enforced on the unpacked stage:
233 nightmorph 1.77 </p>
234    
235     <pre caption="Unpacking the stage tarball">
236     # <i>tar --numeric-owner -xvjpf stage3-*.tar.bz2</i>
237     </pre>
238    
239     <p>
240 nightmorph 1.78 Once you're ready to chroot into your unpacked stage in <uri
241     link="/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=6#doc_chap1">part
242     6</uri>, you will need to use a different chroot command sequence. This ensures
243     that your environment variables are properly setup.
244     </p>
245    
246     <pre caption="Chrooting into the new environment">
247 jkt 1.80 <comment>(Some LiveCDs use a funny environment setup, hence the -i option for
248     cleaning it up to a reasonable state.)</comment>
249 jkt 1.81 # <i>chroot /mnt/gentoo /bin/env -i TERM=$TERM /bin/bash</i>
250 nightmorph 1.78 # <i>env-update</i>
251     # <i>source /etc/profile</i>
252     # <i>export PS1="(chroot) $PS1"</i>
253     </pre>
254    
255     <p>
256 nightmorph 1.77 Finally, know that some Portage FEATURES may not work in your LiveCD. Especially
257 smithj 1.60 watch out for <c>userpriv</c> and <c>usersandbox</c>. If you find yourself
258     getting errors, it might be wise to disable some or all of the optional
259 nightmorph 1.77 FEATURES.
260 smithj 1.60 </p>
261    
262 swift 1.75 <!--
263 swift 1.50 Commenting out due to #78716. If it needs to be restated again, note
264     that some will require to bind-mount it, others don't, and that you have
265     a 50-50 chance of winning the gold strike.
266 swift 1.75
267 swift 1.50
268 swift 1.45 <p>
269     You will also need to bind-mount the device tree to resolve permission issues
270     with various device files.
271     </p>
272    
273 swift 1.50 < ! - -
274 swift 1.45 If this doesn't seem to work, #71901 mentions the following command:
275     mount -o remount,rw,nosuid /dev/hd* /mnt/hd*
276     before all. Looks weird to me, but if this doesn't work, we might want to try
277     that.
278 swift 1.50 - - >
279 swift 1.45
280     <pre caption="Bind-mounting the device tree">
281     # <i>mount -o bind /dev /mnt/gentoo/dev</i>
282     </pre>
283 swift 1.50 -->
284 swift 1.45
285 gerrynjr 1.9 </body>
286     </section>
287     </chapter>
288    
289     <chapter>
290 neysx 1.32 <title>Diskless install using PXE boot</title>
291     <section>
292     <title>Requirements</title>
293     <body>
294 drobbins 1.1
295 neysx 1.32 <p>
296 swift 1.86 PXE (Preboot eXecution Environment) is a method for booting computers over
297     a PXE-capable network interface (and using a PXE-supporting BIOS). It is
298     also supported as a boot method from block devices (like CDs or USBs) in
299     case the system does not support PXE boot from the network interface or
300     BIOS. In such cases, a minimal boot environment mimics the PXE supporting
301     network card (see also <uri link="http://etherboot.org">Etherboot/gPXE</uri>).
302 neysx 1.32 </p>
303 drobbins 1.1
304     </body>
305     </section>
306 neysx 1.32 <section>
307     <title>Server base setup</title>
308 gerrynjr 1.9 <body>
309    
310 neysx 1.32 <p>
311     Create directories: The first thing to do is to create the directories where
312     your diskless system will be stored. Create a directory called
313     <path>/diskless</path> which houses a directory for each diskless client. For
314     the rest of this howto we'll be working on the client 'eta'.
315     </p>
316 gerrynjr 1.9
317 rane 1.62 <pre caption="Directory setup">
318 gerrynjr 1.9 # <i>mkdir /diskless</i>
319     # <i>mkdir /diskless/eta</i>
320     # <i>mkdir /diskless/eta/boot</i>
321     </pre>
322    
323 neysx 1.32 <p>
324     DHCP and TFTP setup: The client will get boot informations using DHCP and
325 nightmorph 1.76 download all the required files using TFTP.
326     </p>
327    
328     <p>
329     For dhcpd, just run <c>emerge dhcp</c> (or any other DHCP server of your
330     choice). Make sure that the correct interface is selected in
331     <path>/etc/conf.d/dhcpd</path>, and configure it for your basic needs. Then, add
332     the following on <path>/etc/dhcp/dhcpd.conf</path>.
333 neysx 1.32 </p>
334 gerrynjr 1.9
335 neysx 1.32 <note>
336 nightmorph 1.76 This provides a static IP address for the client and the path of a PXE boot
337 swift 1.75 image, here <path>pxegrub</path>. You have to replace the MAC address of the
338 nightmorph 1.76 ethernet card of the client and the directory where you will put the client
339 swift 1.75 files with the one you use.
340 neysx 1.32 </note>
341 gerrynjr 1.9
342 jkt 1.74 <pre caption="dhcpd.conf">
343 gerrynjr 1.9 option option-150 code 150 = text ;
344 swift 1.46 ddns-update-style none ;
345 gerrynjr 1.9 host eta {
346     hardware ethernet 00:00:00:00:00:00;
347 cam 1.24 fixed-address <i>ip.add.re.ss</i>;
348 gerrynjr 1.9 option option-150 "/eta/boot/grub.lst";
349     filename "/eta/boot/pxegrub";
350     }
351     </pre>
352    
353 neysx 1.32 <p>
354 nightmorph 1.73 Next you'll need to configure your interface in <path>/etc/conf.d/net</path> so
355 swift 1.83 that it doesn't get cleared at bootup. See
356     <path>/usr/share/doc/openrc-*/net.example.bz2</path> for more information.
357 nightmorph 1.73 </p>
358    
359     <pre caption="/etc/conf.d/net">
360     <comment>(Replace eth0 with the correct interface)</comment>
361     config_eth0=( "noop" )
362     </pre>
363    
364     <p>
365 nightmorph 1.87 For TFTP, emerge <c>net-ftp/tftp-hpa</c>. In
366 neysx 1.32 <path>/etc/conf.d/in.tftpd</path>, put the following :
367     </p>
368 gerrynjr 1.9
369     <pre caption="in.tftpd">
370     INTFTPD_PATH="/diskless"
371     INTFTPD_USER="nobody"
372     INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"
373     </pre>
374    
375 neysx 1.32 <p>
376 nightmorph 1.68 Setup GRUB: To provide PXE booting I use GRUB with the <c>netboot</c> USE flag
377     enabled. Once GRUB is compiled, copy the PXE image to the diskless client's
378     boot directory. Then edit its <path>grub.lst</path> config file.
379 neysx 1.32 </p>
380 gerrynjr 1.9
381 rane 1.62 <pre caption="Grub setup">
382 jkt 1.72 # <i>echo "sys-boot/grub netboot" &gt;&gt; /etc/portage/package.use</i>
383 nightmorph 1.68 # <i>emerge -av grub</i>
384     # <i>cp /usr/lib/grub/pxegrub /diskless/eta/boot/pxegrub</i>
385 gerrynjr 1.9 # <i>nano -w /diskless/eta/boot/grub.lst</i>
386     </pre>
387    
388     <pre caption="grub.lst">
389     default 0
390     timeout 30
391    
392     title=Diskless Gentoo
393     root (nd)
394 cam 1.24 kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=<i>ip.add.re.ss</i>:/diskless/eta
395 drobbins 1.1
396 swift 1.53 <comment># For the nfsroot option, the IP address is the one of the server and
397     the directory is the one where your diskless client files are located (on the server).</comment>
398 gerrynjr 1.9 </pre>
399    
400 neysx 1.32 <p>
401     Setup NFS: NFS is quite easy to configure. The only thing you have to do is to
402 neysx 1.67 add a line on the <path>/etc/exports</path> config file:
403 neysx 1.32 </p>
404 gerrynjr 1.9
405     <pre caption="/etc/exports">
406     # <i>nano -w /etc/exports</i>
407 neysx 1.32 # /etc/exports: NFS file systems being exported. See exports(5).
408 gerrynjr 1.9 /diskless/eta eta(rw,sync,no_root_squash)
409     </pre>
410    
411 neysx 1.32 <p>
412 neysx 1.67 Update your hosts: One important thing to do now is to modify your
413 neysx 1.32 <path>/etc/hosts</path> file to fit your needs.
414     </p>
415 gerrynjr 1.9
416     <pre caption="/etc/hosts">
417     127.0.0.1 localhost
418    
419     192.168.1.10 eta.example.com eta
420     192.168.1.20 sigma.example.com sigma
421     </pre>
422 neysx 1.32
423 gerrynjr 1.9 </body>
424     </section>
425 neysx 1.32 <section>
426     <title>Creating the system on the server</title>
427 gerrynjr 1.9 <body>
428    
429 neysx 1.32 <p>
430 swift 1.75 You might want to reboot the server with a Gentoo Install CD, although you can
431     very well continue immediately if you know how to proceed with the Gentoo
432     Installation Instructions from an existing installation. Follow the standard
433     install procedure as explained in the <uri link="/doc/en/handbook/">Gentoo
434     Handbook</uri> BUT with the following differences:
435 swift 1.84 When you mount the file system, do the following (where <path>sdaX</path> is
436 swift 1.75 the partition where you created the <path>/diskless</path> directory). You do
437     not need to mount any other partitions as all of the files will reside in the
438     <path>/diskless/eta</path> directory.
439 neysx 1.32 </p>
440 gerrynjr 1.9
441 rane 1.62 <pre caption="Mounting the filesystem">
442 swift 1.84 #<i> mount /dev/sdaX /mnt/gentoo</i>
443 gerrynjr 1.9 </pre>
444    
445 neysx 1.32 <p>
446     Stage tarballs and chroot: This example uses a stage3 tarball. Mount
447     <path>/proc</path> to your diskless directory and chroot into it to continue
448     with the install. Then follow the installation manual until kernel
449     configuration.
450     </p>
451 gerrynjr 1.9
452 neysx 1.32 <warn>
453     Be very careful where you extract your stage tarball. You don't want to end up
454     extracting over your existing installation.
455     </warn>
456 gerrynjr 1.9
457 rane 1.62 <pre caption="Extracting the stage tarball">
458 gerrynjr 1.9 # <i>cd /mnt/gentoo/diskless/eta/</i>
459     # <i>tar -xvjpf /mnt/cdrom/gentoo/stage3-*.tar.bz2</i>
460     # <i>mount -t proc /proc /mnt/gentoo/diskless/eta/proc</i>
461     # <i>cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf</i>
462     # <i>chroot /mnt/gentoo/diskless/eta/ /bin/bash</i>
463     # <i>env-update</i>
464     # <i>source /etc/profile</i>
465     </pre>
466    
467 neysx 1.32 <p>
468     Kernel configuration: When you do the <c>make menuconfig</c> of your kernel
469     configuration, don't forget to enable the following options with the others
470     recommended into the install howto.
471     </p>
472 gerrynjr 1.9
473     <pre caption="menuconfig options">
474     - Your network card device support
475 swift 1.34 <comment>(In the kernel, *not* as a module!)</comment>
476 gerrynjr 1.9
477     - Under "Networking options" :
478    
479     [*] TCP/IP networking
480     [*] IP: kernel level autoconfiguration
481     [*] IP: DHCP support
482     [*] IP: BOOTP support
483    
484    
485     - Under "File systems --> Network File Systems" :
486    
487     &lt;*&gt; NFS file system support
488     [*] Provide NFSv3 client support
489     [*] Root file system on NFS
490     </pre>
491    
492 neysx 1.32 <p>
493 swift 1.43 Save the kernel in your chrooted <path>/</path> (not in <path>/boot</path>)
494 swift 1.75 according to the pxegrub setting defined earlier. Next configure your
495 swift 1.43 diskless client's <path>/etc/fstab</path>.
496 neysx 1.32 </p>
497 gerrynjr 1.9
498     <pre caption="/etc/fstab">
499     # <i>nano -w /etc/fstab</i>
500     /dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
501     </pre>
502    
503 neysx 1.32 <p>
504 swift 1.35 You also need to prevent the client to run a filesystem check:
505     </p>
506    
507     <pre caption="Preventing the client to run a filesystem check">
508     # <i>touch /fastboot</i>
509     # <i>echo "touch /fastboot" &gt;&gt; /etc/conf.d/local.start</i>
510     </pre>
511    
512     <p>
513 swift 1.43 Install <c>nfs-utils</c> since your client will heavily depend on it:
514     </p>
515    
516     <pre caption="Installing nfs-utils">
517     # <i>emerge nfs-utils</i>
518     </pre>
519    
520     <p>
521 neysx 1.32 Bootloader. Don't install another bootloader because we already have one -
522     pxegrub. Simply finish the install and restart the server. Start the services
523     you'll need to boot the new client: DHCP, TFTPD, and NFS.
524     </p>
525 gerrynjr 1.9
526     <pre caption="Starting services">
527     # <i>/etc/init.d/dhcp start</i>
528 swift 1.43 # <i>/etc/init.d/in.tftpd start</i>
529 gerrynjr 1.9 # <i>/etc/init.d/nfs start</i>
530     </pre>
531    
532 neysx 1.32 </body>
533     </section>
534     <section>
535     <title>Booting the new client</title>
536     <body>
537 gerrynjr 1.9
538 neysx 1.32 <p>
539     For the new client to boot properly, you'll need to configure the bios and the
540     network card to use PXE as the first boot method - before CD-ROM or floppy. For
541     help with this consult your hardware manuals or manufacturers website. The
542     network card should get an IP address using DHCP and download the GRUB PXE
543     image using TFTP. Then, you should see a nice black and white GRUB bootmenu
544     where you will select the kernel to boot and press Enter. If everything is ok
545     the kernel should boot, mount the root filesystem using NFS and provide you
546     with a login prompt. Enjoy.
547     </p>
548 gerrynjr 1.9
549 neysx 1.32 </body>
550     </section>
551 gerrynjr 1.9 </chapter>
552 drobbins 1.1
553 neysx 1.32 <chapter>
554 swift 1.75 <title>Installing Gentoo from an existing Linux distribution</title>
555 neysx 1.32 <section>
556     <title>Requirements</title>
557     <body>
558 drobbins 1.1
559 neysx 1.32 <p>
560     In order to install Gentoo from your existing Linux distribution you need to
561 drobbins 1.1 have chroot command installed, and have a copy of the Gentoo installation
562     tarball or ISO you want to install. A network connection would be preferable if
563     you want more than what's supplied in your tarball. (by the way, a tarball is
564     just a file ending in .tbz or .tar.gz). The author used RedHat Linux 7.3 as the
565 neysx 1.32 "host" operating system, but it is not very important. Let's get started!
566     </p>
567    
568 drobbins 1.1 </body>
569     </section>
570 neysx 1.32 <section>
571     <title>Overview</title>
572     <body>
573    
574     <p>
575     We will first allocate a partition to Gentoo by resizing our existing Linux
576 swift 1.75 partition, mount the partition, untar the tarball to the partition that is
577     mounted, chroot inside the pseudo-system and start building. Once the bootstrap
578     process is done, we will do some final configuration on the system so as to
579     make sure it boots, then we are ready to reboot and use Gentoo.
580 neysx 1.32 </p>
581 drobbins 1.1
582     </body>
583     </section>
584 neysx 1.32 <section>
585     <title>How should we make space for Gentoo?</title>
586 drobbins 1.1 <body>
587    
588     <p>
589 neysx 1.32 The root partition is the filesystem mounted under <path>/</path>. A quick run
590 swift 1.75 of <c>mount</c> on my system shows what I am talking about. We well also use
591     <c>df</c> (disk free) to see how much space I have left and how I will be
592     resizing. Note that it is not mandatory to resize your root partition! You
593     could be resizing anything else supported by our resizer, but let's talk about
594     that later.
595 neysx 1.32 </p>
596 drobbins 1.1
597     <pre caption="Filesystem information">
598     # <i>mount</i>
599 swift 1.84 /dev/sdb2 on / type ext3 (rw)
600 vapier 1.41 none on /proc type proc (rw)
601     none on /dev/pts type devpts (rw,gid=5,mode=620)
602     none on /dev/shm type tmpfs (rw,nodev,nosuid,noexec)
603 drobbins 1.1 # <i>df -h </i>
604 swift 1.75 Filesystem Size Used Avail Use% Mounted on
605 swift 1.84 /dev/sdb2 4.0G 1.9G 2.4G 82% /
606 swift 1.75 none 38M 0 38M 0% /dev/shm
607 drobbins 1.1 </pre>
608    
609 neysx 1.32 <p>
610     As we can see, the partition mounted as <path>/</path> named
611 swift 1.84 <path>/dev/sdb2</path> has 2.4 gigabytes free. In my case, I think I will
612 neysx 1.32 resize it as to leave 400Megs free of space, therefore allocating 2 gigabytes
613 neysx 1.67 for Gentoo. Not bad, I could have quite some stuff installed. However, I think
614 neysx 1.32 that even one gigabyte is enough for most users. So let's partition this thing!
615     </p>
616 drobbins 1.1
617 swift 1.21 </body>
618     </section>
619     <section>
620 swift 1.75 <title>Building parted to resize partition</title>
621 drobbins 1.1 <body>
622 swift 1.21
623     <p>
624 neysx 1.32 Parted is an utility supplied by the GNU foundation, an old and respectable
625     huge project whose software you are using in this very moment. There is one
626     tool, however, that is extremely useful for us at the moment. It's called
627     parted, partition editor and we can get it from
628     <uri>http://www.gnu.org/software/parted/</uri>
629 drobbins 1.1 </p>
630 swift 1.21
631     <note>
632 neysx 1.67 There are other tools for doing resize of partitions as well, but the author is
633 neysx 1.32 unsure/uninterested whether PartitionMagic(tm) or other software of the kind do
634 swift 1.75 the job. It's the reader's job to check them out
635 swift 1.21 </note>
636 drobbins 1.1
637 swift 1.75 <p>
638 neysx 1.32 Look up on that page the type of filesystem you want to resize and see if
639     parted can do it. If not, you're out of luck, you will have to destroy some
640     partition to make space for Gentoo, and reinstall back. Go ahead by downloading
641     the software, install it. Here we have a problem. We want to resize our Linux
642     root partition, therefore we must boot from a floppy disk a minimal linux
643     system and use previously-compiled parted copied to a diskette in order to
644     resize <path>/</path>. However, if you can unmount the partition while still
645     in Linux you are lucky, you don't need to do what follows. Just compile parted
646     and run it on an unmounted partition you chose to resize. Here's how I did it
647     for my system.
648 drobbins 1.1 </p>
649    
650 swift 1.21 <impo>
651 neysx 1.32 Make sure that the operations you want to do on your partition are supported by
652     parted!
653 swift 1.21 </impo>
654 drobbins 1.1
655 swift 1.21 <p>
656 neysx 1.49 Get the mininux boot/root disk (a 2.4-powered mini Linux distribution on a
657     floppy - free of charge) from <uri>http://mininux.free.fr/uk/</uri>, create a
658     floppy as suggested in the Documentation that accompanies the software package
659     and insert a new floppy in the drive for the next step.
660 swift 1.21 </p>
661 drobbins 1.1
662 swift 1.21 <note>
663     Note again that Linux is synonym of "There's one more way to do it". Your
664 drobbins 1.1 objective is to run parted on an unmounted partition so it can do its work. You
665 neysx 1.67 might use some boot/root diskset other than mininux. You might not even
666 swift 1.75 need to do this step at all, ie. you might only have umount the filesystem you
667     want to repartition in your Linux session and run parted on it.
668 swift 1.21 </note>
669 drobbins 1.1
670     <pre caption="Utility disk creation">
671     # <i>mkfs.minix /dev/fd0</i>
672     480 inodes
673     1440 blocks
674     Firstdatazone=19 (19)
675     Zonesize=1024
676     Maxsize=268966912
677     </pre>
678    
679 swift 1.21 <p>
680 neysx 1.32 We will now proceed with the build of parted. If it's not already downloaded
681 swift 1.75 and untarred, do so now and <c>cd</c> into the corresponding directory. Now run
682     the following set of commands to build the utility and copy it to your floppy
683     disk.
684 swift 1.21 </p>
685 drobbins 1.1
686     <pre caption="Building the utility floppy">
687 swift 1.75 # <i> mkdir /floppy; mount -t minix /dev/fd0 /floppy &amp;&amp;
688     export CFLAGS="-O3 -pipe -fomit-frame-pointer -static" &amp;&amp; ./configure
689 drobbins 1.1 &amp;&amp; make &amp;&amp; cp parted/parted /floppy &amp;&amp; umount /floppy </i>
690     </pre>
691    
692     <p>
693 neysx 1.32 Congratulations, you are ready to reboot and resize your partition. Do this
694     only after taking a quick look at the parted documentation on the GNU website.
695     The resize should take under 30 minutes for the largest hard-drives, be
696 swift 1.48 patient. Reboot your system with the mininux boot disk (just pop it inside),
697 neysx 1.32 and once you are logged in, switch the disk in the drive with your utility disk
698 swift 1.75 we have created above and type <c>mount /dev/fd0 /floppy</c> to have parted
699     under <path>/floppy</path>. There you go. Run parted and you will be able to
700     resize your partition. Once this lenghty process done, we are ready to have the
701     real fun, by installing Gentoo. Reboot back into your old Linux system for now.
702     The drive you wish to operate on is the drive containing the partition we want
703 swift 1.84 to resize. For example, if we want to resize /dev/sda3, the drive is /dev/sda.
704 swift 1.8 </p>
705 drobbins 1.1
706 swift 1.48 <pre caption="Commands to run once logged into mininux system">
707 drobbins 1.1 # <i>mount /dev/fd0 /floppy </i>
708     # <i>cd /floppy; ./parted [drive you wish to operate on]</i>
709     (parted) <i> print </i>
710 swift 1.84 Disk geometry for /dev/sdb: 0.000-9787.148 megabytes
711 drobbins 1.1 Disk label type: msdos
712     Minor Start End Type Filesystem Flags
713 swift 1.75 1 0.031 2953.125 primary ntfs
714     3 2953.125 3133.265 primary linux-swap
715     2 3133.266 5633.085 primary ext3
716     4 5633.086 9787.148 extended
717     5 5633.117 6633.210 logical
718     6 6633.242 9787.148 logical ext3
719 drobbins 1.1 (parted) <i> help resize </i>
720     resize MINOR START END resize filesystem on partition MINOR
721    
722     MINOR is the partition number used by Linux. On msdos disk labels, the
723     primary partitions number from 1-4, and logical partitions are 5
724     onwards.
725     START and END are in megabytes
726     (parted) <i> resize 2 3133.266 4000.000 </i>
727     </pre>
728    
729 neysx 1.32 <impo>
730 neysx 1.67 Be patient! The computer is working! Just look at the harddrive LED on your case
731 neysx 1.32 to see that it is really working. This should take between 2 and 30 minutes.
732     </impo>
733 drobbins 1.1
734 neysx 1.32 <p>
735     Once you have resized, boot back into your old linux as described. Then go to
736     <uri link="/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=4">The Gentoo
737     Handbook: Preparing the Disks</uri> and follow the instructions. When
738     chrooting, use the following command to flush your environment:
739 swift 1.17 </p>
740 drobbins 1.1
741 neysx 1.32 <pre caption="Flushing the environment during chroot">
742 swift 1.39 # <i>env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash</i>
743 swift 1.42 # <i>/usr/sbin/env-update</i>
744 swift 1.40 # <i>source /etc/profile</i>
745 swift 1.17 </pre>
746 drobbins 1.1
747 swift 1.17 <p>
748 drobbins 1.1 Enjoy!
749     </p>
750 neysx 1.32
751 drobbins 1.1 </body>
752     </section>
753     </chapter>
754     </guide>

  ViewVC Help
Powered by ViewVC 1.1.20