2020-05-07

编译OpenWrt系统

作者 关文津

参考资料来自官方文档

https://openwrt.org/docs/guide-developer/quickstart-build-images

以debian/ubuntu作为交叉编译环境为例需要安装以下软件

sudo apt install subversion g++ zlib1g-dev build-essential git python time
sudo apt install libncurses5-dev gawk gettext unzip file libssl-dev wget
sudo apt install libelf-dev

如果是ubuntu 18.04+仅需要安装以下软件

sudo apt install build-essential libncurses5-dev python unzip

获取openwrt源码进入源码目录更新和安装feeds,最后进入编译定制菜单

git clone https://git.openwrt.org/openwrt/openwrt.git/
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

根据自己的需求选择编译平台以及软件,Y=编译进系统,M=编译单独的软件,N=取消编译,空格键在这几个选择中循环,退出默认保存.config,然后开始编译

make

编译完成后你会在目录./bin/targets/平台/generic/找到系统

 *-factory.bin第一次安装使用

 *-sysupgrade.bin在openwrt中升级使用

tips:通常第一次编译不会很顺利的,常见情况有

需要联网下载所编译的源码,在大陆下载会很慢甚至被屏蔽,这种情况最好准备国外VPN。

编译不通过会提示你使用以下命令进行单线程详细输出编译,可以看出卡在哪里好进行针对性解决。

make -j1 V=s

您可以将配置文件放在<buildroot>/files中,例如你想将network包含在你的系统中/etc/config/对应<buildroot>/files/etc/config/network目录中。如果编译目录不存在files目录,则创建它。