よくよく考えたらu-bootにbootargs書かなくてもいいよね。

Zynqを起動するのにu-bootの環境変数にbootargsを書いて、Linux Kernelに引数を渡している。 Device Treeにも、bootargsの設定がある。

ん???

Linux Kernelって、引数はひとまとまりしか受付なかったんじゃないかな?

環境変数のbootargsって、どうやってLinux Kernelに渡してるんだろう?

ざっくりいくと、ATAGとDevice Treeのどちらかが使用される。

ARM環境だけで言えば、r1とr2レジスタでの受け渡しだよなぁ〜

今は当然、Device Treeが使われる。

やっぱり、bootargsの環境変数はどこへ行くのやら?

・・・?

そこでu-bootのソースコードを解析したらところ、Device Treeがあるときはbootargsの環境変数をDevice TreeにマージしてDevice Treeを渡してた。

そういうことだったのかぁ〜。

それだったら、わざわざ環境変数にbootargsを書かなくてもDevice Treeに書いてしまえばいいよね。

write: 2016/10/12/ 22:14:11