/[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.53 - (hide annotations) (download) (as text)
Thu Apr 7 13:24:35 2005 UTC (9 years, 5 months ago) by swift
Branch: MAIN
Changes since 1.52: +20 -24 lines
File MIME type: application/xml
#87343 - Fix knoppix instructions

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

  ViewVC Help
Powered by ViewVC 1.1.20