LFS on Ubuntu(1) 準備作業の仕上げまで
$ df -k Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/sda1 9614116 3433216 5692528 38% / varrun 253176 104 253072 1% /var/run varlock 253176 0 253176 0% /var/lock udev 253176 56 253120 1% /dev devshm 253176 288 252888 1% /dev/shm lrm 253176 40000 213176 16% /lib/modules/2.6.24-27-generic/volatile /dev/sda2 9614148 152688 8973084 2% /mnt/lfs /dev/scd0 1153706 1153706 0 100% /media/cdrom0
ホストシステムが機能拡張しているかどうかを確認
# debugfs -R feature /dev/sda2 debugfs 1.40.8 (13-Mar-2008) Filesystem features: has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file
$ export LFS=/mnt/lfs $ sudo su - # export LFS=/mnt/lfs
// パッケージやパッチをダウンロードするディレクトリを作成
# mkdir -v $LFS/sources
mkdir: created directory `/mnt/lfs/sources'
// 書き込み権限とスティッキー (*1) を付与
# chmod -v a+wt $LFS/sources
`/mnt/lfs/sources' のモードを 1777 (rwxrwxrwt) に変更しました
$ cd $LFS/sources
$ emacs wget-list
リンクの内容を貼り付けて ^X ^S
http://www.linux.or.jp/JF/JFdocs/LFS-BOOK/wget-list.txt
// バックアップ
$ cp -pv wget-list wget-list.orig
`wget-list' -> `wget-list.orig'
// 国内から入手可能なものは国内から入手するよう置換
$ sed -e 's|http://ftp\.gnu\.org/gnu/|http://ftp.riken.jp/GNU/ftp/gnu/|g' \
-e 's|http://www\.kernel\.org/pub/linux/|http://ftp.riken.jp/Linux/kernel.org/linux/|g' \
wget-list.orig > wget-list
// 必要なパッケージソースやパッチの一括取得
$ wget -N -i wget-list
※ wget-list内の必須のパッチに加えて LFS コミュニティが提供する任意のパッチが数多くあるので必要に応じて適用する。http://www.linuxfromscratch.org/patches/
# mkdir -v $LFS/tools
// ホストシステム上に /tools のシンボリックリンクを作成
# ln -sv $LFS/tools /
`/tools' -> `/mnt/lfs/tools'
// LFS ユーザーの追加
# groupadd lfs
# useradd -s /bin/bash -g lfs -m -k /dev/null lfs
# passwd lfs
// $LFS/tools ディレクトリの所有者を lfs ユーザーとする
# chown -v lfs $LFS/tools
// 作業ディレクトリの所有者を lfs ユーザーとする
# chown -v lfs $LFS/sources
// lfs でログイン (ログインシェルを起動)
$ su - lfs
$ echo $LFS
$ export LFS=/mnt/lfs
$ cd $LFS
// 動作環境設定
$ cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u\w\$ ' /bin/bash
EOF
// .bashrc ファイルの生成
$ cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH
EOF
$ source ~/.bash_profile
|