U-boot 2016.07: ext4fs_devread가 외부 파티션을 읽습니다.

U-boot 2016.07: ext4fs_devread가 외부 파티션을 읽습니다.

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

관련 정보