n1固件自编译–从此不用等更新 -by晓峰部落阁
第一步:环境的安装与搭建
1).下载虚拟机软件VMware15.5
https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
许可证密钥输入 UY758-0RXEQ-M81WP-8ZM7Z-Y3HDA
2).Ubuntu 18.04.5-LTS-桌面版-64位
http://releases.ubuntu.com/bionic/ubuntu-18.04.5-desktop-amd64.iso
3).安装 vmware tools(解决鼠标复制和桌面大小控制)
1 |
sudo ./vmware-install.pl |
4).安装ssh sever(方便后期连接虚拟机下载固件和上传文件)
1 |
sudo apt-get install openssh-server |
第二步:固件编译
1)打开终端,运行升级命令
1 |
sudo apt-get update |
2)安装所需依赖
1 |
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf btrfs-tools |
3)下载L大的源码库
1 |
git clone https://github.com/coolsnowwolf/lede |
4)feeds里添加passwall等插件源地址:
1 2 |
src-git kenzok https://github.com/kenzok8/openwrt-packages src-git small https://github.com/kenzok8/small |
5)下载插件包并安装插件包,分别复制
1 2 |
./scripts/feeds update -a ./scripts/feeds install -a |
6)执行编译命令
1 |
make menuconfig |
7).N1选择以及各插件的取舍都在此处
选择目标系统– Target System (QEMU ARM Virtual) —>
选择处理器型号–Subtarget (ARMv8 multiplatform) —>
以上确认完成退回到shell命令行继续以下操作
8)选择好下载DL库
1 |
make -j8 download V=s |
编译前如果需要修改N1固件默认ip进入如下路径:
1 |
package/base-files/files/bin/config_generate |
最后执行编译命令,注意,1则表示1线程,12表示12线程,首次编译用单线程编译
1 2 |
make -j1 V=s make -j12 V=s |
9)编译后的固件储存位置
1 |
lede/bin/targets |
第三步:固件打包
提示btrfsprogs 请安装
1 |
apt-get install btrfs-tools |
1)新建一个opt文件夹目录
opt目录下再创建一个imgs文件夹
将内核的img文件放进imgs目录中
2)将制作脚本拷贝纸opt目录中
修改脚本内容以及目录地址
将未打包固件上传到opt/openwrt目录文件中
3)运行打包脚本
切换成root用户,首次使用须自建root密码:sudo passwd root
bash运行脚本进行打包封装,压缩文件(gzip -9 固件名称)
4)复制打包好的固件到本机
首次tmp文件被锁住,需要赋予权限,命令
1 |
sudo chmod -R 777 tmp |
更新
1.更新
1 2 |
git pull |
2.更新feeds
1 2 |
./scripts/feeds update -a && ./scripts/feeds install -a |
3.进入编译(找到想编译的插件的名字)
1 2 |
make menuconfig |
4.开始编译
make package/(插件名)/compile V=99
N1路由器举例:
ssrplus+插件
make package/luci-app-ssr-plus/compile V=99