make_ext4fs 报错解决ubuntu20.04

        要打包一个根文件系统,结果按网上的说法安装了 android-sdk-ext4-utils,sudo apt install e2fsprogs以及android-tools-fsutils,解果确实有了make_ext4fs,但是打包一直报错

error: build_directory_structure: can‘t set android permissions - built without android support

        找了很多帖子都没解决,什么安装这个工具那个工具,还有deb包之类的方法,都没用。然后想要卸载也卸载不掉,说什么有依赖问题。然后想起以前第一次学Linux的时候也有make_ext4fs的内容,想着去借鉴借鉴。

        没想还真的有,且看讯为教程搭建环境是这样写的:

        因为讯为教程是基于ubuntu12.04的,而我的是ubuntu20.04的,不知道兼容不兼容,如果是静态链接的应该可以,动态链接的估计又有一堆依赖问题,不管怎么样只能试一试了。将这两个工具拷贝到ubuntu20.04,覆盖原来的make_ext4fs,然后打包文件系统,登登登登登登,成功了!

sudo make_ext4fs -s -l 314572800 -a root -L linux system.img rootfs

下面再详解一下这个命令,以后忘了可以查看:

sudo make_ext4fs -s -l 314572800 -a root -L linux system.img rootfs

-s        指以s模式制作镜像,固定的

-l        指定分区大小,314572800是十进制的数,单位是B,换成M就是300M,意思是这个是生成的镜像大小的上限值,如果实际的大小超出300M会打包镜像失败。

-a        指最终该文件系统会被挂载到哪里,有两个选择,后面是root,则是挂载到kernel的"/"目录下,如果后面是system,则是挂载到android的“system”目录下。

-L        是标签的意思,后面跟linux说明是基于linux的镜像。

system.img 是要生成的镜像的名字

rootfs        是你要打包的根文件系统的顶层文件夹

所以综上就是:

sudo make_ext4fs -s -l 分区大小 -a root或system -L linux 镜像名字 根文件系统文件夹

完~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值