/[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.39 - (hide annotations) (download) (as text)
Wed Sep 22 11:23:04 2004 UTC (10 years ago) by swift
Branch: MAIN
Changes since 1.38: +4 -4 lines
File MIME type: application/xml
The chroot binary isnt always in the same location, but its usually in root his PATH. Thanks to Georges Kesseler for noticing this

1 zhen 1.3 <?xml version='1.0' encoding="UTF-8"?>
2 swift 1.39 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/altinstall.xml,v 1.38 2004/09/19 18:03:40 dertobi123 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 swift 1.39 <version>0.48</version>
55     <date>September 22, 2004</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     Next, I su to root and typed <c>usermod -d /root -m root</c>. This sets user
179     roots home directory to /root (the Gentoo way) from /home/root (the Knoppix
180     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     <codenote>In the options you will see a list of supported network interface drivers. </codenote>
395     <codenote>Select the driver compatible with your card. Herein referenced a $nic</codenote>
396     # <i>./configure --enable-diskless --enable-$nic</i>
397     # <i>make</i>
398     # <i>cd stage2</i>
399     # <i>cp pxegrub /diskless/eta/boot/pxegrub</i>
400     # <i>nano -w /diskless/eta/boot/grub.lst</i>
401     </pre>
402    
403     <pre caption="grub.lst">
404     default 0
405     timeout 30
406    
407     title=Diskless Gentoo
408     root (nd)
409 cam 1.24 kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=<i>ip.add.re.ss</i>:/diskless/eta
410 drobbins 1.1
411 gerrynjr 1.9 <codenote>For the nfsroot option, the IP address is the one of the server and </codenote>
412     <codenote>the directory is the one where your diskless client files are located (on the server).</codenote>
413     </pre>
414    
415 neysx 1.32 <p>
416     Setup NFS: NFS is quite easy to configure. The only thing you have to do is to
417     add a line on the <path>/etc/exports</path> config file :
418     </p>
419 gerrynjr 1.9
420     <pre caption="/etc/exports">
421     # <i>nano -w /etc/exports</i>
422 neysx 1.32 # /etc/exports: NFS file systems being exported. See exports(5).
423 gerrynjr 1.9 /diskless/eta eta(rw,sync,no_root_squash)
424     </pre>
425    
426 neysx 1.32 <p>
427     Update your hosts: One important thing to do now is to modify your
428     <path>/etc/hosts</path> file to fit your needs.
429     </p>
430 gerrynjr 1.9
431     <pre caption="/etc/hosts">
432     127.0.0.1 localhost
433    
434     192.168.1.10 eta.example.com eta
435     192.168.1.20 sigma.example.com sigma
436     </pre>
437 neysx 1.32
438 gerrynjr 1.9 </body>
439     </section>
440 neysx 1.32 <section>
441     <title>Creating the system on the server</title>
442 gerrynjr 1.9 <body>
443    
444 neysx 1.32 <p>
445 swift 1.34 You might want to reboot the server with a Gentoo LiveCD, although you can
446     very well continue immediately if you know how to proceed with the Gentoo
447     Installation Instructions from an existing installation. Follow the standard
448     install procedure as explained in the Gentoo Install Howto BUT with the
449     following differences:
450     When you mount the file system, do the following (where hdaX is the partition
451     where you created the /diskless directory). You do not need to mount any other
452 neysx 1.32 partitions as all of the files will reside in the <path>/diskless/eta</path>
453     directory.
454     </p>
455 gerrynjr 1.9
456     <pre caption="mounting the filesystem">
457     #<i> mount /dev/hda3 /mnt/gentoo</i>
458     </pre>
459    
460 neysx 1.32 <p>
461     Stage tarballs and chroot: This example uses a stage3 tarball. Mount
462     <path>/proc</path> to your diskless directory and chroot into it to continue
463     with the install. Then follow the installation manual until kernel
464     configuration.
465     </p>
466 gerrynjr 1.9
467 neysx 1.32 <warn>
468     Be very careful where you extract your stage tarball. You don't want to end up
469     extracting over your existing installation.
470     </warn>
471 gerrynjr 1.9
472     <pre caption="extracting the stage tarball">
473     # <i>cd /mnt/gentoo/diskless/eta/</i>
474     # <i>tar -xvjpf /mnt/cdrom/gentoo/stage3-*.tar.bz2</i>
475     # <i>mount -t proc /proc /mnt/gentoo/diskless/eta/proc</i>
476     # <i>cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf</i>
477     # <i>chroot /mnt/gentoo/diskless/eta/ /bin/bash</i>
478     # <i>env-update</i>
479     # <i>source /etc/profile</i>
480     </pre>
481    
482 neysx 1.32 <p>
483     Kernel configuration: When you do the <c>make menuconfig</c> of your kernel
484     configuration, don't forget to enable the following options with the others
485     recommended into the install howto.
486     </p>
487 gerrynjr 1.9
488     <pre caption="menuconfig options">
489     - Your network card device support
490 swift 1.34 <comment>(In the kernel, *not* as a module!)</comment>
491 gerrynjr 1.9
492     - Under "Networking options" :
493    
494     [*] TCP/IP networking
495     [*] IP: kernel level autoconfiguration
496     [*] IP: DHCP support
497     [*] IP: BOOTP support
498    
499    
500     - Under "File systems --> Network File Systems" :
501    
502     &lt;*&gt; NFS file system support
503     [*] Provide NFSv3 client support
504     [*] Root file system on NFS
505     </pre>
506    
507 neysx 1.32 <p>
508     Next configure your diskless client's <path>/etc/fstab</path>.
509     </p>
510 gerrynjr 1.9
511     <pre caption="/etc/fstab">
512     # <i>nano -w /etc/fstab</i>
513     /dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
514     proc /proc proc defaults 0 0
515     tmpfs /dev/shm tmpfs defaults 0 0
516     </pre>
517    
518 neysx 1.32 <p>
519 swift 1.35 You also need to prevent the client to run a filesystem check:
520     </p>
521    
522     <pre caption="Preventing the client to run a filesystem check">
523     # <i>touch /fastboot</i>
524     # <i>echo "touch /fastboot" &gt;&gt; /etc/conf.d/local.start</i>
525     </pre>
526    
527     <p>
528 neysx 1.32 Bootloader. Don't install another bootloader because we already have one -
529     pxegrub. Simply finish the install and restart the server. Start the services
530     you'll need to boot the new client: DHCP, TFTPD, and NFS.
531     </p>
532 gerrynjr 1.9
533     <pre caption="Starting services">
534     # <i>/etc/init.d/dhcp start</i>
535     # <i>/etc/init.d/tftpd start</i>
536     # <i>/etc/init.d/nfs start</i>
537     </pre>
538    
539 neysx 1.32 </body>
540     </section>
541     <section>
542     <title>Booting the new client</title>
543     <body>
544 gerrynjr 1.9
545 neysx 1.32 <p>
546     For the new client to boot properly, you'll need to configure the bios and the
547     network card to use PXE as the first boot method - before CD-ROM or floppy. For
548     help with this consult your hardware manuals or manufacturers website. The
549     network card should get an IP address using DHCP and download the GRUB PXE
550     image using TFTP. Then, you should see a nice black and white GRUB bootmenu
551     where you will select the kernel to boot and press Enter. If everything is ok
552     the kernel should boot, mount the root filesystem using NFS and provide you
553     with a login prompt. Enjoy.
554     </p>
555 gerrynjr 1.9
556 neysx 1.32 </body>
557     </section>
558 gerrynjr 1.9 </chapter>
559 drobbins 1.1
560 neysx 1.32 <chapter>
561     <title>Installing Gentoo from an existing Linux distribution</title>
562     <section>
563     <title>Requirements</title>
564     <body>
565 drobbins 1.1
566 neysx 1.32 <p>
567     In order to install Gentoo from your existing Linux distribution you need to
568 drobbins 1.1 have chroot command installed, and have a copy of the Gentoo installation
569     tarball or ISO you want to install. A network connection would be preferable if
570     you want more than what's supplied in your tarball. (by the way, a tarball is
571     just a file ending in .tbz or .tar.gz). The author used RedHat Linux 7.3 as the
572 neysx 1.32 "host" operating system, but it is not very important. Let's get started!
573     </p>
574    
575 drobbins 1.1 </body>
576     </section>
577 neysx 1.32 <section>
578     <title>Overview</title>
579     <body>
580    
581     <p>
582     We will first allocate a partition to Gentoo by resizing our existing Linux
583     partition, mount the partition, untar the tarball that is mounted, chroot
584     inside the psuedo-system and start building. Once the bootstrap process is
585     done, we will do some final configuration on the system so as to make sure it
586     boots, then we are ready to reboot and use Gentoo.
587     </p>
588 drobbins 1.1
589     </body>
590     </section>
591 neysx 1.32 <section>
592     <title>How should we make space for Gentoo?</title>
593 drobbins 1.1 <body>
594    
595     <p>
596 neysx 1.32 The root partition is the filesystem mounted under <path>/</path>. A quick run
597     of mount on my system shows what I am talking about. We well also use df (disk
598     free) to see how much space I have left and how I will be resizing. Note that
599     it is not mandatory to resize your root partition! You could be resizing
600     anything else supported by our resizer, but let's talk about that later.
601     </p>
602 drobbins 1.1
603     <pre caption="Filesystem information">
604     # <i>mount</i>
605     /dev/hdb2 on / type ext3 (rw)
606     none on /proc type proc (rw)
607     none on /dev/pts type devpts (rw,gid=5,mode=620)
608     none on /dev/shm type tmpfs (rw)
609     # <i>df -h </i>
610     Filesystem Size Used Avail Use% Mounted on
611     /dev/hdb2 4.0G 1.9G 2.4G 82% /
612     none 38M 0 38M 0% /dev/shm
613     </pre>
614    
615 neysx 1.32 <p>
616     As we can see, the partition mounted as <path>/</path> named
617     <path>/dev/hdb2</path> has 2.4 gigabytes free. In my case, I think I will
618     resize it as to leave 400Megs free of space, therefore allocating 2 gigabytes
619     for Gentoo. Not bad, I could have quite some stuff installed. However, think
620     that even one gigabyte is enough for most users. So let's partition this thing!
621     </p>
622 drobbins 1.1
623 swift 1.21 </body>
624     </section>
625     <section>
626     <title>Building parted to resize partition</title>
627 drobbins 1.1 <body>
628 swift 1.21
629     <p>
630 neysx 1.32 Parted is an utility supplied by the GNU foundation, an old and respectable
631     huge project whose software you are using in this very moment. There is one
632     tool, however, that is extremely useful for us at the moment. It's called
633     parted, partition editor and we can get it from
634     <uri>http://www.gnu.org/software/parted/</uri>
635 drobbins 1.1 </p>
636 swift 1.21
637     <note>
638 neysx 1.32 There are other tools for doing resize of partitions as well, but author is
639     unsure/uninterested whether PartitionMagic(tm) or other software of the kind do
640     the job. It's the reader's job to check them out
641 swift 1.21 </note>
642 drobbins 1.1
643     <p>
644 neysx 1.32 Look up on that page the type of filesystem you want to resize and see if
645     parted can do it. If not, you're out of luck, you will have to destroy some
646     partition to make space for Gentoo, and reinstall back. Go ahead by downloading
647     the software, install it. Here we have a problem. We want to resize our Linux
648     root partition, therefore we must boot from a floppy disk a minimal linux
649     system and use previously-compiled parted copied to a diskette in order to
650     resize <path>/</path>. However, if you can unmount the partition while still
651     in Linux you are lucky, you don't need to do what follows. Just compile parted
652     and run it on an unmounted partition you chose to resize. Here's how I did it
653     for my system.
654 drobbins 1.1 </p>
655    
656 swift 1.21 <impo>
657 neysx 1.32 Make sure that the operations you want to do on your partition are supported by
658     parted!
659 swift 1.21 </impo>
660 drobbins 1.1
661 swift 1.21 <p>
662 neysx 1.32 Get tomsrtbt boot/root disk (free of charge) from
663     <uri>http://freshmeat.net/tomsrtbt </uri>, create a floppy as suggested in the
664     Documentation that accompanies the software package and insert a new floppy in
665     the drive for the next step.
666 swift 1.21 </p>
667 drobbins 1.1
668 swift 1.21 <note>
669     Note again that Linux is synonym of "There's one more way to do it". Your
670 drobbins 1.1 objective is to run parted on an unmounted partition so it can do its work. You
671     might use some other boot/root diskset other than tomsrtbt. You might not even
672     need to do this step at all, that is only umount the filesystem you want to
673 swift 1.21 repartition in your Linux session and run parted on it.
674     </note>
675 drobbins 1.1
676     <pre caption="Utility disk creation">
677     # <i>mkfs.minix /dev/fd0</i>
678     480 inodes
679     1440 blocks
680     Firstdatazone=19 (19)
681     Zonesize=1024
682     Maxsize=268966912
683     </pre>
684    
685 swift 1.21 <p>
686 neysx 1.32 We will now proceed with the build of parted. If it's not already downloaded
687     and untarred, do so now and cd into the corresponding directory. Now run the
688     following set of commands to build the utility and copy it to your floppy disk.
689 swift 1.21 </p>
690 drobbins 1.1
691     <pre caption="Building the utility floppy">
692     # <i> mkdir /floppy; mount -t minix /dev/fd0 /floppy &amp;&amp;
693     export CFLAGS="-O3 -pipe -fomit-frame-pointer -static" &amp;&amp; ./configure
694     &amp;&amp; make &amp;&amp; cp parted/parted /floppy &amp;&amp; umount /floppy </i>
695     </pre>
696    
697     <p>
698 neysx 1.32 Congratulations, you are ready to reboot and resize your partition. Do this
699     only after taking a quick look at the parted documentation on the GNU website.
700     The resize should take under 30 minutes for the largest hard-drives, be
701     patient. Reboot your system with the tomsrtbt boot disk (just pop it inside),
702     and once you are logged in, switch the disk in the drive with your utility disk
703     we have created above and type mount /dev/fd0 /floppy to have parted under
704     /floppy. There you go. Run parted and you will be able to resize your
705     partition. Once this lenghty process done, we are ready to have the real fun,
706     by installing Gentoo. Reboot back into your old Linux system for now. Drive you
707     wish to operate on is the drive containing the partition we want to resize. For
708 swift 1.8 example, if we want to resize /dev/hda3, the drive is /dev/hda
709     </p>
710 drobbins 1.1
711     <pre caption="Commands to run once logged into tomsrtbt system">
712     # <i>mount /dev/fd0 /floppy </i>
713     # <i>cd /floppy; ./parted [drive you wish to operate on]</i>
714     (parted) <i> print </i>
715     Disk geometry for /dev/hdb: 0.000-9787.148 megabytes
716     Disk label type: msdos
717     Minor Start End Type Filesystem Flags
718     1 0.031 2953.125 primary ntfs
719     3 2953.125 3133.265 primary linux-swap
720     2 3133.266 5633.085 primary ext3
721     4 5633.086 9787.148 extended
722     5 5633.117 6633.210 logical
723     6 6633.242 9787.148 logical ext3
724     (parted) <i> help resize </i>
725     resize MINOR START END resize filesystem on partition MINOR
726    
727     MINOR is the partition number used by Linux. On msdos disk labels, the
728     primary partitions number from 1-4, and logical partitions are 5
729     onwards.
730     START and END are in megabytes
731     (parted) <i> resize 2 3133.266 4000.000 </i>
732     </pre>
733    
734 neysx 1.32 <impo>
735     Be patient! The computer is working! Just look at the hardware LED on your case
736     to see that it is really working. This should take between 2 and 30 minutes.
737     </impo>
738 drobbins 1.1
739 neysx 1.32 <p>
740     Once you have resized, boot back into your old linux as described. Then go to
741     <uri link="/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=4">The Gentoo
742     Handbook: Preparing the Disks</uri> and follow the instructions. When
743     chrooting, use the following command to flush your environment:
744 swift 1.17 </p>
745 drobbins 1.1
746 neysx 1.32 <pre caption="Flushing the environment during chroot">
747 swift 1.39 # <i>env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash</i>
748 swift 1.17 </pre>
749 drobbins 1.1
750 swift 1.17 <p>
751 drobbins 1.1 Enjoy!
752     </p>
753 neysx 1.32
754 drobbins 1.1 </body>
755     </section>
756     </chapter>
757 neysx 1.32
758 drobbins 1.1 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20