Firefly开源社区

打印 上一主题 下一主题

[Linux] 制作工厂烧录固件,定制userdata分区问题

23

积分

0

威望

0

贡献

技术小白

积分
23

制作工厂烧录固件,定制userdata分区问题

发表于 2022-2-21 20:25:07      浏览:7609 | 回复:10        打印      只看该作者   [复制链接] 楼主
我的应用案例,需要制作工厂烧录固件时,在userdata分区预置一些 私有数据。并且userdata分区要尽可能大

使用了以下2个方式尝试:

1、方式1生成userdata.img
修改了firefly-rk3399-ubuntu.mk
#userdata config
export RK_USERDATA_DIR=userdata_normal
并在userdata_normal目录下放入私有数据

执行./build.sh后,在rockdev下看到了生成的userdata.img

但烧录rockdev/pack下的生成固件后,userdata分区数据下没有看到 我放的私有数据
然后,通过AndroidTool_Release_v2.71单独升级userdata.img后,可以看到userdata分区数据是更新了,但是分区大小不对,没有根据内存大小自动设置。

对于userdata是最后一个分区的情况,但如何生成userdata.img?

2、通过 ff_export_rootfs 导出系统rootfs
   导出rootfs(生成的rootfs中包含了userdata分区的数据)后,通过./build.sh生成新的固件。
   升级后,查看私有数据确实放到了userdata分区。

   但root-ro分区空间大小不对,有几个GB的空间浪费。
   (由于在导出rootfs时,rootfs文件中 包含了userdata分区的数据。因此rootfs文件大小比实际的root-ro更大,最终打包固件时,分区表是根据rootfs文件大小分配rootfs分区的大小。)
================================================
   有谁能告诉一下,该如何解决这个问题?
回复

使用道具 举报

899

积分

0

威望

6

贡献

技术大神

Rank: 8Rank: 8

积分
899
发表于 2022-3-7 15:00:19        只看该作者  沙发
对你的以上方法进行回复:
1.你修改了userdata.img是不可行的
系统上写后,第一次上电会userdata进行格式化。

2.ff_export_rootfs 导出系统rootfs这个方法是可行的

2.1
可能你的SDK比较旧,后面有个补丁文件可以自动调整userdata分区大小

my_sdk/tools/linux/Linux_Pack_Firmware/rockdev$
mkupdate.sh -> rk3399-mkupdate.sh*

16d7b70  - zouxf    2020-03-04 : firefly: add userdata partition, auto modify rootfs size

最终文件
http://git.t-firefly.com:8081/rk ... /rk3399-mkupdate.sh


2.2
如果没有自动调整分区的补丁,手动修改分区表rockdev/parameter.txt
具体要改多少,可以参考这个
https://wiki.t-firefly.com/AIO-3 ... droid_firmware.html
回复

使用道具 举报

23

积分

0

威望

0

贡献

技术小白

积分
23
发表于 2022-3-7 16:02:52        只看该作者  板凳
895816513 发表于 2022-3-7 15:00
对你的以上方法进行回复:
1.你修改了userdata.img是不可行的
系统上写后,第一次上电会userdata进行格式 ...

你好,可能我没有讲清

我主要的问题是,root-ro的分区有空间浪费。如下:
--------------------------------------------------------------------------------
root@coshipG2000:~# df -h
Filesystem              Size  Used      Avail Use% Mounted on
udev                       1.9G     0        1.9G   0% /dev
tmpfs                      385M  748K  384M  1% /run
/dev/mmcblk1p7   10G     6.6G   3.0G    70% /root-ro
/dev/mmcblk1p8   19G     2.2G   17G     12% /userdata
overlayroot            19G      2.2G   17G    12% /
tmpfs                      1.9G     0        1.9G   0% /dev/shm
tmpfs                      5.0M    4.0K   5.0M  1% /run/lock
tmpfs                      1.9G     0        1.9G   0% /sys/fs/cgroup
tmpfs                      385M     0      385M 0% /run/user/0
---------------------------------------------------------------------------------

root-ro是只读的。对于我来说,意味着,32个G的内存,我有3个G的浪费!!!

然后,我跟踪了一下原因,发现是 在执行ff_export_rootfs时,root-ro这个分区的空间大小,是根据导出的roofs大小生成的。
而,通过ff_export_rootfs导出的rootfs,包含了userdata的数据。最终烧下去后,root-ro中,就有了3个G的没有使用的空间。请帮忙看下,怎样解决我的问题,谢谢!
回复

使用道具 举报

899

积分

0

威望

6

贡献

技术大神

Rank: 8Rank: 8

积分
899
发表于 2022-3-7 17:36:18        只看该作者  地板
刚刚链接我给错了

分别是:
https://gitlab.com/firefly-linux ... ae27ecde6055a62e7e5

https://gitlab.com/firefly-linux ... /rk356x-mkupdate.sh


你的意思是/dev/mmcblk1p7本来就多出了3G,然后导出的固件把这3G空的空间也包含进去了。
回复

使用道具 举报

899

积分

0

威望

6

贡献

技术大神

Rank: 8Rank: 8

积分
899
发表于 2022-3-7 17:39:34        只看该作者  5#
3355 发表于 2022-3-7 16:02
你好,可能我没有讲清

我主要的问题是,root-ro的分区有空间浪费。如下:

e2fsck -p -f linuxroot.img
resize2fs  -M linuxroot.img

导出固件后用这几个命令重新压缩大小
回复

使用道具 举报

23

积分

0

威望

0

贡献

技术小白

积分
23
发表于 2022-3-8 16:21:05        只看该作者  6#
895816513 发表于 2022-3-7 17:39
e2fsck -p -f linuxroot.img
resize2fs  -M linuxroot.img

好的,谢谢!
回复

使用道具 举报

54

积分

0

威望

0

贡献

技术小白

积分
54
发表于 2022-4-22 16:24:42        只看该作者  7#
895816513 发表于 2022-3-7 15:00
对你的以上方法进行回复:
1.你修改了userdata.img是不可行的
系统上写后,第一次上电会userdata进行格式 ...

您好,我想要删掉userdata分区,全部分配给/root,通过修改配置文件为rk3399的parameter-ubuntu-nouserdata.txt。编译通过了,烧录上能显示firefly的boot加载图片,然后就黑屏了。请问正确的给root扩容的方式是什么?

点评

SDK/rockdev/parameter.txt 这里有个链接文件,你可以手动修改分区表大小  发表于 2022-5-26 18:08
回复

使用道具 举报

899

积分

0

威望

6

贡献

技术大神

Rank: 8Rank: 8

积分
899
发表于 2022-5-26 18:08:41        只看该作者  8#
SDK/rockdev/parameter.txt

这里有个链接文件,你可以手动修改分区表大小
回复

使用道具 举报

34

积分

0

威望

0

贡献

技术小白

积分
34
发表于 2022-7-28 16:12:58        只看该作者  9#
支持
回复

使用道具 举报

3

积分

0

威望

0

贡献

吃瓜的群众

积分
3
发表于 2024-10-11 18:13:23        只看该作者  10#
895816513 发表于 2022-3-7 15:00
对你的以上方法进行回复:
1.你修改了userdata.img是不可行的
系统上写后,第一次上电会userdata进行格式 ...

请问,系统烧写后,第一次上电为什么会有格式化userdata的操作?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表