uImageの代わりにvmlinuxを使用できますか?


9

非圧縮のカーネルイメージを使用して、BeagleBoardを起動したい。一般的に、私はuImageを使用して、圧縮形式のカーネルを起動します。圧縮されていないカーネルイメージを使用するにはどうすればよいですか?


ブートローダーとしてU-Bootを使用していますよね?
Gilles 'SO-悪をやめる'

はい!ubootを使用することは可能ですか?
シャランヤ

回答:


7

私の知る限り、U-Bootは「生の」ELFイメージを直接起動できません(vmlinux)。これをuImageフォーマットに変換する必要があります。これには、圧縮にvmlinux加えて、カーネルロードアドレスを説明するメタデータの数バイトが含まれています。U-Boot FAQ 2.19では、生成方法について説明していますuImagemkimageU-Bootソースツリーのユーティリティを使用すると、非常に簡単です。

 mkimage -A arm -O linux -T kernel -C gzip … -d vmlinux uImage

(ロードアドレスを示す追加のパラメーターが必要になる場合があります。)


1
起動中にuImageを解凍すると、しばらく時間がかかります。それを最小限に抑える必要があります。だから私はなぜ圧縮されていない生ファイルvmlinuxを試してはいけないのかと思った。
シャランヤ

3
あなたが達成したい効果は意図したものとは逆になるかもしれません。解凍時間は、通常、フラッシュからデータをコピーする時間よりも短くなります。
Maciej Kucia 2013

3
 mkimage -A arm -O linux -T kernel -C gzip … -d vmlinux uImage

上記の例のgzipnoneに変更すると、u-Boot互換の非圧縮イメージが作成されます。


1

Buildrootを使用している場合は、uImageカーネル出力ファイル(BR2_LINUX_KERNEL_UIMAGE=y)を選択します。通常にコンパイルすると、Buildrootはvmlinux中間ステップでファイルも作成します。一方でvmlinux、ファイルがコピーされていない/output/images、それはで見つけることができるディレクトリ./output/build/linux-custom/(または実行することによってfind . -name "vmlinux")。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.