本記事の以下の作業は、chroot環境で実行する。chroot環境で無い場合は、
sudo /mnt/lfs/chroot.sh
を実行する。
Linuxカーネルのコンパイル
まずは、コンパイルの準備。
cd /sources && tar Jxf linux-3.5.2.tar.xz && cd linux-3.5.2 && make mrproper && make defconfig
make defconfig で一般的なカーネルの設定を呼び出す。
次に、設定を編集する。
make LANG=C LC_ALL= menuconfig
ALFSの時と同様に、文字列が入力できない場合で、文字列の入力が必要な場合は、コンソールから実行するか、設定ファイルをテキストエディタで編集する。
Enable loadable module support
を無効に
Processor type and features -> Processor family
は、環境に合わせて、設定する。
Core 2/Newer Xeon
VMwareでは、SCSIは、
LSI Logic /Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI
として認識されている。
Device Drivers -> Fusion MPT device support を有効にする。
展開して、
Fusion MPT ScsiHost drivers for SPI
Fusion MPT ScsiHost drivers for FC
Fusion MPT ScsiHost drivers for SAS
Fusion MPT misc device (ioctl) driver
の4つを有効にする。
VMwareでは、NICは、
AMD PCnet32 PCI
として認識されている。
Device Drivers -> Network device support -> Ethernet driver support ->
AMD PCnet32 PCI support
有効にする。
ついでに、
Device Drivers -> Network device support -> VMware VMXNET3 ethernet driver
も有効にした。
Device Drivers —>
Generic Driver Options —>
Maintain a devtmpfs filesystem to mount at /dev
を有効に
File system —> Second extended fs support
を有効にする。さらに出てくる子要素を全て有効にする。
File systems —>
Network File Systems:
NFS Client support
とその子要素の適当なものが選択されていることを確認する。
NFS server support —>
NFS server support for NFS version 3 —>
NFS server support for the NFSv3 ACL protocol extension
NFS server support for NFS version 4 (EXPERIMENTAL)
を有効にする。
File systems —>
Kernel automounter version 4 support
が選択されていることを確認する
Network File Systems —>
CIFS support
を有効にする。子要素はチェックしない。
コンパイルの実行。
make && cp -v arch/x86/boot/bzImage /boot/vmlinuz-3.5.2 && cp -v System.map /boot/System.map-3.5.2 && cp -v .config /boot/config-3.5.2 && install -d /usr/share/doc/linux-3.5.2 && cp -r Documentation/* /usr/share/doc/linux-3.5.2 && cd ../ && rm -rf linux-3.5.2
コンパイルしたカーネルや設定ファイルのバックアップを作成する。
mkdir /boot/backup-3.5.2-`date +%Y%m%d` && cp /boot/{vmlinuz-3.5.2,System.map-3.5.2,config-3.5.2} /boot/backup-3.5.2-`date +%Y%m%d`
GRUBのセットアップ
8.4. Using GRUB to Set Up the Boot Process に従って、GRUBをセットアップする。
grub-install /dev/sdb && cat > /boot/grub/grub.cfg << "EOF" # Begin /boot/grub/grub.cfg set default=0 set timeout=5 insmod ext2 set root=(hd0,1) menuentry "GNU/Linux, Linux 3.5.2" { linux /boot/vmlinuz-3.5.2 root=/dev/sda1 ro } EOF
後始末
9.1. The End に従って、LFSのバージョンをメモしておく。
echo "SVN-20120821 jhalfs" > /etc/lfs-release
rootパスワードを作成
passwd
ALFS構築用のソースファイルをバックアップする。ソースファイルは、ファイルサーバーのどこかに置いてあればよく、個別のVMに保存する必要は無い。chroot環境の外から
cp -R /mnt/lfs/sources ~/src-lfs-svn20120814 && cd ~ && tar Jcf src-lfs-svn20120814.tar.xz src-lfs-svn20120821 && scp src-lfs-svn20120821.tar.xz 192.168.0.11:~
最後にLFS環境構築用の一時ファイルを削除する。chroot環境で
rm -rf /jhalfs /sources /src-lfs /tools