/[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.44 - (hide annotations) (download) (as text)
Mon Dec 13 06:06:23 2004 UTC (9 years, 7 months ago) by bennyc
Branch: MAIN
Changes since 1.43: +5 -5 lines
File MIME type: application/xml
adding c tag for su -- suggestion from thematrixhunter@yahoo.com

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

  ViewVC Help
Powered by ViewVC 1.1.20