Hiroです
先月「GENMAIボードでのカーネルの読み込みについて」で質問させていただきましたが、
続いてルートファイルシステムについての質問です。
前回からルートファイルシステムについての勉強をしましたが、以下の認識が間違っていないかを
確認したいので掲示させていただきました。
・ルートファイルシステムをシリアルフラッシュに書き込む
・ブート時にルートファイルシステムをSDRAMへ展開する
・ルートファイルシステムはSDRAM上で処理をする
上記、認識に問題が無ければ、細かい内容の質問をしたいのですが、
まずは、やろうとしていることの方向性が間違っていないかを確認したので
ご存知の方、お教示をお願いします。
以上
Hiroさん
質問が曖昧なので、解釈次第の部分もありますが、ここが初心者フォーラムであることも勘案して、Hiroさんの「やろうとしていること」が> ・ルートファイルシステムをシリアルフラッシュに書き込む> ・ブート時にルートファイルシステムをSDRAMへ展開する「展開する=単純にコピーする」> ・ルートファイルシステムはSDRAM上で処理をする「SDRAMにコピーしたファイルシステムを読み書きする」
だとするなら、技術的には出来るという意味では、間違ってはいません。
例えば、initrd/initramfs といったファイルシステムがあり、通常は、起動時のみに使用しますが、そのまま動作し続けるシステムもあります。
但し、シリアルフラッシュは、読み書き可能なデバイスですから、一般的には、 ・ルートファイルシステムをシリアルフラッシュに書き込む ・シリアルフラッシュ上のルートファイルシステムを読み書きする
するのが普通でしょうか。
答えになっていますか?
> GENMAI BSPの「buildroot-2013.05」下で「make menuconfig」の> 「Package Selection for the target」でルートファイルシステムをカスタムできると思っていたのですが> 各アプリケーションの選択チェックが外れているので、ここではないと判断しました。
そこです。
GENMAI BSP に含まれる build.sh を実行すると、buildroot に対しては、
(1) 作成するパッケージのソースファイルを展開する(2) (1) に対して、修正が必要な部分にパッチを適用する(3) buildroot と busybox 用のコンフィギュレーションファイルを編集、コピーする(4) 作成するスペシャルファイルのテーブル(リスト)をコピーする
した上で、 Hiro さんがした/しようとした
(5) make menuconfig ♯ build.sh の場合は、make rskrza1_defconfig(6) make
をします。
Hiro さんの場合、(1)~(4) を飛ばして、make menuconfig を実行したので、パッケージの選択を含めた buildroot のコンフィギュレーションをスクラッチで(最初から)行なう羽目になったのだと思います。
かふぇルネの English community の "RZ - Media Gallery" に "Getting started with Buildroot for RZ/A1" というアプリケーションノートが登録されています。英語ですが、参考にはなると思いますので、よろしければご利用ください。
http://renesasrulz.com/renesas_forum_home/rz/m/mediagallery/2665
少し舌足らずでしたので、補足です。
Hiro さんの場合は、もし、GENMAI ボードのコンフィギュレーションを基にするなら、(1)~(4) の後に、
(5) make rskrza1_defconfig(6) make menuconfig(7) make
のように、(5) を実行して .config ファイルを作成してから、(6)~ を実行します。
ただ、GENMAI ボードのコンフィギュレーションでは、多くのパッケージが選択されているので、多分、逆に、選択を外すのが大変です。
Hiro さんがしたように、(5) をせずに (6) から始める方がかえって簡単かもしれません。
Hiro さん
> >(3)buildrootとbusybox 用のコンフィギュレーションファイルを編集、コピーする> とありますが、buildrootのコンフィグレーションファイルを編集する方法は>「make menuconfig」と理解していたのですが、(6)の操作とは別の方法が有るのでしょうか。
GENMAI BSP の build.sh を読むと解りますが、86 行目で、
85 done86 sed "s%^BR2_TOOLCHAIN_EXTERNAL_PATH=.*\$%BR2_TOOLCHAIN_EXTERNAL_PATH=\"$TOOLS_PATH\/$COMPILER\"%" ../patches-buildroot/rskrza1_defconfig >configs/rskrza1_defconfig87 cp ../patches-buildroot/busybox-1.21.x.config package/busybox/busybox-1.21.x.config88 cp ../patches-buildroot/device_table_dev_rza1.txt system/device_table_dev_rza1.txt89 cd ..
(3) は、buildroot のコンフィギュレーションファイルを cp でコピーするのではなく、sed(stream editor) で少し編集してコピーしている、ということです。
buildroot のコンフィギュレーションファイルを対話的に編集する方法は、TUI(Text User Interface) の場合だと「make menuconfig」という理解で正しいです。Buildroot で「make help」を実行してみてください。
> また、「make rskrza1_defconfig」を実行するとダイアログが表示されることを> 期待していたのですが、表示されずに.Configを書き換えているような表示になります。> この動作が正しいのか、ダイアログが表示されることを期待している認識が> 間違っているのかをお教えください。
make rskrza1_defconfig の場合、その動作が正しく、ダイアログは、表示されません(対話的/interactive ではありません)。