ophub / amlogic-s9xxx-openwrt

Support for OpenWrt in Amlogic, Rockchip and Allwinner boxes. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.
GNU General Public License v2.0
1.7k stars 1.51k forks source link

dg3399如何调整固件分区大小,默认只使用了1G #601

Closed mazige1997 closed 1 month ago

mazige1997 commented 1 month ago

Device Information | 设备信息

OpenWrt Version | 系统版本

Describe the bug | 问题描述 发现在项目目录下改动root_mb,还是只用了1G,以dg3399 2+8G为例,应该如何修改呢,使刷入固件能匹配rom空间

mazige1997 commented 1 month ago

![Uploading 屏幕截图 2024-06-09 002026.png…]()

ophub commented 1 month ago

看仓库首页文档,可以使用-s自定义固件大小,但是太小了放不下,1G以内应该是不够的。

mazige1997 commented 1 month ago

看仓库首页文档,可以使用-s自定义固件大小,但是太小了放不下,1G以内应该是不够的。

在这个仓库改哪里才能实现自定义固件大小呢

mazige1997 commented 1 month ago

看仓库首页文档,可以使用-s自定义固件大小,但是太小了放不下,1G以内应该是不够的。 是改这个项目库下的make文件里面的root_mb值嘛???

ophub commented 1 month ago

可以不用改文件,编译的使用自定义大小的参数:-s boot_mb/root_mb

mazige1997 commented 1 month ago

可以不用改文件,编译的使用自定义大小的参数:-s boot_mb/root_mb

利用这个项目库github action编译固件这个自定义参数在哪添加还是说还是要改动make文件里的boot_mb、root_mb?另外,我想问一下,比如说dg3399是有8G的rom,boot_mb+root_mb=8G嘛?

ophub commented 1 month ago

不是boot_mb+root_mb=8G,这2个参数设置的大小,分别代表bootfs和rootfs这2个分区要放入的文件总容量大小,适当多设置点冗余空间,能把文件放进去即可,和实际的盒子无关,一个固件往往可以在很多设备上通用。比如你的盒子是1+8,但是固件不一定要做8G那么大,给bootfs设置512肯定够,给rootfs设置2048肯定够,当然你可以设置很大,比如20G,这样制作个超大固件也是可以的,比如我在编译内核使用的armbian就是特殊扩大的,因为某个内核选项在启用的时候,编译过程中会产生大于2G的交换文件,默认的2G大小的armbian不够使用,我直接生成了个rootfs是10G的armbian: https://github.com/ophub/kernel/releases/tag/dev 用于在x86系统里交叉编译内核时使用。

这个编译固件设置的大小不影响实际刷机使用,armbian在刷入盒子后,第一次启动的时候,系统会自动根据你的设备的空间初始化为全部空间都启用。比如你的盒子是1+8G的,但是固件是2G大,你刷机后第一次启动时,armbian系统会自动扩容到实际的盒子的8G大小。比如有人的TF卡是128G的,那么他第一次启动时会初始化为128G。所以这个设置只要能把固件的文件放进去就可以了,设置太大一般没实际意义。

你如果对改rebuild比较好理解,就改这个文件吧。这个文件里的默认设置是通用的,一般不用改,可以自定义的参数都在首页的文档里有详细的说明了,如果英文文档看着不方便,点顶部的中文可以切换到中文说明。

本地编译和Actions编译类似,你可以在Actions里添加armbian_size,例如:

- name: Rebuild Armbian
  uses: ophub/amlogic-s9xxx-armbian@main
  with:
    build_target: armbian
    armbian_path: build/output/images/*.img
    armbian_board: dg3399
    armbian_kernel: 6.1.y
    armbian_size: 512/2560

本地编译的时候:sudo ./rebuild -s 512/2560 -b dg3399

使用方法详见仓库文档,你看文档几分钟就掌握了。

mazige1997 commented 1 month ago

好的,谢谢指导