buildrootメモ(2)build2021.11 ← buildroot2020.2

 台風14号の接近で外出が躊躇われるが昨日は突発的豪雨を駅で回避して(偶然)その後は小雨になったので助かった。数十年に一度の台風らしいが最近の気候変化は従来の気象予報は基準にならない(失礼な言い方をすれば当てにならない)から気候変動分も踏まえた予報が必要なのは当事者の気象庁と民間予報機関も重々承知だろうし新たなモデルと精度の高い予報技術の確立が待たれるがこれって10年ぐらい前から徐々に顕著化している印象(印象=根拠無し)で環境破壊大国の支那、米国、幾多の途上国らに環境活動家の人たちは対象国の環境破壊度数順にペナルティを課せと何故活動しないのだろうか(特にCOPから追い出された死せる共産主義活動家グレタちゃんとか:)。自然現象は人間の浅はかな科学知識で解釈するに物理現象でもあるから科学に疎い脳内第一の理念とかいう不確実な戯言(或いは宗教)を拠り所にしかできない活動家(野党とも共産党とも)なる批判だけすれば餌が貰えるお気楽な職業の方々には地球環境より活動家の生活が第一なのだろう(か|ね)。まあ綺麗事を唱える輩の正体なんてみんなそんなものなのかもしれないが。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

 buildroot本家:

buildroot.org

 A285のUbuntu20.04に移行してからbuildrootの最近のバージョンを試してみた。条件は:

・ターゲットは68030

・buildroot2020.2で正常にビルド出来た環境の復元

 で消極的対応(或いは現状維持)であります。

1.結論

 ・buildroot2022系はコンパイル時のパス名が正しく設定されない様で使用不能(68030ターゲットの場合)で色々試行錯誤で2021.11でビルド出来たので

buildroot2021.11 と buildroot2020.2 の環境を保持する。一方buildroot2022.8(現時点の最新)ではqemu関係で遊んでみたので後述。

2.68030対応

 配布されているbuildrootではm68kは68040,mcf5208しかサポートしないので arch/Config.in.m68k にパッチかて修正する↓

lore.kernel.org

  多分有名なパッチだと思うのでこれで68030/020/000に対応できるようになる。

3.ターゲットボードの定義

 board/定義したいターゲット/linux.config を作成する。

4.configsの作成

 configs/作成したいconfig を作成する。書式はconfigsに沢山サンプルがあるからそれとbuildrootのマニュアルを参考にして適当に。正直情報を把握出来てないので試行錯誤でトライアンドエラーの非効率感半端ない(まあ、自分の無知故なのだが)。

5.make menuconfig ; make ; であとはbuildrootにおまかせで上手く行けばvmlinxとrootfsを output/images/に生成してくれる。

naka@naka-ThinkPad-A285:~/buildroot-2021.11/output$ ls
build  host  images  staging  target
naka@naka-ThinkPad-A285:~/buildroot-2021.11/output$ cd images
naka@naka-ThinkPad-A285:~/buildroot-2021.11/output/images$ ls -ltr
合計 10388
-rw-r--r-- 1 naka naka  4933748 Sep 19 13:27 vmlinux
-rw-r--r-- 1 naka naka 62914560 Sep 19 13:27 rootfs.ext2
lrwxrwxrwx 1 naka naka       11 Sep 19 13:27 rootfs.ext4 -> rootfs.ext2

 まあターゲットハードウェアが2次元(回路図)から実体化せずに早14年で単なる2年前の再現に過ぎないのだが。。。

6.qemu

 buildroot2022.8でqemu系のconfigsでビルドしてみた。or1k(Openrisk1000)とrisc-v64 virtの2つをビルドするとimagesディレクトリにqemu起動用シェルスクリプトが生成されるのでそれを実行すればqemu配下でターゲットプロセサ環境を実行可能(便利ですね)↓

buildroot2021.11とqemuのbuildroot2022.8

 画面右下がrisc-v64、右上がor1kのqemuで左が68030ターゲットでビルド終了でimagesディレクトリにvmlinx,rootfsが生成された状態(2年前と同じ内容だけど)。

 qemuの存在は知っていたがbuildrootに組み込まれていると何も考えずにmake一発でqemu環境と起動用の .shまで自動生成してくれるのでその条件下であればこんな楽な事は無いのだろう。