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のビルド中です。
今日はここまで、次回があったらそちらも読んでください。