Arm设备刷飞牛fnos系统并调整安装到eMMC中的rootfs分区大小,使得小于16GB的设备能自定义预留部分空间做应用储存空间
一、刷机流程
1.1刷入第三方安卓底包 如果盒子已经可以正常u盘启动的,可以跳过;
1.2 烧录fnos镜像到U盘,并修改uEnv.txt文件与fnEnv.txt文件中对应的设备DTB文件对应名称;
1.3设备上电启动后,路由器查看飞牛ip ,设置设备名及用户账户和用户密码
1.4在系统设置>SSH>SSH功能 打开功能
二.安装fnos到emmc
2.1 ssh登陆到u盘的fnos 账号密码就是刚刚u盘启动里fnos的设置的账号密码
2.2 切换到root模式, sudo -i
2.3如果需要修改系统分区大小 修改fnnas-install
输入:i 进入编辑模式
原脚本当磁盘可用空间大于 16GiB 时,支持自定义系统根分区大小(默认 16GiB),调整为当磁盘可用空间大于 5GiB 时,支持自定义系统根分区大小(默认 5GiB)
# Check if the ${fnnas_conf} file exists
if [[ -f "${fnnas_conf}" ]]; [cite: 28]
then
source "${fnnas_conf}"
else
# Set root partition size limit (Unit: GiB)
echo "rootfs_limit_gib=\"16\"" >"${fnnas_conf}" [cite: 28]
echo "rootfs_resize=\"yes\"" >>"${fnnas_conf}" [cite: 28]
rootfs_limit_gib="16" [cite: 28]
rootfs_resize="yes" [cite: 28]
fi
# Ensure variables are set
[[ -n "${rootfs_limit_gib}" ]] || [cite: 29]
rootfs_limit_gib="16" [cite: 29]
用以下方式替换:
# Check if the ${fnnas_conf} file exists
if [[ -f "${fnnas_conf}" ]];
then
source "${fnnas_conf}"
else
# Set root partition size limit (Unit: GiB)
echo "rootfs_limit_gib=\"5\"" >"${fnnas_conf}"
echo "rootfs_resize=\"yes\"" >>"${fnnas_conf}"
rootfs_limit_gib="5"
rootfs_resize="yes"
fi
# Ensure variables are set
[[ -n "${rootfs_limit_gib}" ]] ||
rootfs_limit_gib="5"更新交互式菜单文本
在函数中,你需要更新显示给用户的文本,以反映新的5GiB阈值。show_partition_menu()
找到这段代码:
│ ≥16 │ Enter a number (GiB) to specify Rootfs partition size. 替换:
│ ≥5 │ Enter a number (GiB) to specify Rootfs partition size. 更新输入提示
在函数中,脚本会提示用户输入。这些提示也需要更新以显示新的最低要求。partition_sizing()5
查找代码块::
echo -ne "${OPTIONS} Please Input ID(1/2/3) or Size(16 ~ ${FREE_SIZE_GiB}): "
替换
echo -ne "${OPTIONS} Please Input ID(1/2/3) or Size(5 ~ ${FREE_SIZE_GiB}): " 查找代码块:
echo -ne "${OPTIONS} Please Input ID(1/2) or Size(16 ~ ${FREE_SIZE_GiB}): " 替换:
echo -ne "${OPTIONS} Please Input ID(1/2) or Size(5 ~ ${FREE_SIZE_GiB}): " 按键:esc退出编辑模式
输入:wq 保存退出。
2.4 输入安装fnos到emmc命令:fnnas-install
2.5 输入设备模型
2.6 按提示输入 Rootfs partition 分区大小 单位GB
2.7 完成后输入poweroff,拔掉引导盘,并重启设备
chmod -R 777 /usr/sbin/fnnas-install