Linux From Scratch / 13. インストール 7



tar zxf e2fsprogs-1.35.tar.gz
cd e2fsprogs-1.35
mkdir ../e2fsprogs-build
cd ../e2fsprogs-build
../e2fsprogs-1.35/configure --prefix=/usr --with-root-prefix="" --enable-elf-shlibs
make
make check
make install
make install-libs
cd ..
rm -rf e2fsprogs-1.35
rm -rf e2fsprogs-build
tar jxf grep-2.5.tar.bz2
cd grep-2.5
./configure --prefix=/usr --bindir=/bin
make
make install
cd ..
rm -rf grep-2.5
tar zxf grub-0.94.tar.gz
cd grub-0.94
sed -i 's/2 long/2/' stage2/fsys_reiserfs.c
./configure --prefix=/usr
make
make install
mkdir /boot/grub
cp /usr/share/grub/i386-pc/stage{1,2} /boot/grub
cp /usr/share/grub/i386-pc/e2fs_stage1_5 /boot/grub
cp /usr/share/grub/i386-pc/reiserfs_stage1_5 /boot/grub
cd ..
rm -rf grub-0.94
tar zxf gzip-1.3.5.tar.gz
cd gzip-1.3.5
./configure --prefix=/usr
cp gzexe.in{,.backup}
sed 's%"BINDIR"%/bin%' gzexe.in.backup > gzexe.in
make
make install
mv /usr/bin/gzip /bin
rm /usr/bin/{gunzip,zcat}
ln -s gzip /bin/gunzip
ln -s gzip /bin/zcat
ln -s gunzip /bin/uncompress
cd ..
rm -rf gzip-1.3.5
tar jxf man-1.5m2.tar.bz2
cd man-1.5m2
patch -Np1 -i ../man-1.5m2-80cols.patch
sed -i 's/-is/&R/' configure
sed -i 's%MANPATH./usr/man%#&%' src/man.conf.in
./configure -default -confdir=/etc
make
make install
cd ..
rm -rf man-1.5m2
tar jxf make-3.80.tar.bz2
cd make-3.80
./configure --prefix=/usr
make
make check
make install
cd ..
rm -rf make-3.80
tar jxf modutils-2.4.26.tar.bz2
cd modutils-2.4.26
./configure
make
make install
cd ..
rm -rf modutils-2.4.26
tar zxf patch-2.5.4.tar.gz
cd patch-2.5.4
CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/usr
make
make install
cd ..
rm -rf patch-2.5.4
tar zxf procinfo-18.tar.gz
cd procinfo-18
make LDLIBS=-lncurses
make install
cd ..
rm -rf procinfo-18
tar zxf procps-3.2.0.tar.gz
cd procps-3.2.0
make
make install
rm /lib/libproc.so
cd ..
rm -rf procps-3.2.0
tar zxf psmisc-21.4.tar.gz
cd psmisc-21.4
./configure --prefix=/usr --exec-prefix=/
make
make install
mv /bin/pstree* /usr/bin
ln -sf pstree /usr/bin/pstree.x11
ln -s killall /bin/pidof
cd ..
rm -rf psmisc-21.4
tar jxf shadow-4.0.4.1.tar.bz2
cd shadow-4.0.4.1
touch /usr/bin/passwd
./configure --libdir=/usr/lib --enable-shared
echo '#define HAVE_SETLOCALE 1' >> config.h
make
make install
cp etc/{limits,login.access} /etc
sed -e 's%/var/spool/mail%/var/mail%' \
 -e 's%#MD5_CRYPT_ENAB.no%MD5_CRYPT_ENAB yes%' \
 etc/login.defs.linux > /etc/login.defs
cd ..
rm -rf shadow-4.0.4.1
mv /bin/sg /usr/bin
mv /bin/vigr /usr/sbin
mv /usr/lib/lib{shadow,misc}.so.0* /lib
ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so
ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so
mkdir /etc/default
rm /bin/groups
/usr/sbin/pwconv
/usr/sbin/grpconv
passwd root
tar zxf sysklogd-1.4.1.tar.gz
cd sysklogd-1.4.1
make
make install
cat > /etc/syslog.conf << "EOF"
# Begin /etc/syslog.conf

auth,authpriv.* -/var/log/auth.log
*.*;auth,authpriv.none -/var/log/sys.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
*.emerg *

# End /etc/syslog.conf
EOF
cd ..
rm -rf sysklogd-1.4.1
tar zxf sysvinit-2.85.tar.gz
cd sysvinit-2.85
cp src/init.c{,.backup}
sed 's/Sending processes/& started by init/g' src/init.c.backup > src/init.c
make -C src
make -C src install
cat > /etc/inittab << "EOF"
# Begin /etc/inittab

id:3:initdefault:

si::sysinit:/etc/rc.d/init.d/rc sysinit

l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

su:S016:once:/sbin/sulogin

1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600

# End /etc/inittab
EOF
cd ..
rm -rf sysvinit-2.85
tar zxf tar-1.13.25.tar.gz
cd tar-1.13.25
./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin
make
make check
make install
cd ..
rm -rf tar-1.13.25
tar zxf util-linux-2.12.tar.gz
cd util-linux-2.12
cp hwclock/hwclock.c{,.backup}
sed 's%etc/adjtime%var/lib/hwclock/adjtime%' hwclock/hwclock.c.backup > hwclock/hwclock.c
mkdir -p /var/lib/hwclock
./configure
make HAVE_KILL=yes HAVE_SLN=yes
make HAVE_KILL=yes HAVE_SLN=yes install
cd ..
rm -rf util-linux-2.12

chroot $LFS /usr/bin/env -i \
 HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
 PATH=/bin:/usr/bin:/sbin:/usr/sbin \
 /bin/bash --login


tar jxf lfs-bootscripts-2.0.2.tar.bz2
cd lfs-bootscripts-2.0.2/lfs
mkdir /etc/rc.d
cp -a init.d /etc/rc.d
cp -a sysconfig /etc
chown -R root:root /etc/rc.d /etc/sysconfig
cd /sources
rm -rf lfs-bootscripts-2.0.2