/[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.71 - (hide annotations) (download) (as text)
Fri Feb 23 11:21:59 2007 UTC (7 years, 9 months ago) by nightmorph
Branch: MAIN
Changes since 1.70: +3 -109 lines
File MIME type: application/xml
remove chapter on networkless stage1 installs -- 'officially unsupported'

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

  ViewVC Help
Powered by ViewVC 1.1.20