今日は †まぁまぁ勝った気分の日であった. 圧縮カーネル自身をリロケートし,ローダもそれに合わせる. でないと,圧縮を展開する時に展開ルーチンが書き潰されてしまう. これでは,自分の足に踏み潰されるようなものである. initrd イメージはカーネル本体にリンク. 元のコードにはこの仕組みはなかったので,arch/mips のツリーからコードをくすねてくる. initrd の中にはとりあえず busybox を仕込んでおく. で,ここでつまづく. initrd は認識している雰囲気なのだが,なぜか busybox が上がってこない. もちろん,ライブラリはスタティックリンクしてある. 「もしや」と思い,システムが上がっている環境に busybox の実行ファイルを転送し,実行すると… Segmentation fault これでは上がってこないはずである. ツールチェーンをアップデートし,再チャレンジしてみる. 既に上がっている環境では無事動作したので,明日は initrd に仕込んでみるところからかな. |