私はこのカーネルパニックに陥りました。
私が望むのは、initramfsをカーネルxipイメージに含めることです。ただし、Linuxはパニックを起こし、有効な「root =」rootfs値を渡すように指示します。しかし、Linuxはなぜこの入力を探すのでしょうか?
(実際に.cpioを提供していない唯一の理由は、「#includeが見つかりません」などのエラーのためにビルドできないためです)。しかし、デフォルトのinitramfsは正しく動作する必要がありますか?
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_BLOCK=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_NULL_BLK is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=1
CONFIG_BLK_DEV_RAM_SIZE=4096
Linuxは「root =」パラメータに気をつけてはいけませんか? ? ?いいえ? ?
linux.configを完了してください。http://pastebin.com/gWGCeeCw
完全なUART出力:http://pastebin.com/Mk3c9su8
この記事を読んでくれてありがとう。
編集:「root = / dev / ram0」を指定すると、これが発生します。
[ 0.580000] brd: module loaded
[ 0.630000] loop: module loaded
[ 0.650000] F2FS-fs (ram0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
[ 0.650000] F2FS-fs (ram0): Can't find valid F2FS filesystem in 1th superblock
[ 0.650000] F2FS-fs (ram0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
[ 0.670000] F2FS-fs (ram0): Can't find valid F2FS filesystem in 2th superblock
[ 0.680000] F2FS-fs (ram0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
[ 0.680000] F2FS-fs (ram0): Can't find valid F2FS filesystem in 1th superblock
[ 0.690000] F2FS-fs (ram0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
[ 0.690000] F2FS-fs (ram0): Can't find valid F2FS filesystem in 2th superblock
[ 0.700000] List of all partitions:
[ 0.700000] 0100 4096 ram0 [ 0.710000] (driver?)
[ 0.710000] No filesystem could mount root, tried: [ 0.720000] f2fs
[ 0.720000]
[ 0.720000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
[ 0.720000] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
[ 1.520000] random: fast init done
「ルートをマウントするファイルシステムがありません」が何を意味するのかわかりません。もちろん、あなたは(Linux)がルートを作成する必要があります!どうしたの?
ベストアンサー1
問題は2つあります。
理由はわかりませんが、デフォルトの.cpioは機能しません。
オンラインで見つかった "stm32 Minimal blablabla" cpioは機能しません。
私はbuildrootを使ってシステム全体のビルドを実行し、すぐに動作し、rootfs.cpioを使って試してみました!
理由を見つけたらここに投稿します。
ボードの外部RAMは0xD0000000から始まりますが、ビルドルーティングされたシステムは0x90000000から始まるため調査します。両方のシステムが動作しています。どのように動作するのか分からない。ハハ。