tuanqing / Mknop
Programming Languages
Labels
Projects that are alternatives of or similar to Mknop
自动构建斐讯 N1、微加云、贝壳云、我家云、S9xxx OpenWrt 固件脚本
Automatically Build OpenWrt Firmware for Phicomm n1, Vplus, Beikeyun, L1 Pro, S9xxx etc
制作脚本已部署到 Github Action,真正实现一栈式全自动构建,每周六早上五点准时为你构建,无须自行制作,下载即可用
Usage
-
Linux环境,推荐使用 Ubuntu 18.04 LTS
-
编译好待构建的 OpenWrt 固件,不会的自行科普 Lean's OpenWrt source
编译 OpenWrt 固件的配置如下:Target System (QEMU ARM Virtual Machine) ---> Subtarget (ARMv8 multiplatform) ---> Target Profile (Default) --->
注意:
一键安装到 emmc 脚本( phicomm n1 )已迁移至 openwrt package。使用方法如下,悉知!!用法:
1、git clone https://github.com/tuanqing/install-program package/install-program
2、执行make menuconfig
,选中 Utilities 下的 install-programUtilities ---> <*> install-program
3、编译完成之后使用本源码制作镜像写入U盘启动,之后执行
n1-install
即可安装到 emmc
4、将固件上传到/tmp/upgrade
( xxx.img ),之后执行n1-update
即可从该固件升级 -
克隆仓库到本地
git clone https://github.com/tuanqing/mknop
-
将你编译好的固件拷贝到 openwrt 目录( 可复制多个 )
-
使用 root 执行脚本
sudo ./gen_openwrt
-
按照提示操作,如,选择设备、固件、内核版本、设置 ROOTFS 分区大小等
如果你不了解这些设置项,请按回车保持默认,或者直接执行
sudo ./gen_openwrt -d
-
等待构建完成,默认输出文件夹为 out
-
写盘启动,写盘工具推荐 Etcher
注意:
1、待构建的固件格式只支持 rootfs.tar[.gz]、 ext4-factory.img[.gz]、root.ext4[.gz] 6种,推荐使用 rootfs.tar.gz 格式
Description
- 目录说明
├── common 公共目录
│ ├── firmware-common.tar.gz armbian 固件
│ ├── kernel 内核目录
│ │ └── 5.4.86 kernel 5.4.86-flippy-51+o @flippy
│ ├── loader bootloader 目录
│ └── root 公共 rootfs 目录
├── device 设备目录
│ └── phicomm-n1 phicomm n1 设备目录
│ ├── boot-phicomm-n1.tar.gz phicomm n1 启动文件
│ └── root phicomm n1 rootfs 目录
├── gen_openwrt 构建脚本
├── LICENSE license
├── openwrt 固件目录( 待构建 )
├── out 固件目录( 构建完成的 )
├── tmp 临时目录,脚本转储
└── README.md readme
-
使用参数
-
-c, --clean
,清理临时文件和输出目录 -
-d, --default
,使用默认配置来构建固件( 构建所有设备、所有内核、openwrt 下的第一个固件、ROOTFS 分区大小为自定义最小 ) -
-e
,从 openwrt 目录中提取内核,仅支持 img 格式和 xz 压缩的 img 格式 -
-k=VERSION
,设置内核版本,设置为all
将会构架所有内核版本固件,设置为latest
将构建最新内核版本固件 -
-m=MACHINE
,设置设备,设置为all
将会构架所有设备的固件 -
--mount
,挂载 openwrt 目录下的固件,仅支持 img 格式和 xz 压缩的 img 格式 -
-s, --size=SIZE
,设置 ROOTFS 分区大小,不要小于自定义最小 -
-h, --help
,显示帮助信息 - examples:
sudo ./gen_openwrt -c
,清理文件
sudo ./gen_openwrt -d
,使用默认配置
sudo ./gen_openwrt -k latest
,使用最新内核
sudo ./gen_openwrt -m phicomm-n1
,构建 phicomm n1 固件
sudo ./gen_openwrt -s 512
,将 ROOTFS 分区大小设置为 512M
sudo ./gen_openwrt -d -k 5.4.86 -m phicomm-n1
,使用默认,构建 phicomm n1 固件,并将内核版本设置为 5.4.86
sudo ./gen_openwrt -e
,从 openwrt 目录中提取内核
sudo ./gen_openwrt --mount
,挂载 openwrt 目录中固件
-
-
自定义
-
使用自定义内核
使用sudo ./gen_openwrt -e
,从 openwrt 目录中提取内核 -
添加自定义设备
-
添加自定义文件
向 device/${device}/root 目录添加你的文件注意:添加的文件应保持与 ROOTFS 分区目录结构一致
-
Thanks
- flippy provides the kernel, armbian image