t113 tina 卡死在rc_mount_filesystem
-
自制t113开发板,启用e2fsprog与ext4,但是开机会卡死在修复ext4上
日志[ 2.567510] VFS: Mounted root (squashfs filesystem) readonly on device 179:5. [ 2.578435] devtmpfs: mounted [ 2.583670] Freeing unused kernel memory: 1024K [ 2.612824] Run /pseudo_init as init process mount: mounting none on /dev failed: Resource busy [ 2.742770] usb 1-1: new high-speed USB device number 2 using sunxi-ehci [ 2.926464] EXT4-fs: Warning: mounting with data=journal disables delayed allocation and O_DIRECT support! [ 2.943837] EXT4-fs (mmcblk0p7): mounted filesystem with journalled data mode. Opts: data=journal [ 2.944392] hub 1-1:1.0: USB hub found [ 2.958140] hub 1-1:1.0: 4 ports detected Didn't found ubi volume "env" Cannot open /dev/ubi0: No such file or directory Didn't found ubi volume "env-redund" Cannot open /dev/ubi0: No such file or directory can't run '/etc/preinit': No such file or directory mount: mounting proc on /proc failed: Resource busy mount: mounting tmpfs on /run failed: No such file or directory hostname: can't open '/etc/hostname': No such file or directory ------run rc.preboot file----- ------- ext4 --------- e2fsck 1.46.4 (18-Aug-2021) ext2fs_open2: Bad magic number in super-block /usr/sbin/fsck.ext4: Superblock invalid, trying backup blocks... /dev/mmcblk0p8 was not cleanly unmounted, check forced. Pass 1: Checking inodes, blocks, and sizes
经过排查发现卡死在rcS的rc_mount_filesystem中的/usr/sbin/fsck.ext4 -v -y "$fs_src"
echo "------- ext4 ---------" /usr/sbin/fsck.ext4 -v -y "$fs_src" echo "------- /usr/sbin/fsck.ext4 -v -y "$fs_src" ---------" mount -t ext4 "$fs_src" "$fs_mntpt" 2>/dev/null if [ "$?" -ne "0" ]; then mkfs.ext4 -m 0 "$fs_src" >/dev/null mount -t ext4 "$fs_src" "$fs_mntpt" 2>/dev/null fi
fsck.ext4的输出为
e2fsck 1.46.4 (18-Aug-2021) ext2fs_open2: Bad magic number in super-block /usr/sbin/fsck.ext4: Superblock invalid, trying backup blocks... /dev/mmcblk0p8 was not cleanly unmounted, check forced. Pass 1: Checking inodes, blocks, and sizes
分区表为
;--------------------------------------------------------------------------------------------------- ; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 ;--------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------- ; 固件下载参数配置 ;--------------------------------------------------------------------------------------------------- ;*************************************************************************************************** ; mbr的大小, 以Kbyte为单位 ;*************************************************************************************************** [mbr] size = 16384 ;*************************************************************************************************** ; 分区配置 ; ; ; partition 定义范例: ; [partition] ; //表示是一个分区 ; name = USERFS2 ; //分区名称 ; size = 16384 ; //分区大小 单位: 扇区.分区表示个数最多2^31 * 512 = 2T ; downloadfile = "123.fex" ; //下载文件的路径和名称,可以使用相对路径,相对是指相对于image.cfg文件所在分区。也可以使用绝对路径 ; keydata = 1 ; //私有数据分区,重新量产数据将不丢失 ; encrypt = 1 ; //采用加密方式烧录,将提供数据加密,但损失烧录速度 ; user_type = ? ; //私有用法 ; verify = 1 ; //要求量产完成后校验是否正确 ; ; 注:1、name唯一, 不允许同名 ; 2、name最大12个字符 ; 3、size = 0, 将创建一个无大小的空分区 ; 4、align to logical block size(504 sectors), leb size = 2*(1 nand phy block size - 1 phy page size) ;*************************************************************************************************** [partition_start] [partition] name = boot-resource size = 504 downloadfile = "boot-resource.fex" user_type = 0x8000 [partition] name = env size = 504 downloadfile = "env.fex" user_type = 0x8000 [partition] name = env-redund size = 504 downloadfile = "env.fex" user_type = 0x8000 [partition] name = boot size = 15360 downloadfile = "boot.fex" user_type = 0x8000 [partition] name = rootfs size = 147600 downloadfile = "rootfs.fex" user_type = 0x8000 ;[partition] ; name = dsp0 ; size = 2048 ; downloadfile = "dsp0.fex" ; user_type = 0x8000 ;[partition] ; name = recovery ; size = 16128 ; ;downloadfile = "recovery.fex" ; user_type = 0x8000 [partition] name = private size = 10240 user_type = 0x8000 [partition] name = rootfs_data size = 1024000 user_type = 0x8000 [partition] name = UDISK name = rootfs_data size = 10240 user_type = 0x8000
-
@cjia3254
[partition]
name = UDISK
name = rootfs_data
size = 10240
user_type = 0x8000
把 name = rootfs_data 去掉 -
------- ext4 --------- e2fsck 1.46.4 (18-Aug-2021) /dev/mmcblk0p8: recovering journal Setting free inodes count to 1909428 (was 1909429) Setting free blocks count to 7471695 (was 7471727) /dev/mmcblk0p8: clean, 12/1909440 files, 163933/7635628 blocks ------- /usr/sbin/fsck.ext4 -v -y /dev/mmcblk0p8 ---------
这个应该是正常的吧
按照你的要求改了[partition] name = rootfs_data size = 1024000 user_type = 0x8000 [partition] name = UDISK ; name = rootfs_data size = 10240 user_type = 0x8000
-
@daizebin
不过有时候还是会卡在fsck.ext4,修复文件系统上e2fsck 1.46.4 (18-Aug-2021) ext2fs_open2: Bad magic number in super-block /usr/sbin/fsck.ext4: Superblock invalid, trying backup blocks... /dev/mmcblk0p8 was not cleanly unmounted, check forced. Pass 1: Checking inodes, blocks, and sizes
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号