Archive for the ‘Linux From Scratch’ Category

Linux From Scratch:5.9~ 一時的環境の構築

特に問題なくインストールできたものは実行手順を割愛し、結果だけを記録する。 Binutils-2.20 – 2回め 問題なし GCC-4.4.3 – 2回め 問題なし Tcl-8.5.8 問題なし Expect-5.43.0 ソースを解凍しようとしたところ、ot in gzip formatのエラー。 gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error exit delayed from previous errors wgetで取得しようとしたファイルがリンク切れになっていて、ダウンロード先のHTMLファイルを~.tar.gzというファイル名で保存していたのが原因だった。 SourceForgeからソースをダウンロードして解決した。 wget http://sourceforge.jp/projects/sfnet_buluoos/downloads/0.1/src/expect-5.43.0.tar.gz/ tar zxfv expect-5.44.1.15.tar.gz あとは手順どおりにインストールできた。 DejaGNU-1.4.4 LFS-BOOKの手順どおり./configure したあとにmake installしたら、make checkでエラーになった。 以下の手順でmake checkがとおった。 ./configure –prefix=/tools make make install make [...]

Linux From Scratch:5.8 ツールチェーンの調整

これ以降にインストールするツール類は/mnt/lfs以下にインストールしたCコンパイラでコンパイルする。 そのためにスペックファイルを編集する。 以下のコマンドはスペックファイルをダンプしてリンカの参照パスを置き換えている。 SPECS=`dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/specs $LFS_TGT-gcc -dumpspecs | sed -e ‘s@/lib(64)?/ld@/tools&@g’ -e “/^*cpp:$/{n;s,$, -isystem /tools/include,}” > $SPECS echo “New specs file is: $SPECS” unset SPECS

Linux From Scratch:gcc、glibcインストール

Linux From Scratch 一時的環境の構築でglibcのインストールに手間取った話。

Linux From Scratch:最初のパッケージインストール

いよいよLSF-BOOK第5章の本編であるパッケージインストールにとりかかる。 はじめにインストールするパッケージはBinutils-2.20である。 Binutilsをインストールすることによってリンカやアセンブラが使用可になる。 また初めにインストールするこのパッケージのインストール時間を計測することで、今後の作業時間を見積もることができる。 LFS-BOOKにはBinutils(1回目)の作業時間を1SBUとして、そのほかのパッケージインストールにかかる時間の目安が記載されている。 今後インストールするパッケージのインストール時間をbinutils-2.20のインストール時間を元に予測することができるので、最初のインストールは時間を計りながら行う。 tar jxfv binutils-2.20.tar.bz2 cd binutils-2.20 mkdir -v ../binutils-build cd ../binutils-build ※通常パッケージのインストールは configure, make, make installで行う。 今回は時間を計るためにtimeコマンドとあわせて実行している。 time ../binutils-2.20/configure –target=$LFS_TGT –prefix=/tools –disable-nls –disable-werror ・・・ configure: creating ./config.status config.status: creating Makefile real 0m8.396s user 0m1.792s sys 0m5.624s ./configure問題なし。続いてmake time make ・・・ make[4]: Leaving directory `/mnt/lfs/sources/binutils-build/ld’ make[3]: Leaving directory `/mnt/lfs/sources/binutils-build/ld’ make[2]: Leaving [...]

Linux From Scratch:環境設定

いまはlfsユーザでログインしている。 これからlfsユーザでパッケージのビルドを行うが、その前にlfsユーザの環境を整える必要がある。 この作業はホストシステムの環境や設定がビルド内容に影響を与えないようにするためである。 まず、lfsユーザが使用するシェルを/bin/bashに固定する設定を~/.bash_profileに記述する。 cat > ~/.bash_profile ~/.bashrc

Linux From Scratch:パッケージインストールの準備

まず、パッケージをダウンロードする。 必要なパッケージのリストがここにあるので、wgetで一気に取得する。 ダウンロードする場所は$LFS/sourcesにする。 sudo mkdir -v $LFS/sources cd $LFS/sources wget http://www.linux.or.jp/JF/JFdocs/LFS-BOOK/wget-list.txt wget -N -i wget-list.txt パッケージは全て$LFS/toolsにインストールするので、そのためにディレクトリを作成する。 sudo mkdir -v $LFS/tools 次にホストシステムの/toolsにシンボリックリンクを作成する ln -sv $LFS/tools / これで、ホストシステムの/tools = LFSの/tools(/mnt/lfs/tools)になった。 $LFSには/mnt/lfsというパスが設定されていなければならない。 常にこの環境変数があるように、~/.bashrcに以下のように書いておくこと。 export LFS=/mnt/lfs ご操作によってシステムを破壊してしまわないために、パッケージビルド作業は一般ユーザで行うのがよい。 LFS-BOOKの手順にならってlfsユーザ、lsfグループを作成する。 sudo groupadd lfs sudo useradd -s /bin/bash -g lfs -m -k /dev/null lfs 次に、パスワードを任意のパスワードに変更する。 sudo passwd lfs パッケージのインストール先とダウンロードしたソースをlfsユーザで操作できるようにファイルの所有権を変更する。 sudo chown -v [...]

Linux From Scratch:ファイルシステムをマウント

作成したファイルシステムをLFS環境用として/mnt/lfsにマウントする。 ルート領域は/mnt/lfs、ブート領域は/mnt/lfs/bootにマウントした。 スワップ領域はswaponコマンドで有効にする。 $ export LFS=/mnt/lfs $ sudo mkdir -pv $LFS mkdir: created directory `/mnt/lfs’ $ sudo mount -v -t ext3 /dev/sdb3 $LFS /dev/sdb3 on /mnt/lfs type ext3 (rw) $ sudo mkdir -v $LFS/boot mkdir: created directory `/mnt/lfs/boot’ $ sudo mount -v -t ext3 /dev/sdb1 $LFS/boot /dev/sdb1 on /mnt/lfs/boot type ext3 (rw) $ sudo swapon [...]

Linux From Scratch:新しいパーティションを生成

新しく追加したハードディスク/dev/sdbにパーティションを追加する。 パーティションの作成はfdiskコマンドで対話的に行う。 w(書き込み)を実行しない限りは何度でもパテーションを切りなおせる。 $ sudo fdisk /dev/sdb デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも 含んでいません Building a new DOS disklabel with disk identifier 0xa8c00198. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won’t be recoverable. このディスクのシリンダ数は 1305 に設定されています。 間違いではないのですが、1024 を超えているため、以下の場合 に問題を生じうる事を確認しましょう: 1) ブート時に実行するソフトウェア (例. [...]

Linux From Scratch:仮想マシンにハードディスクを追加

いまVMwareのUbuntuには/dev/sda1が1つだけある。 LFS用のパテーションを追加するためにハードディスクを仮想的に追加する。 そのためにまずは仮想マシンをパワーオフにする。 Ubuntuのメニューから、システム>終了>シャットダウン 次にVMware Playerのメニューから、仮想マシンの設定>ハードウェアで 追加ボタンを押す。 ハードウェアの種類:ハードディスク 次へボタンを押す。 ディスク:仮想ディスクの新規作成 次へボタンを押す。 仮想ディスクタイプ:SCSI(推奨) 次へボタンを押す。 ディスク最大サイズ:10.0GB 次へボタンを押す。 ディスク ファイル:LFS.vmdk 完了ボタンを押す。 ハードディスクが追加された。 仮想マシンを起動し、SCSIハードディスクが追加されていることを確認する。 $ ls /dev/ds* /dev/sda /dev/sda1 /dev/sda2 /dev/sda5 /dev/sdb ※追加されたハードディスクは/dev/sdbである。

Linux From Scratch:LFSビルド環境の構築

LFSビルド環境の構築 LFSを構築するには既存ディストリビューションのビルド環境を利用する。 今回の実験で、全ての作業はVMマシン上で行うので、簡単に環境構築するためにUbuntu Japanese Teamのサイトから日本語設定されたUbuntuのVMWareイメージを取ってくる。 http://www.ubuntulinux.jp/products/JA-Localized 「日本語 Remix VirtualBox用仮想マシンのダウンロード」リンクをクリック VMWare Playerでこのイメージを起動する。 VMWare ゲストOSの設定 起動後に表示されるシステム設定で、言語、時間帯、キーボードレイアウト、ユーザ名、パスワードを入力しする 設定内容 言語:日本語 時間帯:Asia/Tokyo キーボードレイアウト:Japan ユーザ名とパスワード:任意 回、VMware Toolは必要ないのでインストールしない。