圧縮されていないカーネルイメージを使用してBeagleBoardを起動したいです。通常、私はuImageを使用して圧縮形式でカーネルを起動します。圧縮されていないカーネルイメージを使用するには?
答え1
私が知っている限り、U-Bootは「raw」ELFイメージを直接起動できません(vmlinux
)。これをuImage
圧縮形式とカーネルロードアドレスを記述する追加のバイトを含むvmlinux
メタデータに変換する必要があります。U-Boot FAQ 2.19U-Bootソースツリーのユーティリティを使用すると、非常に簡単にビルドする方法を説明できますuImage
。mkimage
mkimage -A arm -O linux -T kernel -C gzip … -d vmlinux uImage
(ロードアドレスを示すために追加のパラメータが必要な場合があります。)
答え2
mkimage -A arm -O linux -T kernel -C gzip … -d vmlinux uImage
変化アーカイブ上記の例ではまったく、u-Bootと互換性のある非圧縮画像を作成します。
答え3
Buildrootを使用している場合は、uImage
カーネル出力ファイル(BR2_LINUX_KERNEL_UIMAGE=y
)を選択してください。正常にコンパイルすると、Buildrootはvmlinux
中間段階でもファイルを生成します。vmlinux
ファイルはファイル/output/images
を見つけることができるディレクトリにコピーされませんが./output/build/linux-custom/
(またはを実行してfind . -name "vmlinux"
)