U-Bootの最新リリース(2016.07)では、突然次の不明なエラーメッセージが生成され始めました。
U-Boot> ext4load mmc 0:2 ${ramdisk_addr_r} /initramfs.uImage
invalid extent block
ext4fs_devread read outside partition 4294967294
Google検索結果一部2014年に完了した実際のU-Boot修正に関する以前のメーリングリストの交換。したがって、この情報はこの問題とは関係がないようです。
ホストは問題のあるファイルシステムを正常にマウントできます。時々、ubootはファイルを正常に読み込んでいましたが、主な影響要因がわかりません。
答え1
(答えを見つけるのに3日かかったので、Googleユーザーのためにここに答えを残します。)
最新および最高(> 1.43)では、EXT4ファイルシステム機能がe2fsprogs
有効になっています。64bit
を見ると、これがあなたのシステムに該当することを確認できます/etc/mke2fs.conf
。私はこれを持っています:
[fs_types]
ext4 = {
features = has_journal,extent,huge_file,flex_bg,64bit,dir_nlink,extra_isize
inode_size = 256
}
したがって、生成されたすべてのファイルシステムでは、次の機能が有効にmkfs.ext4
なります。64bit
$ sudo tune2fs -l /dev/sda1 | grep 'Filesystem features:'
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize
U-Bootはそれまでこのファイルシステムを理解していません。これ上記のメッセージでコミットが終了します。
64bit
修正は、EXT4ファイルシステムを作成し、その機能を明示的に無効にすることです。
$ sudo mkfs.ext4 -O ^64bit /dev/sda1