MentholMoose
12-28-2006, 03:05 PM
I had some spare time so I decided to reinstall the OS on my laptop. The last time I did this was when I bought the laptop, about 1.5 years ago. My laptop is an IBM ThinkPad T42p, with 1GB DDR RAM, ATI FireGL2, and 1.8GHz Dothan.
I use Gentoo, so it took a few hours to get the base system up and ready to have other software installed (window manager, office applications, etc.).
My laptop is my primary desktop and I don't like any downtime on it. I have an extra laptop hard drive and external enclosure. I did not download any installer CDs. I connected the new hard drive to my laptop and proceeded to install Gentoo on it from my existing Gentoo installation. I thought that someone possibly might be slightly interested in seeing one way to install Gentoo, so here it is.
First, I prepare the new disk for installation (partition, format, mount, etc.).
mentholmoose@pinchy ~ $ su -
Password:
root@pinchy ~ # fdisk /dev/sda
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 38154.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): p
Disk /dev/sda: 40.0 GB, 40007762432 bytes
64 heads, 32 sectors/track, 38154 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-38154, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-38154, default 38154): +40M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (40-38154, default 40):
Using default value 40
Last cylinder or +size or +sizeM or +sizeK (40-38154, default 38154): +20000M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (19114-38154, default 19114):
Using default value 19114
Last cylinder or +size or +sizeM or +sizeK (19114-38154, default 38154): 36700
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Selected partition 4
First cylinder (36701-38154, default 36701):
Using default value 36701
Last cylinder or +size or +sizeM or +sizeK (36701-38154, default 38154):
Using default value 38154
Command (m for help): t
Partition number (1-4): 4
Hex code (type L to list codes): 82
Changed system type of partition 4 to 82 (Linux swap / Solaris)
Command (m for help): a
Partition number (1-4): 1
Command (m for help): p
Disk /dev/sda: 40.0 GB, 40007762432 bytes
64 heads, 32 sectors/track, 38154 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 39 39920 83 Linux
/dev/sda2 40 19113 19531776 83 Linux
/dev/sda3 19114 36700 18009088 83 Linux
/dev/sda4 36701 38154 1488896 82 Linux swap / Solaris
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
root@pinchy ~ # mkfs.ext2 /dev/sda1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
10000 inodes, 39920 blocks
1996 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=40894464
5 block groups
8192 blocks per group, 8192 fragments per group
2000 inodes per group
Superblock backups stored on blocks:
8193, 24577
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
root@pinchy ~ # mkfs.ext3 /dev/sda2
mke2fs 1.39 (29-May-2006)
warning: 512 blocks unused.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2445984 inodes, 4882432 blocks
244147 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=8388608
149 block groups
32768 blocks per group, 32768 fragments per group
16416 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
root@pinchy ~ # mkfs.ext3 /dev/sda3
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2252160 inodes, 4502272 blocks
225113 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=8388608
138 block groups
32768 blocks per group, 32768 fragments per group
16320 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
root@pinchy ~ # mkswap /dev/sda4
Setting up swapspace version 1, size = 1524625 kB
no label, UUID=78135b38-7a77-4ae2-a75e-679fab61d392
root@pinchy ~ # swapon /dev/sda
sda sda1 sda2 sda3 sda4
root@pinchy ~ # swapon /dev/sda4
root@pinchy ~ # mkdir /mnt/gentoo
root@pinchy ~ # mount /dev/sda2 /mnt/gentoo/
root@pinchy ~ # mkdir /mnt/gentoo/boot
root@pinchy ~ # mkdir /mnt/gentoo/home
root@pinchy ~ # mount /dev/sda1 /mnt/gentoo/boot/
root@pinchy ~ # mount /dev/sda3 /mnt/gentoo/home/
Next, I download and extract a Gentoo "stage" archive. This is basically a minimal environment used to install Gentoo. I also download and extract a portage snapshop. Then I do some other necessary preparations.
root@pinchy /mnt/gentoo # wget ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/releases/x86/2006.1/stages/stage1-x86-2006.1.tar.bz2
--14:17:27-- ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/releases/x86/2006.1/stages/stage1-x86-2006.1.tar.bz2
=> `stage1-x86-2006.1.tar.bz2'
Resolving ftp.ucsb.edu... 128.111.24.43
Connecting to ftp.ucsb.edu|128.111.24.43|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pub/mirrors/linux/gentoo/releases/x86/2006.1/stages ... done.
==> PASV ... done. ==> RETR stage1-x86-2006.1.tar.bz2 ... done.
Length: 26,302,805 (25M) (unauthoritative)
100%[================================================== =========>] 26,302,805 135.05K/s ETA 00:00
14:20:36 (135.40 KB/s) - `stage1-x86-2006.1.tar.bz2' saved [26302805]
/mnt/gentoo # wget ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/releases/x86/2006.1/stages/stage1-x86-2006.1.tar.bz2.asc
--14:20:46-- ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/releases/x86/2006.1/stages/stage1-x86-2006.1.tar.bz2.asc
=> `stage1-x86-2006.1.tar.bz2.asc'
Resolving ftp.ucsb.edu... 128.111.24.43
Connecting to ftp.ucsb.edu|128.111.24.43|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pub/mirrors/linux/gentoo/releases/x86/2006.1/stages ... done.
==> PASV ... done. ==> RETR stage1-x86-2006.1.tar.bz2.asc ... done.
Length: 189 (unauthoritative)
100%[================================================== =========>] 189 --.--K/s
14:20:47 (9.02 KB/s) - `stage1-x86-2006.1.tar.bz2.asc' saved [189]
root@pinchy /mnt/gentoo # gpg --verify stage1-x86-2006.1.tar.bz2.asc
gpg: Signature made Fri Sep 29 05:43:19 2006 PDT using DSA key ID 17072058
gpg: Good signature from "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: D99E AC73 79A8 50BC E47D A5F2 9E64 38C8 1707 2058
root@pinchy /mnt/gentoo # tar xjpf stage1-x86-2006.1.tar.bz2
root@pinchy /mnt/gentoo # ls
bin dev home lost+found opt root stage1-x86-2006.1.tar.bz2 sys usr
boot etc lib mnt proc sbin stage1-x86-2006.1.tar.bz2.asc tmp var
root@pinchy /mnt/gentoo # wget http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/snapshots/portage-20061225.tar.bz2
--14:25:15-- http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/snapshots/portage-20061225.tar.bz2
=> `portage-20061225.tar.bz2'
Resolving ftp.ucsb.edu... 128.111.24.43
Connecting to ftp.ucsb.edu|128.111.24.43|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 34,680,019 (33M) [application/x-tar]
100%[================================================== =========>] 34,680,019 122.58K/s ETA 00:00
14:29:38 (128.61 KB/s) - `portage-20061225.tar.bz2' saved [34680019/34680019]
root@pinchy /mnt/gentoo # wget http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/snapshots/portage-20061225.tar.bz2.md5sum
--14:31:01-- http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/snapshots/portage-20061225.tar.bz2.md5sum
=> `portage-20061225.tar.bz2.md5sum'
Resolving ftp.ucsb.edu... 128.111.24.43
Connecting to ftp.ucsb.edu|128.111.24.43|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 59 [application/x-tar]
100%[================================================== =========>] 59 --.--K/s
14:31:01 (3.75 MB/s) - `portage-20061225.tar.bz2.md5sum' saved [59/59]
root@pinchy /mnt/gentoo # md5sum -c portage-20061225.tar.bz2.md5sum
portage-20061225.tar.bz2: OK
root@pinchy /mnt/gentoo # tar xjf portage-20061225.tar.bz2 -C usr/
root@pinchy /mnt/gentoo # vim etc/make.conf
root@pinchy /mnt/gentoo # cat etc/make.conf
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-O3 -march=pentium-m -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
GENTOO_MIRRORS="ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo"
USE="-ipv6 -gtk -gnome -oss -apm -xmms acpi acl sse sse2 mmx kdeenablefinal kdexdeltas qt kde alsa samba xprint"
VIDEO_CARDS="fbdev vesa fglrx radeon vga r128"
INPUT_DEVICES="evdev keyboard mouse synaptics"
root@pinchy /mnt/gentoo # cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
root@pinchy /mnt/gentoo # mount -t proc none /mnt/gentoo/proc/
The installation environment is set up, so I chroot into it and proceed with the installation. This is a "stage1" install, so I have to run the included bootstrap script to further prepare the installation environment.
root@pinchy /mnt/gentoo # chroot /mnt/gentoo/ /bin/bash
pinchy / # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...
pinchy / # emerge --sync
[snip]
>>> Updating Portage cache: 100%
* An update to portage is available. It is _highly_ recommended
* that you update portage now, before any other packages are updated.
* Please run 'emerge portage' and then update ALL of your
* configuration files.
* To update portage, run 'emerge portage'.
pinchy / # echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
pinchy / # cat /etc/portage/package.use
sys-libs/glibc userlocales
pinchy / # /usr/portage/scripts/bootstrap.sh -p
[snip]
pinchy / # gcc-config -l
[1] i386-pc-linux-gnu-4.1.1 *
pinchy / # /usr/portage/scripts/bootstrap.sh -f
Running in fetch-only mode ...
[snip]
pinchy / # time /usr/portage/scripts/bootstrap.sh
[snip]
real 75m43.341s
user 60m4.169s
sys 8m10.127s
The bootstrap process is done and now more of the base system can be installed. I faced a couple errors that were easy to fix and not worth mentioning.
pinchy / # emerge -pv system
These are the packages that would be merged, in order:
Calculating system dependencies... done!
[ebuild N ] sys-apps/hotplug-base-20040401 40 kB
[ebuild N ] sys-fs/udev-103 USE="(-selinux)" 195 kB
[ebuild U ] app-arch/gzip-1.3.5-r10 [1.3.5-r8] USE="nls* -build* -pic -static" 323 kB
[ebuild N ] sys-apps/hdparm-6.6 44 kB
[ebuild N ] sys-libs/gpm-1.20.1-r5 USE="(-selinux)" 559 kB
[ebuild U ] sys-libs/ncurses-5.5-r3 [5.5-r2] USE="gpm* unicode* -bootstrap -build* -debug -doc -minimal -nocxx -trace%" 2,259 kB
[ebuild U ] app-shells/bash-3.1_p17 [3.1_p16] USE="nls* -afs -bashlogger -vanilla% (-build%*)" 2,515 kB
[ebuild N ] perl-core/Test-Simple-0.64 69 kB
[ebuild N ] virtual/perl-Test-Simple-0.64 0 kB
[ebuild N ] dev-perl/Locale-gettext-1.05 7 kB
[ebuild N ] sys-apps/help2man-1.36.4 USE="nls" 83 kB
[ebuild N ] sys-devel/autoconf-wrapper-3.2-r2 0 kB
[ebuild U ] sys-devel/m4-1.4.7 [1.4.4] USE="nls*" 499 kB
[ebuild N ] sys-devel/autoconf-2.60 USE="-emacs" 1,334 kB
[ebuild N ] sys-devel/automake-wrapper-2-r1 0 kB
[ebuild U ] sys-devel/gnuconfig-20060702 [20060227] 38 kB
[ebuild N ] sys-devel/automake-1.9.6-r2 747 kB
[ebuild N ] sys-devel/libtool-1.5.22 2,853 kB
[ebuild N ] dev-libs/openssl-0.9.8d USE="sse2 zlib -bindist -emacs -test" 3,237 kB
[ebuild N ] app-misc/ca-certificates-20050804 91 kB
[ebuild N ] sys-libs/db-4.2.52_p4-r2 USE="-bootstrap -doc -java -nocxx -tcl -test" 3,989 kB
[ebuild N ] sys-libs/gdbm-1.8.3-r2 USE="berkdb" 223 kB
[ebuild N ] dev-libs/expat-1.95.8 USE="-test" 310 kB
[ebuild U ] dev-lang/python-2.4.3-r4 [2.4.3-r1] USE="berkdb* gdbm* ncurses* readline* ssl* -bootstrap -build* -doc -ipv6 -nocxx -tk% -ucs2 (-X%) (-tcltk%)" 7,827 kB
[ebuild U ] sys-apps/findutils-4.3.0 [4.1.20-r2] USE="nls* -build* (-selinux) -static" 1,102 kB
[ebuild U ] sys-devel/make-3.81 [3.80-r4] USE="nls* -static (-build%*)" 1,124 kB
[ebuild U ] sys-apps/sed-4.1.5 [4.1.4-r1] USE="nls* -static (-bootstrap%) (-build%*)" 780 kB
[ebuild N ] app-crypt/hashalot-0.3-r2 78 kB
[ebuild N ] sys-libs/com_err-1.39 USE="nls" 3,608 kB
[ebuild N ] sys-libs/ss-1.39 USE="nls" 0 kB
[ebuild N ] sys-fs/e2fsprogs-1.39 USE="nls -static" 0 kB
[ebuild N ] sys-apps/util-linux-2.12r-r4 USE="crypt nls perl -old-crypt (-selinux) -static" 1,504 kB
[ebuild N ] sys-apps/which-2.16 122 kB
[ebuild U ] app-arch/tar-1.16-r2 [1.15.1-r1] USE="nls* -static (-build%*) (-bzip2%)" 1,743 kB
[ebuild N ] sys-apps/groff-1.19.2-r1 USE="X" 2,835 kB
[ebuild N ] sys-apps/man-1.6d USE="nls" 263 kB
[ebuild N ] sys-process/psmisc-22.2 USE="X nls -ipv6 (-selinux)" 238 kB
[ebuild N ] sys-devel/automake-1.6.3 465 kB
[ebuild N ] dev-libs/popt-1.7-r1 USE="nls" 561 kB
[ebuild N ] sys-apps/attr-2.4.28-r1 USE="nls" 104 kB
[ebuild N ] sys-apps/acl-2.2.34 USE="nls" 141 kB
[ebuild U ] net-misc/rsync-2.6.9-r1 [2.6.8-r2] USE="acl* -ipv6 -static -xinetd (-build%*)" 792 kB
[ebuild N ] sys-apps/busybox-1.2.2.1 USE="-debug -make-symlinks -netboot -savedconfig -static" 1,380 kB
[ebuild N ] app-arch/cpio-2.6-r5 USE="nls" 437 kB
[ebuild N ] sys-libs/pwdb-0.62 USE="(-selinux)" 130 kB
[ebuild N ] dev-util/pkgconfig-0.20 USE="-hardened" 947 kB
[ebuild N ] sys-apps/tcp-wrappers-7.6-r8 USE="-ipv6" 115 kB
[ebuild N ] sys-libs/cracklib-2.8.9-r1 USE="nls python" 562 kB
[ebuild N ] sys-libs/pam-0.78-r3 USE="berkdb -nis -pam_chroot -pam_console -pam_timestamp -pwdb (-selinux)" 6,345 kB
[ebuild N ] sys-apps/shadow-4.0.18.1 USE="cracklib nls pam -nousuid (-selinux) -skey" 1,480 kB
[ebuild N ] net-misc/openssh-4.4_p1-r6 USE="pam tcpd -X -X509 -chroot -hpn -kerberos -ldap -libedit (-selinux) -skey -smartcard -static" 1,019 kB
[ebuild N ] sys-process/procps-3.2.6 USE="(-n32)" 272 kB
[ebuild N ] sys-apps/module-init-tools-3.2.2-r1 USE="-no-old-linux" 394 kB
[ebuild U ] sys-apps/gawk-3.1.5-r2 [3.1.5-r1] USE="nls* (-build%*)" 2,256 kB
[ebuild N ] sys-apps/kbd-1.12-r8 USE="nls" 867 kB
[ebuild U ] sys-devel/bison-2.2 [2.1] USE="nls* -static" 1,052 kB
[ebuild U ] sys-apps/file-4.18 [4.17-r1] USE="python* (-build%*)" 523 kB
[ebuild U ] sys-apps/net-tools-1.60-r12 [1.60-r11] USE="nls* -static" 297 kB
[ebuild U ] sys-apps/coreutils-6.4 [5.94-r1] USE="acl* nls* (-selinux) -static (-build%*)" 5,216 kB
[ebuild U ] app-editors/nano-2.0.1 [1.3.11-r2] USE="ncurses* nls* spell* unicode* -debug -justify -minimal -slang (-build%*)" 1,268 kB
[ebuild U ] sys-apps/debianutils-2.15-r1 [2.15] USE="-build* -static" 181 kB
[ebuild N ] net-misc/iputils-021109-r3 USE="-doc -ipv6 -static" 418 kB
[ebuild N ] sys-apps/man-pages-2.42 USE="nls" 1,777 kB
Total size of downloads: 69,668 kB
pinchy / # time emerge -v system
[snip]
!!! ERROR: perl-core/Test-Simple-0.64 failed.
Call stack:
ebuild.sh, line 1546: Called dyn_compile
ebuild.sh, line 937: Called src_compile
ebuild.sh, line 1255: Called perl-module_src_compile
perl-module.eclass, line 136: Called perl-module_src_prep
perl-module.eclass, line 125: Called die
!!! Unable to build! (are you using USE="build"?)
!!! If you need support, post the topmost build error, and the call stack if relevant.
real 7m6.649s
user 4m29.957s
sys 0m58.808s
pinchy / # emerge -pv perl
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] sys-libs/db-4.2.52_p4-r2 USE="-bootstrap -doc -java -nocxx -tcl -test" 3,989 kB
[ebuild N ] sys-libs/gdbm-1.8.3-r2 USE="berkdb" 223 kB
[ebuild R ] dev-lang/perl-5.8.8-r2 USE="berkdb* gdbm* -build* -debug -doc -ithreads -perlsuid" 9,886 kB
[ebuild N ] perl-core/Test-Harness-2.56 63 kB
[ebuild N ] perl-core/PodParser-1.32 91 kB
Total size of downloads: 14,254 kB
pinchy / # emerge -v perl
[snip]
pinchy / # emerge -pv system
These are the packages that would be merged, in order:
Calculating system dependencies... done!
[ebuild N ] dev-perl/Locale-gettext-1.05 0 kB
[ebuild N ] sys-apps/help2man-1.36.4 USE="nls" 83 kB
[ebuild N ] sys-devel/autoconf-wrapper-3.2-r2 0 kB
[ebuild U ] sys-devel/m4-1.4.7 [1.4.4] USE="nls*" 499 kB
[ebuild N ] sys-devel/autoconf-2.60 USE="-emacs" 1,334 kB
[ebuild N ] sys-devel/automake-wrapper-2-r1 0 kB
[ebuild U ] sys-devel/gnuconfig-20060702 [20060227] 38 kB
[ebuild N ] sys-devel/automake-1.9.6-r2 747 kB
[ebuild N ] sys-devel/libtool-1.5.22 2,853 kB
[ebuild N ] dev-libs/openssl-0.9.8d USE="sse2 zlib -bindist -emacs -test" 3,237 kB
[ebuild N ] app-misc/ca-certificates-20050804 91 kB
[ebuild N ] dev-libs/expat-1.95.8 USE="-test" 310 kB
[ebuild U ] dev-lang/python-2.4.3-r4 [2.4.3-r1] USE="berkdb* gdbm* ncurses* readline* ssl* -bootstrap -build* -doc -ipv6 -nocxx -tk% -ucs2 (-X%) (-tcltk%)" 7,827 kB
[ebuild U ] sys-apps/findutils-4.3.0 [4.1.20-r2] USE="nls* -build* (-selinux) -static" 1,102 kB
[ebuild U ] sys-devel/make-3.81 [3.80-r4] USE="nls* -static (-build%*)" 1,124 kB
[ebuild U ] sys-apps/sed-4.1.5 [4.1.4-r1] USE="nls* -static (-bootstrap%) (-build%*)" 780 kB
[ebuild N ] app-crypt/hashalot-0.3-r2 78 kB
[ebuild N ] sys-libs/com_err-1.39 USE="nls" 3,608 kB
[ebuild N ] sys-libs/ss-1.39 USE="nls" 0 kB
[ebuild N ] sys-fs/e2fsprogs-1.39 USE="nls -static" 0 kB
[ebuild N ] sys-apps/util-linux-2.12r-r4 USE="crypt nls perl -old-crypt (-selinux) -static" 1,504 kB
[ebuild N ] sys-apps/which-2.16 122 kB
[ebuild U ] app-arch/tar-1.16-r2 [1.15.1-r1] USE="nls* -static (-build%*) (-bzip2%)" 1,743 kB
[ebuild N ] sys-apps/groff-1.19.2-r1 USE="X" 2,835 kB
[ebuild N ] sys-apps/man-1.6d USE="nls" 263 kB
[ebuild N ] sys-process/psmisc-22.2 USE="X nls -ipv6 (-selinux)" 238 kB
[ebuild N ] sys-devel/automake-1.6.3 465 kB
[ebuild N ] dev-libs/popt-1.7-r1 USE="nls" 561 kB
[ebuild N ] sys-apps/attr-2.4.28-r1 USE="nls" 104 kB
[ebuild N ] sys-apps/acl-2.2.34 USE="nls" 141 kB
[ebuild U ] net-misc/rsync-2.6.9-r1 [2.6.8-r2] USE="acl* -ipv6 -static -xinetd (-build%*)" 792 kB
[ebuild N ] sys-apps/busybox-1.2.2.1 USE="-debug -make-symlinks -netboot -savedconfig -static" 1,380 kB
[ebuild N ] app-arch/cpio-2.6-r5 USE="nls" 437 kB
[ebuild N ] sys-libs/pwdb-0.62 USE="(-selinux)" 130 kB
[ebuild N ] dev-util/pkgconfig-0.20 USE="-hardened" 947 kB
[ebuild N ] sys-apps/tcp-wrappers-7.6-r8 USE="-ipv6" 115 kB
[ebuild N ] sys-libs/cracklib-2.8.9-r1 USE="nls python" 562 kB
[ebuild N ] sys-libs/pam-0.78-r3 USE="berkdb -nis -pam_chroot -pam_console -pam_timestamp -pwdb (-selinux)" 6,345 kB
[ebuild N ] sys-apps/shadow-4.0.18.1 USE="cracklib nls pam -nousuid (-selinux) -skey" 1,480 kB
[ebuild N ] net-misc/openssh-4.4_p1-r6 USE="pam tcpd -X -X509 -chroot -hpn -kerberos -ldap -libedit (-selinux) -skey -smartcard -static" 1,019 kB
[ebuild N ] sys-process/procps-3.2.6 USE="(-n32)" 272 kB
[ebuild N ] sys-apps/module-init-tools-3.2.2-r1 USE="-no-old-linux" 394 kB
[ebuild U ] sys-apps/gawk-3.1.5-r2 [3.1.5-r1] USE="nls* (-build%*)" 2,256 kB
[ebuild N ] sys-apps/kbd-1.12-r8 USE="nls" 867 kB
[ebuild U ] sys-devel/bison-2.2 [2.1] USE="nls* -static" 1,052 kB
[ebuild U ] sys-apps/file-4.18 [4.17-r1] USE="python* (-build%*)" 523 kB
[ebuild U ] sys-apps/net-tools-1.60-r12 [1.60-r11] USE="nls* -static" 297 kB
[ebuild U ] sys-apps/coreutils-6.4 [5.94-r1] USE="acl* nls* (-selinux) -static (-build%*)" 5,216 kB
[ebuild U ] app-editors/nano-2.0.1 [1.3.11-r2] USE="ncurses* nls* spell* unicode* -debug -justify -minimal -slang (-build%*)" 1,268 kB
[ebuild U ] sys-apps/debianutils-2.15-r1 [2.15] USE="-build* -static" 181 kB
[ebuild N ] net-misc/iputils-021109-r3 USE="-doc -ipv6 -static" 418 kB
[ebuild N ] sys-apps/man-pages-2.42 USE="nls" 1,777 kB
Total size of downloads: 59,439 kB
pinchy / # time emerge -v system
[snip]
Resolving www.kernel.org... failed: Temporary failure in name resolution.
!!! Couldn't download 'Linux-PAM-0.78.tar.gz'. Aborting.
real 22m53.921s
user 14m0.649s
sys 3m21.169s
pinchy / # emerge --resume
[snip]
pinchy / # etc-update
Scanning Configuration files...
The following is the list of files which need updating, each
configuration file is followed by a list of possible replacement files.
1) /etc/DIR_COLORS (1)
Please select a file to edit by entering the corresponding number.
(don't use -3, -5, -7 or -9 if you're unsure what to do)
(-1 to exit) (-3 to auto merge all remaining files)
(-5 to auto-merge AND not use 'mv -i')
(-7 to discard all updates)
(-9 to discard all updates AND not use 'rm -i'): -5
Replacing /etc/DIR_COLORS with /etc/._cfg0000_DIR_COLORS
Exiting: Nothing left to do; exiting. :)
pinchy / # emerge -v timezone-data
[snip]
pinchy / # ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
The base system is mostly installed. Now it is time to configure and install the kernel.
pinchy / # ls /usr/portage/sys-kernel/vanilla-sources/
ChangeLog vanilla-sources-2.6.16.14.ebuild vanilla-sources-2.6.17.6.ebuild
Manifest vanilla-sources-2.6.16.16.ebuild vanilla-sources-2.6.17.7.ebuild
files vanilla-sources-2.6.16.19.ebuild vanilla-sources-2.6.17.8.ebuild
metadata.xml vanilla-sources-2.6.16.20.ebuild vanilla-sources-2.6.17.9.ebuild
vanilla-sources-2.4.32.ebuild vanilla-sources-2.6.16.26.ebuild vanilla-sources-2.6.18.1.ebuild
vanilla-sources-2.4.33.1.ebuild vanilla-sources-2.6.16.27.ebuild vanilla-sources-2.6.18.2.ebuild
vanilla-sources-2.4.33.2.ebuild vanilla-sources-2.6.16.36.ebuild vanilla-sources-2.6.18.3.ebuild
vanilla-sources-2.4.33.3.ebuild vanilla-sources-2.6.17.10.ebuild vanilla-sources-2.6.18.4.ebuild
vanilla-sources-2.4.33.4.ebuild vanilla-sources-2.6.17.11.ebuild vanilla-sources-2.6.18.5.ebuild
vanilla-sources-2.4.33.5.ebuild vanilla-sources-2.6.17.12.ebuild vanilla-sources-2.6.18.ebuild
vanilla-sources-2.4.33.ebuild vanilla-sources-2.6.17.13.ebuild vanilla-sources-2.6.19.1.ebuild
vanilla-sources-2.4.34.ebuild vanilla-sources-2.6.17.14.ebuild vanilla-sources-2.6.19.ebuild
pinchy / # ACCEPT_KEYWORDS="~x86" USE="symlink" emerge -av =vanilla-sources-2.6.18.5
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] sys-kernel/vanilla-sources-2.6.18.5 USE="symlink -build" 40,972 kB
Total size of downloads: 40,972 kB
Would you like to merge these packages? [Yes/No] y
[snip]
pinchy / # ls -l /usr/src/
total 4
lrwxrwxrwx 1 root root 14 Dec 26 21:48 linux -> linux-2.6.18.5
drwxr-xr-x 19 root root 4096 Dec 26 21:48 linux-2.6.18.5
pinchy / # cd /usr/src/linux
pinchy linux # make menuconfig
[snip]
#
# configuration written to .config
#
*** End of Linux kernel configuration.
*** Execute 'make' to build the kernel or try 'make help'.
pinchy linux # make && make modules_install
[snip]
pinchy linux # cp arch/i386/boot/bzImage /boot/kernel-2.6.18.5
pinchy linux # cp System.map /boot/System.map-2.6.18.5
pinchy linux # cp .config /boot/config-2.6.18.5
The kernel is installed. Here I enable the modules I need (i.e. hardware drivers).
pinchy linux # vim /etc/modules.autoload.d/kernel-2.6
bash: vim: command not found
pinchy linux # emerge -pv vim
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] dev-util/ctags-5.5.4-r2 254 kB
[ebuild N ] app-editors/vim-core-7.0.17 USE="acl nls -bash-completion -livecd" 5,997 kB
[ebuild N ] app-editors/vim-7.0.17 USE="acl gpm nls perl python -bash-completion -cscope -minimal -mzscheme -ruby -vim-pager -vim-with-x" 0 kB
[ebuild N ] app-vim/gentoo-syntax-20051221-r1 USE="-ignore-glep31" 18 kB
Total size of downloads: 6,271 kB
pinchy linux # time emerge -v vim
[snip]
real 3m9.936s
user 1m53.159s
sys 0m20.917s
pinchy linux # vim /etc/modules.autoload.d/kernel-2.6
Further system configuration is now needed. I configure the table of disk partitions (fstab) and the network.
pinchy linux # cd /etc/
pinchy etc # vim fstab
pinchy etc # cat fstab
# /etc/fstab: static file system information.
/dev/hda1 /boot ext2 noauto,noatime 0 2
/dev/hda2 / ext3 noatime 0 1
/dev/hda3 /home ext3 noatime 0 2
/dev/hda4 none swap sw 0 0
/dev/cdrom /mnt/cdrom iso9660 user,noauto,ro 0 0
proc /proc proc defaults 0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
pinchy etc # vim /etc/conf.d/hostname
pinchy etc # cat /etc/conf.d/hostname
# /etc/conf.d/hostname
# Set to the hostname of this machine
HOSTNAME="pinchy"
pinchy etc # vim /etc/conf.d/net
pinchy etc # cat /etc/conf.d/net
# This blank configuration will automatically use DHCP for any net.*
# scripts in /etc/init.d. To create a more complete configuration,
# please review /etc/conf.d/net.example and save your configuration
# in /etc/conf.d/net (this file :]!).
config_eth0=( "dhcp" )
dhcpcd_eth0="-h pinchy -N -Y -d -t 7"
pinchy etc # rc-update add net.eth0 default
* net.eth0 added to runlevel default
A few more services are needed.
pinchy etc # emerge -pv pcmcia-cs
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] sys-apps/pcmcia-cs-3.2.8-r2 USE="-X -gtk -trusted -vanilla -xforms" 1,242 kB
Total size of downloads: 1,242 kB
pinchy etc # time emerge -v pcmcia-cs
[snip]
real 0m26.089s
user 0m13.953s
sys 0m2.884s
pinchy etc # rc-update add pcmcia default
* pcmcia added to runlevel default
pinchy etc # passwd
New UNIX password:
Retype new UNIX password:
passwd: password updated successfully
pinchy etc # time emerge -v sysklogd
[snip]
real 0m13.523s
user 0m6.976s
sys 0m0.988s
pinchy etc # rc-update add sysklogd default
* sysklogd added to runlevel default
pinchy etc # emerge -pv dcron
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] net-mail/mailbase-1 USE="pam" 0 kB
[ebuild N ] mail-mta/ssmtp-2.61-r2 USE="ssl -ipv6 -mailwrapper -md5sum" 52 kB
[ebuild N ] sys-process/cronbase-0.3.2 0 kB
[ebuild N ] sys-process/dcron-2.9-r4 15 kB
Total size of downloads: 67 kB
pinchy etc # time emerge -v dcron
[snip]
real 0m22.514s
user 0m12.785s
sys 0m2.728s
pinchy etc # time emerge -v dhcpcd
[snip]
real 0m17.224s
user 0m9.033s
sys 0m2.964s
Finally, a boot loader needs to be set up. I install and configure lilo for this purpose.
pinchy etc # emerge -pv lilo
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] sys-devel/bin86-0.16.17 148 kB
[ebuild N ] sys-boot/lilo-22.7-r1 USE="-devmap -minimal -pxeserial -static" 422 kB
Total size of downloads: 571 kB
pinchy etc # time emerge -v lilo
[snip]
real 0m38.402s
user 0m20.141s
sys 0m2.436s
pinchy etc # vim lilo.conf
pinchy etc # cat lilo.conf
compact
boot=/dev/hda
prompt
timeout=50
default=2.6.18.5
menu-scheme=Wb:bw:Wb:Yb
image=/boot/kernel-2.6.18.5
label=2.6.18.5
read-only
root=/dev/hda2
At this point, I wasn't sure how to have lilo configure the MBR. The new hard drive was currently connected externally and showing up as /dev/sda, but it will be eventually connected internally and will appear as /dev/hda. If I ran lilo now, I think it would configure the MBR on the current /dev/hda, which was not what I wanted.
So, I turned off the machine and replaced the old hard drive with the new one. I then booted a live CD, mounted the filesystems, did chroot into the installation environment, and ran "/sbin/lilo" to have lilo configure the MBR.
The new system worked fine after rebooting. Now, I have to install and configure a variety of software (xorg, KDE, OpenOffice, etc.). Hopefully someone found this interesting. :)
I use Gentoo, so it took a few hours to get the base system up and ready to have other software installed (window manager, office applications, etc.).
My laptop is my primary desktop and I don't like any downtime on it. I have an extra laptop hard drive and external enclosure. I did not download any installer CDs. I connected the new hard drive to my laptop and proceeded to install Gentoo on it from my existing Gentoo installation. I thought that someone possibly might be slightly interested in seeing one way to install Gentoo, so here it is.
First, I prepare the new disk for installation (partition, format, mount, etc.).
mentholmoose@pinchy ~ $ su -
Password:
root@pinchy ~ # fdisk /dev/sda
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 38154.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): p
Disk /dev/sda: 40.0 GB, 40007762432 bytes
64 heads, 32 sectors/track, 38154 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-38154, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-38154, default 38154): +40M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (40-38154, default 40):
Using default value 40
Last cylinder or +size or +sizeM or +sizeK (40-38154, default 38154): +20000M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (19114-38154, default 19114):
Using default value 19114
Last cylinder or +size or +sizeM or +sizeK (19114-38154, default 38154): 36700
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Selected partition 4
First cylinder (36701-38154, default 36701):
Using default value 36701
Last cylinder or +size or +sizeM or +sizeK (36701-38154, default 38154):
Using default value 38154
Command (m for help): t
Partition number (1-4): 4
Hex code (type L to list codes): 82
Changed system type of partition 4 to 82 (Linux swap / Solaris)
Command (m for help): a
Partition number (1-4): 1
Command (m for help): p
Disk /dev/sda: 40.0 GB, 40007762432 bytes
64 heads, 32 sectors/track, 38154 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 39 39920 83 Linux
/dev/sda2 40 19113 19531776 83 Linux
/dev/sda3 19114 36700 18009088 83 Linux
/dev/sda4 36701 38154 1488896 82 Linux swap / Solaris
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
root@pinchy ~ # mkfs.ext2 /dev/sda1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
10000 inodes, 39920 blocks
1996 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=40894464
5 block groups
8192 blocks per group, 8192 fragments per group
2000 inodes per group
Superblock backups stored on blocks:
8193, 24577
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
root@pinchy ~ # mkfs.ext3 /dev/sda2
mke2fs 1.39 (29-May-2006)
warning: 512 blocks unused.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2445984 inodes, 4882432 blocks
244147 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=8388608
149 block groups
32768 blocks per group, 32768 fragments per group
16416 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
root@pinchy ~ # mkfs.ext3 /dev/sda3
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2252160 inodes, 4502272 blocks
225113 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=8388608
138 block groups
32768 blocks per group, 32768 fragments per group
16320 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
root@pinchy ~ # mkswap /dev/sda4
Setting up swapspace version 1, size = 1524625 kB
no label, UUID=78135b38-7a77-4ae2-a75e-679fab61d392
root@pinchy ~ # swapon /dev/sda
sda sda1 sda2 sda3 sda4
root@pinchy ~ # swapon /dev/sda4
root@pinchy ~ # mkdir /mnt/gentoo
root@pinchy ~ # mount /dev/sda2 /mnt/gentoo/
root@pinchy ~ # mkdir /mnt/gentoo/boot
root@pinchy ~ # mkdir /mnt/gentoo/home
root@pinchy ~ # mount /dev/sda1 /mnt/gentoo/boot/
root@pinchy ~ # mount /dev/sda3 /mnt/gentoo/home/
Next, I download and extract a Gentoo "stage" archive. This is basically a minimal environment used to install Gentoo. I also download and extract a portage snapshop. Then I do some other necessary preparations.
root@pinchy /mnt/gentoo # wget ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/releases/x86/2006.1/stages/stage1-x86-2006.1.tar.bz2
--14:17:27-- ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/releases/x86/2006.1/stages/stage1-x86-2006.1.tar.bz2
=> `stage1-x86-2006.1.tar.bz2'
Resolving ftp.ucsb.edu... 128.111.24.43
Connecting to ftp.ucsb.edu|128.111.24.43|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pub/mirrors/linux/gentoo/releases/x86/2006.1/stages ... done.
==> PASV ... done. ==> RETR stage1-x86-2006.1.tar.bz2 ... done.
Length: 26,302,805 (25M) (unauthoritative)
100%[================================================== =========>] 26,302,805 135.05K/s ETA 00:00
14:20:36 (135.40 KB/s) - `stage1-x86-2006.1.tar.bz2' saved [26302805]
/mnt/gentoo # wget ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/releases/x86/2006.1/stages/stage1-x86-2006.1.tar.bz2.asc
--14:20:46-- ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/releases/x86/2006.1/stages/stage1-x86-2006.1.tar.bz2.asc
=> `stage1-x86-2006.1.tar.bz2.asc'
Resolving ftp.ucsb.edu... 128.111.24.43
Connecting to ftp.ucsb.edu|128.111.24.43|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pub/mirrors/linux/gentoo/releases/x86/2006.1/stages ... done.
==> PASV ... done. ==> RETR stage1-x86-2006.1.tar.bz2.asc ... done.
Length: 189 (unauthoritative)
100%[================================================== =========>] 189 --.--K/s
14:20:47 (9.02 KB/s) - `stage1-x86-2006.1.tar.bz2.asc' saved [189]
root@pinchy /mnt/gentoo # gpg --verify stage1-x86-2006.1.tar.bz2.asc
gpg: Signature made Fri Sep 29 05:43:19 2006 PDT using DSA key ID 17072058
gpg: Good signature from "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: D99E AC73 79A8 50BC E47D A5F2 9E64 38C8 1707 2058
root@pinchy /mnt/gentoo # tar xjpf stage1-x86-2006.1.tar.bz2
root@pinchy /mnt/gentoo # ls
bin dev home lost+found opt root stage1-x86-2006.1.tar.bz2 sys usr
boot etc lib mnt proc sbin stage1-x86-2006.1.tar.bz2.asc tmp var
root@pinchy /mnt/gentoo # wget http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/snapshots/portage-20061225.tar.bz2
--14:25:15-- http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/snapshots/portage-20061225.tar.bz2
=> `portage-20061225.tar.bz2'
Resolving ftp.ucsb.edu... 128.111.24.43
Connecting to ftp.ucsb.edu|128.111.24.43|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 34,680,019 (33M) [application/x-tar]
100%[================================================== =========>] 34,680,019 122.58K/s ETA 00:00
14:29:38 (128.61 KB/s) - `portage-20061225.tar.bz2' saved [34680019/34680019]
root@pinchy /mnt/gentoo # wget http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/snapshots/portage-20061225.tar.bz2.md5sum
--14:31:01-- http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/snapshots/portage-20061225.tar.bz2.md5sum
=> `portage-20061225.tar.bz2.md5sum'
Resolving ftp.ucsb.edu... 128.111.24.43
Connecting to ftp.ucsb.edu|128.111.24.43|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 59 [application/x-tar]
100%[================================================== =========>] 59 --.--K/s
14:31:01 (3.75 MB/s) - `portage-20061225.tar.bz2.md5sum' saved [59/59]
root@pinchy /mnt/gentoo # md5sum -c portage-20061225.tar.bz2.md5sum
portage-20061225.tar.bz2: OK
root@pinchy /mnt/gentoo # tar xjf portage-20061225.tar.bz2 -C usr/
root@pinchy /mnt/gentoo # vim etc/make.conf
root@pinchy /mnt/gentoo # cat etc/make.conf
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-O3 -march=pentium-m -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
GENTOO_MIRRORS="ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo"
USE="-ipv6 -gtk -gnome -oss -apm -xmms acpi acl sse sse2 mmx kdeenablefinal kdexdeltas qt kde alsa samba xprint"
VIDEO_CARDS="fbdev vesa fglrx radeon vga r128"
INPUT_DEVICES="evdev keyboard mouse synaptics"
root@pinchy /mnt/gentoo # cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
root@pinchy /mnt/gentoo # mount -t proc none /mnt/gentoo/proc/
The installation environment is set up, so I chroot into it and proceed with the installation. This is a "stage1" install, so I have to run the included bootstrap script to further prepare the installation environment.
root@pinchy /mnt/gentoo # chroot /mnt/gentoo/ /bin/bash
pinchy / # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...
pinchy / # emerge --sync
[snip]
>>> Updating Portage cache: 100%
* An update to portage is available. It is _highly_ recommended
* that you update portage now, before any other packages are updated.
* Please run 'emerge portage' and then update ALL of your
* configuration files.
* To update portage, run 'emerge portage'.
pinchy / # echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
pinchy / # cat /etc/portage/package.use
sys-libs/glibc userlocales
pinchy / # /usr/portage/scripts/bootstrap.sh -p
[snip]
pinchy / # gcc-config -l
[1] i386-pc-linux-gnu-4.1.1 *
pinchy / # /usr/portage/scripts/bootstrap.sh -f
Running in fetch-only mode ...
[snip]
pinchy / # time /usr/portage/scripts/bootstrap.sh
[snip]
real 75m43.341s
user 60m4.169s
sys 8m10.127s
The bootstrap process is done and now more of the base system can be installed. I faced a couple errors that were easy to fix and not worth mentioning.
pinchy / # emerge -pv system
These are the packages that would be merged, in order:
Calculating system dependencies... done!
[ebuild N ] sys-apps/hotplug-base-20040401 40 kB
[ebuild N ] sys-fs/udev-103 USE="(-selinux)" 195 kB
[ebuild U ] app-arch/gzip-1.3.5-r10 [1.3.5-r8] USE="nls* -build* -pic -static" 323 kB
[ebuild N ] sys-apps/hdparm-6.6 44 kB
[ebuild N ] sys-libs/gpm-1.20.1-r5 USE="(-selinux)" 559 kB
[ebuild U ] sys-libs/ncurses-5.5-r3 [5.5-r2] USE="gpm* unicode* -bootstrap -build* -debug -doc -minimal -nocxx -trace%" 2,259 kB
[ebuild U ] app-shells/bash-3.1_p17 [3.1_p16] USE="nls* -afs -bashlogger -vanilla% (-build%*)" 2,515 kB
[ebuild N ] perl-core/Test-Simple-0.64 69 kB
[ebuild N ] virtual/perl-Test-Simple-0.64 0 kB
[ebuild N ] dev-perl/Locale-gettext-1.05 7 kB
[ebuild N ] sys-apps/help2man-1.36.4 USE="nls" 83 kB
[ebuild N ] sys-devel/autoconf-wrapper-3.2-r2 0 kB
[ebuild U ] sys-devel/m4-1.4.7 [1.4.4] USE="nls*" 499 kB
[ebuild N ] sys-devel/autoconf-2.60 USE="-emacs" 1,334 kB
[ebuild N ] sys-devel/automake-wrapper-2-r1 0 kB
[ebuild U ] sys-devel/gnuconfig-20060702 [20060227] 38 kB
[ebuild N ] sys-devel/automake-1.9.6-r2 747 kB
[ebuild N ] sys-devel/libtool-1.5.22 2,853 kB
[ebuild N ] dev-libs/openssl-0.9.8d USE="sse2 zlib -bindist -emacs -test" 3,237 kB
[ebuild N ] app-misc/ca-certificates-20050804 91 kB
[ebuild N ] sys-libs/db-4.2.52_p4-r2 USE="-bootstrap -doc -java -nocxx -tcl -test" 3,989 kB
[ebuild N ] sys-libs/gdbm-1.8.3-r2 USE="berkdb" 223 kB
[ebuild N ] dev-libs/expat-1.95.8 USE="-test" 310 kB
[ebuild U ] dev-lang/python-2.4.3-r4 [2.4.3-r1] USE="berkdb* gdbm* ncurses* readline* ssl* -bootstrap -build* -doc -ipv6 -nocxx -tk% -ucs2 (-X%) (-tcltk%)" 7,827 kB
[ebuild U ] sys-apps/findutils-4.3.0 [4.1.20-r2] USE="nls* -build* (-selinux) -static" 1,102 kB
[ebuild U ] sys-devel/make-3.81 [3.80-r4] USE="nls* -static (-build%*)" 1,124 kB
[ebuild U ] sys-apps/sed-4.1.5 [4.1.4-r1] USE="nls* -static (-bootstrap%) (-build%*)" 780 kB
[ebuild N ] app-crypt/hashalot-0.3-r2 78 kB
[ebuild N ] sys-libs/com_err-1.39 USE="nls" 3,608 kB
[ebuild N ] sys-libs/ss-1.39 USE="nls" 0 kB
[ebuild N ] sys-fs/e2fsprogs-1.39 USE="nls -static" 0 kB
[ebuild N ] sys-apps/util-linux-2.12r-r4 USE="crypt nls perl -old-crypt (-selinux) -static" 1,504 kB
[ebuild N ] sys-apps/which-2.16 122 kB
[ebuild U ] app-arch/tar-1.16-r2 [1.15.1-r1] USE="nls* -static (-build%*) (-bzip2%)" 1,743 kB
[ebuild N ] sys-apps/groff-1.19.2-r1 USE="X" 2,835 kB
[ebuild N ] sys-apps/man-1.6d USE="nls" 263 kB
[ebuild N ] sys-process/psmisc-22.2 USE="X nls -ipv6 (-selinux)" 238 kB
[ebuild N ] sys-devel/automake-1.6.3 465 kB
[ebuild N ] dev-libs/popt-1.7-r1 USE="nls" 561 kB
[ebuild N ] sys-apps/attr-2.4.28-r1 USE="nls" 104 kB
[ebuild N ] sys-apps/acl-2.2.34 USE="nls" 141 kB
[ebuild U ] net-misc/rsync-2.6.9-r1 [2.6.8-r2] USE="acl* -ipv6 -static -xinetd (-build%*)" 792 kB
[ebuild N ] sys-apps/busybox-1.2.2.1 USE="-debug -make-symlinks -netboot -savedconfig -static" 1,380 kB
[ebuild N ] app-arch/cpio-2.6-r5 USE="nls" 437 kB
[ebuild N ] sys-libs/pwdb-0.62 USE="(-selinux)" 130 kB
[ebuild N ] dev-util/pkgconfig-0.20 USE="-hardened" 947 kB
[ebuild N ] sys-apps/tcp-wrappers-7.6-r8 USE="-ipv6" 115 kB
[ebuild N ] sys-libs/cracklib-2.8.9-r1 USE="nls python" 562 kB
[ebuild N ] sys-libs/pam-0.78-r3 USE="berkdb -nis -pam_chroot -pam_console -pam_timestamp -pwdb (-selinux)" 6,345 kB
[ebuild N ] sys-apps/shadow-4.0.18.1 USE="cracklib nls pam -nousuid (-selinux) -skey" 1,480 kB
[ebuild N ] net-misc/openssh-4.4_p1-r6 USE="pam tcpd -X -X509 -chroot -hpn -kerberos -ldap -libedit (-selinux) -skey -smartcard -static" 1,019 kB
[ebuild N ] sys-process/procps-3.2.6 USE="(-n32)" 272 kB
[ebuild N ] sys-apps/module-init-tools-3.2.2-r1 USE="-no-old-linux" 394 kB
[ebuild U ] sys-apps/gawk-3.1.5-r2 [3.1.5-r1] USE="nls* (-build%*)" 2,256 kB
[ebuild N ] sys-apps/kbd-1.12-r8 USE="nls" 867 kB
[ebuild U ] sys-devel/bison-2.2 [2.1] USE="nls* -static" 1,052 kB
[ebuild U ] sys-apps/file-4.18 [4.17-r1] USE="python* (-build%*)" 523 kB
[ebuild U ] sys-apps/net-tools-1.60-r12 [1.60-r11] USE="nls* -static" 297 kB
[ebuild U ] sys-apps/coreutils-6.4 [5.94-r1] USE="acl* nls* (-selinux) -static (-build%*)" 5,216 kB
[ebuild U ] app-editors/nano-2.0.1 [1.3.11-r2] USE="ncurses* nls* spell* unicode* -debug -justify -minimal -slang (-build%*)" 1,268 kB
[ebuild U ] sys-apps/debianutils-2.15-r1 [2.15] USE="-build* -static" 181 kB
[ebuild N ] net-misc/iputils-021109-r3 USE="-doc -ipv6 -static" 418 kB
[ebuild N ] sys-apps/man-pages-2.42 USE="nls" 1,777 kB
Total size of downloads: 69,668 kB
pinchy / # time emerge -v system
[snip]
!!! ERROR: perl-core/Test-Simple-0.64 failed.
Call stack:
ebuild.sh, line 1546: Called dyn_compile
ebuild.sh, line 937: Called src_compile
ebuild.sh, line 1255: Called perl-module_src_compile
perl-module.eclass, line 136: Called perl-module_src_prep
perl-module.eclass, line 125: Called die
!!! Unable to build! (are you using USE="build"?)
!!! If you need support, post the topmost build error, and the call stack if relevant.
real 7m6.649s
user 4m29.957s
sys 0m58.808s
pinchy / # emerge -pv perl
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] sys-libs/db-4.2.52_p4-r2 USE="-bootstrap -doc -java -nocxx -tcl -test" 3,989 kB
[ebuild N ] sys-libs/gdbm-1.8.3-r2 USE="berkdb" 223 kB
[ebuild R ] dev-lang/perl-5.8.8-r2 USE="berkdb* gdbm* -build* -debug -doc -ithreads -perlsuid" 9,886 kB
[ebuild N ] perl-core/Test-Harness-2.56 63 kB
[ebuild N ] perl-core/PodParser-1.32 91 kB
Total size of downloads: 14,254 kB
pinchy / # emerge -v perl
[snip]
pinchy / # emerge -pv system
These are the packages that would be merged, in order:
Calculating system dependencies... done!
[ebuild N ] dev-perl/Locale-gettext-1.05 0 kB
[ebuild N ] sys-apps/help2man-1.36.4 USE="nls" 83 kB
[ebuild N ] sys-devel/autoconf-wrapper-3.2-r2 0 kB
[ebuild U ] sys-devel/m4-1.4.7 [1.4.4] USE="nls*" 499 kB
[ebuild N ] sys-devel/autoconf-2.60 USE="-emacs" 1,334 kB
[ebuild N ] sys-devel/automake-wrapper-2-r1 0 kB
[ebuild U ] sys-devel/gnuconfig-20060702 [20060227] 38 kB
[ebuild N ] sys-devel/automake-1.9.6-r2 747 kB
[ebuild N ] sys-devel/libtool-1.5.22 2,853 kB
[ebuild N ] dev-libs/openssl-0.9.8d USE="sse2 zlib -bindist -emacs -test" 3,237 kB
[ebuild N ] app-misc/ca-certificates-20050804 91 kB
[ebuild N ] dev-libs/expat-1.95.8 USE="-test" 310 kB
[ebuild U ] dev-lang/python-2.4.3-r4 [2.4.3-r1] USE="berkdb* gdbm* ncurses* readline* ssl* -bootstrap -build* -doc -ipv6 -nocxx -tk% -ucs2 (-X%) (-tcltk%)" 7,827 kB
[ebuild U ] sys-apps/findutils-4.3.0 [4.1.20-r2] USE="nls* -build* (-selinux) -static" 1,102 kB
[ebuild U ] sys-devel/make-3.81 [3.80-r4] USE="nls* -static (-build%*)" 1,124 kB
[ebuild U ] sys-apps/sed-4.1.5 [4.1.4-r1] USE="nls* -static (-bootstrap%) (-build%*)" 780 kB
[ebuild N ] app-crypt/hashalot-0.3-r2 78 kB
[ebuild N ] sys-libs/com_err-1.39 USE="nls" 3,608 kB
[ebuild N ] sys-libs/ss-1.39 USE="nls" 0 kB
[ebuild N ] sys-fs/e2fsprogs-1.39 USE="nls -static" 0 kB
[ebuild N ] sys-apps/util-linux-2.12r-r4 USE="crypt nls perl -old-crypt (-selinux) -static" 1,504 kB
[ebuild N ] sys-apps/which-2.16 122 kB
[ebuild U ] app-arch/tar-1.16-r2 [1.15.1-r1] USE="nls* -static (-build%*) (-bzip2%)" 1,743 kB
[ebuild N ] sys-apps/groff-1.19.2-r1 USE="X" 2,835 kB
[ebuild N ] sys-apps/man-1.6d USE="nls" 263 kB
[ebuild N ] sys-process/psmisc-22.2 USE="X nls -ipv6 (-selinux)" 238 kB
[ebuild N ] sys-devel/automake-1.6.3 465 kB
[ebuild N ] dev-libs/popt-1.7-r1 USE="nls" 561 kB
[ebuild N ] sys-apps/attr-2.4.28-r1 USE="nls" 104 kB
[ebuild N ] sys-apps/acl-2.2.34 USE="nls" 141 kB
[ebuild U ] net-misc/rsync-2.6.9-r1 [2.6.8-r2] USE="acl* -ipv6 -static -xinetd (-build%*)" 792 kB
[ebuild N ] sys-apps/busybox-1.2.2.1 USE="-debug -make-symlinks -netboot -savedconfig -static" 1,380 kB
[ebuild N ] app-arch/cpio-2.6-r5 USE="nls" 437 kB
[ebuild N ] sys-libs/pwdb-0.62 USE="(-selinux)" 130 kB
[ebuild N ] dev-util/pkgconfig-0.20 USE="-hardened" 947 kB
[ebuild N ] sys-apps/tcp-wrappers-7.6-r8 USE="-ipv6" 115 kB
[ebuild N ] sys-libs/cracklib-2.8.9-r1 USE="nls python" 562 kB
[ebuild N ] sys-libs/pam-0.78-r3 USE="berkdb -nis -pam_chroot -pam_console -pam_timestamp -pwdb (-selinux)" 6,345 kB
[ebuild N ] sys-apps/shadow-4.0.18.1 USE="cracklib nls pam -nousuid (-selinux) -skey" 1,480 kB
[ebuild N ] net-misc/openssh-4.4_p1-r6 USE="pam tcpd -X -X509 -chroot -hpn -kerberos -ldap -libedit (-selinux) -skey -smartcard -static" 1,019 kB
[ebuild N ] sys-process/procps-3.2.6 USE="(-n32)" 272 kB
[ebuild N ] sys-apps/module-init-tools-3.2.2-r1 USE="-no-old-linux" 394 kB
[ebuild U ] sys-apps/gawk-3.1.5-r2 [3.1.5-r1] USE="nls* (-build%*)" 2,256 kB
[ebuild N ] sys-apps/kbd-1.12-r8 USE="nls" 867 kB
[ebuild U ] sys-devel/bison-2.2 [2.1] USE="nls* -static" 1,052 kB
[ebuild U ] sys-apps/file-4.18 [4.17-r1] USE="python* (-build%*)" 523 kB
[ebuild U ] sys-apps/net-tools-1.60-r12 [1.60-r11] USE="nls* -static" 297 kB
[ebuild U ] sys-apps/coreutils-6.4 [5.94-r1] USE="acl* nls* (-selinux) -static (-build%*)" 5,216 kB
[ebuild U ] app-editors/nano-2.0.1 [1.3.11-r2] USE="ncurses* nls* spell* unicode* -debug -justify -minimal -slang (-build%*)" 1,268 kB
[ebuild U ] sys-apps/debianutils-2.15-r1 [2.15] USE="-build* -static" 181 kB
[ebuild N ] net-misc/iputils-021109-r3 USE="-doc -ipv6 -static" 418 kB
[ebuild N ] sys-apps/man-pages-2.42 USE="nls" 1,777 kB
Total size of downloads: 59,439 kB
pinchy / # time emerge -v system
[snip]
Resolving www.kernel.org... failed: Temporary failure in name resolution.
!!! Couldn't download 'Linux-PAM-0.78.tar.gz'. Aborting.
real 22m53.921s
user 14m0.649s
sys 3m21.169s
pinchy / # emerge --resume
[snip]
pinchy / # etc-update
Scanning Configuration files...
The following is the list of files which need updating, each
configuration file is followed by a list of possible replacement files.
1) /etc/DIR_COLORS (1)
Please select a file to edit by entering the corresponding number.
(don't use -3, -5, -7 or -9 if you're unsure what to do)
(-1 to exit) (-3 to auto merge all remaining files)
(-5 to auto-merge AND not use 'mv -i')
(-7 to discard all updates)
(-9 to discard all updates AND not use 'rm -i'): -5
Replacing /etc/DIR_COLORS with /etc/._cfg0000_DIR_COLORS
Exiting: Nothing left to do; exiting. :)
pinchy / # emerge -v timezone-data
[snip]
pinchy / # ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
The base system is mostly installed. Now it is time to configure and install the kernel.
pinchy / # ls /usr/portage/sys-kernel/vanilla-sources/
ChangeLog vanilla-sources-2.6.16.14.ebuild vanilla-sources-2.6.17.6.ebuild
Manifest vanilla-sources-2.6.16.16.ebuild vanilla-sources-2.6.17.7.ebuild
files vanilla-sources-2.6.16.19.ebuild vanilla-sources-2.6.17.8.ebuild
metadata.xml vanilla-sources-2.6.16.20.ebuild vanilla-sources-2.6.17.9.ebuild
vanilla-sources-2.4.32.ebuild vanilla-sources-2.6.16.26.ebuild vanilla-sources-2.6.18.1.ebuild
vanilla-sources-2.4.33.1.ebuild vanilla-sources-2.6.16.27.ebuild vanilla-sources-2.6.18.2.ebuild
vanilla-sources-2.4.33.2.ebuild vanilla-sources-2.6.16.36.ebuild vanilla-sources-2.6.18.3.ebuild
vanilla-sources-2.4.33.3.ebuild vanilla-sources-2.6.17.10.ebuild vanilla-sources-2.6.18.4.ebuild
vanilla-sources-2.4.33.4.ebuild vanilla-sources-2.6.17.11.ebuild vanilla-sources-2.6.18.5.ebuild
vanilla-sources-2.4.33.5.ebuild vanilla-sources-2.6.17.12.ebuild vanilla-sources-2.6.18.ebuild
vanilla-sources-2.4.33.ebuild vanilla-sources-2.6.17.13.ebuild vanilla-sources-2.6.19.1.ebuild
vanilla-sources-2.4.34.ebuild vanilla-sources-2.6.17.14.ebuild vanilla-sources-2.6.19.ebuild
pinchy / # ACCEPT_KEYWORDS="~x86" USE="symlink" emerge -av =vanilla-sources-2.6.18.5
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] sys-kernel/vanilla-sources-2.6.18.5 USE="symlink -build" 40,972 kB
Total size of downloads: 40,972 kB
Would you like to merge these packages? [Yes/No] y
[snip]
pinchy / # ls -l /usr/src/
total 4
lrwxrwxrwx 1 root root 14 Dec 26 21:48 linux -> linux-2.6.18.5
drwxr-xr-x 19 root root 4096 Dec 26 21:48 linux-2.6.18.5
pinchy / # cd /usr/src/linux
pinchy linux # make menuconfig
[snip]
#
# configuration written to .config
#
*** End of Linux kernel configuration.
*** Execute 'make' to build the kernel or try 'make help'.
pinchy linux # make && make modules_install
[snip]
pinchy linux # cp arch/i386/boot/bzImage /boot/kernel-2.6.18.5
pinchy linux # cp System.map /boot/System.map-2.6.18.5
pinchy linux # cp .config /boot/config-2.6.18.5
The kernel is installed. Here I enable the modules I need (i.e. hardware drivers).
pinchy linux # vim /etc/modules.autoload.d/kernel-2.6
bash: vim: command not found
pinchy linux # emerge -pv vim
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] dev-util/ctags-5.5.4-r2 254 kB
[ebuild N ] app-editors/vim-core-7.0.17 USE="acl nls -bash-completion -livecd" 5,997 kB
[ebuild N ] app-editors/vim-7.0.17 USE="acl gpm nls perl python -bash-completion -cscope -minimal -mzscheme -ruby -vim-pager -vim-with-x" 0 kB
[ebuild N ] app-vim/gentoo-syntax-20051221-r1 USE="-ignore-glep31" 18 kB
Total size of downloads: 6,271 kB
pinchy linux # time emerge -v vim
[snip]
real 3m9.936s
user 1m53.159s
sys 0m20.917s
pinchy linux # vim /etc/modules.autoload.d/kernel-2.6
Further system configuration is now needed. I configure the table of disk partitions (fstab) and the network.
pinchy linux # cd /etc/
pinchy etc # vim fstab
pinchy etc # cat fstab
# /etc/fstab: static file system information.
/dev/hda1 /boot ext2 noauto,noatime 0 2
/dev/hda2 / ext3 noatime 0 1
/dev/hda3 /home ext3 noatime 0 2
/dev/hda4 none swap sw 0 0
/dev/cdrom /mnt/cdrom iso9660 user,noauto,ro 0 0
proc /proc proc defaults 0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
pinchy etc # vim /etc/conf.d/hostname
pinchy etc # cat /etc/conf.d/hostname
# /etc/conf.d/hostname
# Set to the hostname of this machine
HOSTNAME="pinchy"
pinchy etc # vim /etc/conf.d/net
pinchy etc # cat /etc/conf.d/net
# This blank configuration will automatically use DHCP for any net.*
# scripts in /etc/init.d. To create a more complete configuration,
# please review /etc/conf.d/net.example and save your configuration
# in /etc/conf.d/net (this file :]!).
config_eth0=( "dhcp" )
dhcpcd_eth0="-h pinchy -N -Y -d -t 7"
pinchy etc # rc-update add net.eth0 default
* net.eth0 added to runlevel default
A few more services are needed.
pinchy etc # emerge -pv pcmcia-cs
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] sys-apps/pcmcia-cs-3.2.8-r2 USE="-X -gtk -trusted -vanilla -xforms" 1,242 kB
Total size of downloads: 1,242 kB
pinchy etc # time emerge -v pcmcia-cs
[snip]
real 0m26.089s
user 0m13.953s
sys 0m2.884s
pinchy etc # rc-update add pcmcia default
* pcmcia added to runlevel default
pinchy etc # passwd
New UNIX password:
Retype new UNIX password:
passwd: password updated successfully
pinchy etc # time emerge -v sysklogd
[snip]
real 0m13.523s
user 0m6.976s
sys 0m0.988s
pinchy etc # rc-update add sysklogd default
* sysklogd added to runlevel default
pinchy etc # emerge -pv dcron
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] net-mail/mailbase-1 USE="pam" 0 kB
[ebuild N ] mail-mta/ssmtp-2.61-r2 USE="ssl -ipv6 -mailwrapper -md5sum" 52 kB
[ebuild N ] sys-process/cronbase-0.3.2 0 kB
[ebuild N ] sys-process/dcron-2.9-r4 15 kB
Total size of downloads: 67 kB
pinchy etc # time emerge -v dcron
[snip]
real 0m22.514s
user 0m12.785s
sys 0m2.728s
pinchy etc # time emerge -v dhcpcd
[snip]
real 0m17.224s
user 0m9.033s
sys 0m2.964s
Finally, a boot loader needs to be set up. I install and configure lilo for this purpose.
pinchy etc # emerge -pv lilo
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] sys-devel/bin86-0.16.17 148 kB
[ebuild N ] sys-boot/lilo-22.7-r1 USE="-devmap -minimal -pxeserial -static" 422 kB
Total size of downloads: 571 kB
pinchy etc # time emerge -v lilo
[snip]
real 0m38.402s
user 0m20.141s
sys 0m2.436s
pinchy etc # vim lilo.conf
pinchy etc # cat lilo.conf
compact
boot=/dev/hda
prompt
timeout=50
default=2.6.18.5
menu-scheme=Wb:bw:Wb:Yb
image=/boot/kernel-2.6.18.5
label=2.6.18.5
read-only
root=/dev/hda2
At this point, I wasn't sure how to have lilo configure the MBR. The new hard drive was currently connected externally and showing up as /dev/sda, but it will be eventually connected internally and will appear as /dev/hda. If I ran lilo now, I think it would configure the MBR on the current /dev/hda, which was not what I wanted.
So, I turned off the machine and replaced the old hard drive with the new one. I then booted a live CD, mounted the filesystems, did chroot into the installation environment, and ran "/sbin/lilo" to have lilo configure the MBR.
The new system worked fine after rebooting. Now, I have to install and configure a variety of software (xorg, KDE, OpenOffice, etc.). Hopefully someone found this interesting. :)