飞腾E2000平台UBOOT支持写EXT4文件

在E2000平台上,SATA或者M.2硬盘上保存了启动脚本。如果不小心将该脚本写错了,可能导致linux系统一直卡住起不来。解决方法是,重新烧录根文件系统,不调用该问题脚本,或者把硬盘拆下来用读卡器在PC上修改好再装回去。这两种方法费时费力,容易造成更大的隐患。

可以利用Uboot命令行中的文件写功能,纠正硬盘上的启动脚本,即可简单又可靠解决该问题。

UBOOT提供两个命令都可以写文件
save scsi 0:0 0x91000000 /config.txt 1000
ext4write scsi 0:0 0x91000000 /config.txt 1000
在这里插入图片描述
在执行以上两个命令时,会遇到几个问题
第一个问题是ext4fs_init执行失败
在这里插入图片描述
通过打印发现,zalloc分配内存失败了。
在这里插入图片描述
执行打印如下:
E2000#save scsi 0:0 91000000 1.txt 10
ext4fs_init-651 ERROR, fs->blksz = 0x1000

原来是需要分配4KB字节的内存失败。需要调整malloc内存池大小,直接扩大16倍。实际情况根据实际系统调整。
#define CONFIG_SYS_MALLOC_LEN 0x1010000
在这里插入图片描述
重新执行save命令,出现第二个问题
Unsupported feature metadata_csum found, not writing.
在这里插入图片描述
经查,在创建ext4文件系统时,需要关闭metadata_csum特性。在linux系统下面执行
mkfs.ext4 -O ^metadata_csum /dev/sda
在这里插入图片描述
重新在uboot下面写ext4文件系统
在这里插入图片描述
结合实际情况,现将要替换的文件用tftp加载到单板内存,再将内存数据写入ext4文件
tftpboot 91000000 10.8.8.114:config.txt
save scsi 0:0 91000000 /config.txt filesize

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bull-man

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值