SDカードからAndroidを実行しようとしています。カードが用意されました。パーティションがあります:boot(FAT32)
、 と 。ブートパーティションにはu-boot:とを実行するためのファイルがあります。これを実行するには、次のコマンドを使用します。rootfs(ext4)
system(ext4)
cache(ext4)
usedata(ext4)
MLO
u-boot.bin
uImage
mmcinit 0
fatload mmc 0 0x80000000 uImage
setenv bootargs 'console=ttyO2,115200n8 mem=456M@0x80000000 mem=512M@0xA0000000 init=/init vram=10M omapfb.vram=0:4M androidboot.console=ttyO2 root=/dev/mmcblk1p2 rw rootwait rootfstype=ext4'
bootm 0x80000000
Linuxがどのように起動するかを見てください。ただし、ロードフェーズから数秒後にrootfs
エラーメッセージが表示されます。
[ 4.015655] EXT4-fs (mmcblk1p2): couldn't mount RDWR because of unsupported optional features (400)
[ 4.036499] sd 0:0:0:0: [sda] Attached SCSI removable disk
[ 4.079986] List of all partitions:
[ 4.083801] b300 31162368 mmcblk0 driver: mmcblk
[ 4.089660] b301 128 mmcblk0p1 f9f21f00-a8d4-5f0e-9746-594869aec34e
[ 4.097839] b302 256 mmcblk0p2 f9f21f01-a8d4-5f0e-9746-594869aec34e
[ 4.106018] b303 128 mmcblk0p3 f9f21f02-a8d4-5f0e-9746-594869aec34e
[ 4.114288] b304 16384 mmcblk0p4 f9f21f03-a8d4-5f0e-9746-594869aec34e
[ 4.122436] b305 16 mmcblk0p5 f9f21f04-a8d4-5f0e-9746-594869aec34e
[ 4.130676] b306 8192 mmcblk0p6 f9f21f05-a8d4-5f0e-9746-594869aec34e
[ 4.138916] b307 8192 mmcblk0p7 f9f21f06-a8d4-5f0e-9746-594869aec34e
[ 4.147094] 103:00000 524288 mmcblk0p8 f9f21f07-a8d4-5f0e-9746-594869aec34e
[ 4.155334] 103:00001 262144 mmcblk0p9 f9f21f08-a8d4-5f0e-9746-594869aec34e
[ 4.163574] 103:00002 30342128 mmcblk0p10 f9f21f09-a8d4-5f0e-9746-594869aec34e
[ 4.171874] b310 2048 mmcblk0boot1 (driver?)
[ 4.177734] b308 2048 mmcblk0boot0 (driver?)
[ 4.183593] b318 15179776 mmcblk1 driver: mmcblk
[ 4.189453] b319 102400 mmcblk1p1 00000000-0000-0000-0000-000000000000
[ 4.197692] b31a 10240 mmcblk1p2 00000000-0000-0000-0000-000000000000
[ 4.205932] b31b 1 mmcblk1p3 00000000-0000-0000-0000-000000000000
[ 4.214141] b31d 262144 mmcblk1p5 00000000-0000-0000-0000-000000000000
[ 4.222351] b31e 13228032 mmcblk1p6 00000000-0000-0000-0000-000000000000
[ 4.230682] b31f 1572864 mmcblk1p7 00000000-0000-0000-0000-000000000000
[ 4.238891] No filesystem could mount root, tried: ext4
[ 4.244812] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,26)
[ 4.254089] CPU1: stopping
なぜこれが必要なのかわかりません。この問題をどのように解決できますか?
答え1
ext4関数(400)は新しいメタデータ_csum関数です。この機能を有効にして古いツールを使用してファイルシステムをマウントすると、読み取り専用でのみマウントされます。
https://ext4.wiki.kernel.org/index.php/Ext4_Metadata_Checksums
この機能なしでext4ファイルシステムを作成するには:
sudo mke2fs /dev/sdb1 -O ^metadata_csum
または、生成されたファイルシステムで閉じます。
sudo tune2fs -O ^metadata_csum /dev/sdb1
答え2
「EXT4-fs:サポートされていないオプション機能(400)のため、RDWRをインストールできませんでした。」エラーは、パーティションフォーマッタ(mkfs.ext4)とインストーラのバージョンの違いによって発生します。
2つのオプションがあります。
a) SD カードの最新リリースにインストーラをアップグレードする必要があります。
b)またはファイルをバックアップし、インストールを実行しているのと同じディストリビューション(同じext4バージョン)を使用してSDカードを再フォーマットして再フォーマットした後、ファイルをSDカードに再コピーする必要があります。
2番目のオプションでは、フォーマッタが配置した元のext4オプションに注意を払う必要があり、再フォーマットするときは同じオプションを考慮してください。また、パーティションを再フォーマットする場合、デバイス全体を再パーティションする必要がないため、ブートMBRは変更されません。