pyList

ubuntu/debian 下自行编译 OpenWRT 固件

首先声明,自行编译是一个自我折腾的过程,没时间或精力就不要试了,这里介绍个人尝试在ubuntu/debian 下编译OpenWRT固件和应用SDK 的过程。

一般推荐 ubuntu 系统,最新的 LTS 版即可。系统要求,内存 1-4 GB(编译x86固件需要4GB内存),空间20GB以上。关键是外网连接速度要快,否则一天一夜都下不完。建议在国外VPS里编译。

ubuntu/debian 下自行编译 OpenWRT 固件或 SDK

安装依赖

添加用户,必须在非 root 用户下编译

adduser qwe

切换到 root 用户,运行 visudo 命令

找到 root ALL=(ALL) ALL ,在下面添加一行 xxx ALL=(ALL) ALL 其中 xxx 是要加入的用户名称

apt-get update
sudo apt-get install git-core build-essential libssl-dev libncurses5-dev unzip gawk zlib1g-dev python python-dev openssl
sudo apt-get install flex bison autoconf texinfo asciidoc
sudo apt-get install ccache
sudo apt-get install libmnl-dev
sudo apt-get install libevent-dev

下载源码

git clone https://github.com/openwrt/openwrt.git
cd openwrt

如果要编译其它的包,如果没有就略过下面一步

cd package
git clone https://github.com/xxx.git
git clone https://github.com/xxxx.git

更新下载并安装所有可用的 feeds

cd ~/openwrt

./scripts/feeds update -a
./scripts/feeds install -a

构建基础环境

make menuconfig
  • Target System 选中’(Atheros AR7xxx/AR9xxx)’
  • Subtarget 选中 ‘(Genaric devices with NAND flsh)’
  • Target Profile 选中’(NETGEAR WNDR3700v4/WNDR4300)’

选择好路由器型号之后 save,则可以执行

make defconfig

可选配置

再次执行:

make menuconfig

选择自己所需要安装的包。

save -> exit

执行 scripts/diffconfig.sh > diffconfig 保存修改内容至 diffconfig 文件

开始编译

make -j1 V=s

在虚拟机中大概编译了一个半到二个小时,大多数时间都在下载,所以要保持网络通畅

编译好了之后可在 bin/xxx 目录找到生成的固件 openwrt-xxx-squashfs-factory.binopenwrt-xxx-squashfs-sysupgrade.bin

已经安装了 OpenWrt 那么可用 sysupgrade 固件进行升级,会保留用户数据(也可选不保留) factory 固件在第一次刷机的时候使用

本文标签: 固件 debian OpenWRT ubuntu 编译
本文网址: https://pylist.com/t/1584662475 (转载注明出处)
如果你有任何建议或疑问可以在下面 留言
发表第一条评论!
验证码图片
相关推荐