Raspberry Pi 3で、Linux From Scratch その2
昨日、
./ch5-build.sh
で終了してましたが、無事にビルドできました。
今日は、Linux From Scratch 第6章からです。
必ず、ここで、/mnt/lfs/toolsをバックアップしてください。
ch6-build.shでエラーになると、もうね、どうにもなりません。
cd $LFS
tar -cf tools_backup.tar tools
でできるから、問題ないでしょ。
さて、本来なら、
6.2 仮想カーネルファイルシステムの準備
6.4 Chroot環境への移行
6.5 ディレクトリの生成
6.6 重要なファイルとシンボリックリンクの生成
まで実行して、その後は
chmod +x ch6-build.sh
./ch6-build.sh
で終わりのはずなのですが、glibcのinstallでエラーになります。
そして、そうなると、ch6-build.shをもう一度実行しようとしても、6.7 Linux-4.16.2 APIヘッダーでエラーになります。つまり、どうにもならなくなります。
仕方がないので、ch6-build.shを使わずに、手作業で実施していきます。
但し、ch6-build.shは非常に有益な資料なので、必ずすぐに見えるところにおいてください。私は、ctrl+Alt+F2で仮想端末を開き、そこで見てます。
6.7 Linux-4.16.2 APIヘッダーは、RaspberryPi専用のものを使ってください。
/mnt/lfs/sourcesディレクトリにrpi-4.14.y.tar.gzというファイルがあるので展開します。
作業は、ch6-build.shを見ながら実施してください。
…全部書くと大変なので、Linux From Scratch日本語版とch6-build.shを読み比べながら、問題ないところは、何も書かずにスルーします。
さて、問題の 6.9 Glibc-2.27 です。
エラーになるのは、
make install
そして、エラーの内容は・・・メモするの忘れた・・・まあ、perlスクリプトでのテスト中に、perlが-lnss_nis付きでビルドされていないよって感じ。それって、その直前で回避用の修正しているのですが。。。
sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile
perlを実行するのではなく、echoで実行しないようにしてるのに、、、なぜ???
きっと、中の小人さんが気を使って、config.statusでMakefileを作り直してくれたのでしょう。余計なことしやがって。。。
ということで、make install でエラーになって、perlスクリプトによるテストだったら、もう一度上記のsedスクリプトでMakefileを書き換えてください。
sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile
一度で大丈夫だと思うんだけど、だめなら何回か試してね。
ということで、手元のほうでは順調に進んでいます。
しかし、手動でビルドしているので進みは遅いですね。途中で散歩したり買い物行ったり昼寝したり、放置している時間が長いってのもありますが。。。
現在は、6.16 Binutils-2.30のビルド中です。
今日はここまで、次回があったらそちらも読んでください。