ubootでlinux initramfsを起動すると例外が発生しました。
私のbootargsは次のとおりです。setenv bootargs 'console = ttySC0,115200 root = / dev / ram rw ramdisk_size = 51200'
トラッキングポイントの呼び出し無料初期化メモリ。 initramfs ファイルシステムの解放中に例外が発生しました。
誰かが提案しましたが、根本的な原因は何ですか? bootargsを変更する必要がありますか?
ありがとうございます。
起動ログ:
[0.175106] initramfs解凍中...
[ 0.653408] バグ: プロセス スイッチャー/0 pfn:70400 のページの状態が正しくありません。
[ 0.653424] ページ: ffffffbdc1c10000 数: 0 マップ数: -127 マップ: (null) インデックス: 0x0
[0.653428] フラグ: 0x0()
[0.653433]ページがダンプされた理由:ゼロ以外のmapcount
[0.653437] 接続モジュール:
[ 0.653447] CPU: 3 PID: 1 通信: スイッチ/0 汚染されない 4.4.0-yocto-standard #16
[ 0.653451] ハードウェア名: Renesas r8a7795(DT) ベースの Visteon Monarch ボード
[0.653456]通貨追跡:
[0.653473][]dump_backtrace+0x0/0x180
[0.653479][]show_stack+0x14/0x20
[0.653488][]ダンプスタック +0x90/0xc8
[0.653497][]bad_page+0xc8/0x118
[0.653502][]free_pages_prepare+0x1dc/0x248
[0.653506][]free_hot_cold_page+0x28/0x1b8
[0.653510][]__free_pages+0x40/0x50
[0.653514][]free_reserved_area+0x8c/0x110
[0.653524][]free_initrd_mem+0x20/0x2c
[0.653529][]populate_rootfs+0x9c/0xbc
[0.653534][]do_one_initcall+0x8c/0x190
[0.653539][]kernel_init_freeable+0x148/0x1ec
[0.653549][]kernel_init+0x10/0xe0
[0.653554][]_fork から +0x10/0x40 を再取得します。
[0.653557] カーネル汚染によりロックデバッグが無効になりました。
答え1
私のinitrd
画像サイズはRAMと比較して非常に小さいです。そのため、initrd
以下の方法を使用してイメージをカーネルに公開せずにそのまま維持しましたbootargs
。
set bootargs 'retain_initrd'