/[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.77 - (hide annotations) (download) (as text)
Mon Jun 14 20:22:17 2010 UTC (4 years, 6 months ago) by nightmorph
Branch: MAIN
Changes since 1.76: +48 -27 lines
File MIME type: application/xml
rewrite the altinstall guide to be more generic about non-Gentoo LiveCDs, also made it clearer that they are unsupported if something goes wrong with them. also included a tip from bug 323973 when extracting the stage tarball.

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

  ViewVC Help
Powered by ViewVC 1.1.20