DIY 编译 openwrt 固件

一.线上云编译

二.手动编译

这部分采用 大雕lean 的官方教程.链接:https://github.com/coolsnowwolf/lede

注意:

  1. 不要用 root 用户进行编译!!!
  2. 国内用户编译前最好准备好扶墙手段.
  3. 默认登陆IP 192.168.1.1 密码 password

编译命令如下:

  1. 首先装好 Ubuntu 64bit,推荐 Ubuntu 20.04 LTS x64

  2. 命令行输入 sudo apt-get update ,然后输入 sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 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 wget curl swig rsync

  3. 使用 git clone https://github.com/coolsnowwolf/lede 命令下载好源代码,然后 cd lede 进入目录

  4. 加载三方插件库,可修改 feeds.conf.default 或者直接 clone 到 lede/package 目录内,然后执行下方代码

./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig # 构建的机型还有插件都在这步里选,LUCI选项里有大部分插件和主题了.
  1. make -j8 download V=s 下载dl库(国内请尽量全局扶墙上网)

  2. 输入 make -j1 V=s (-j1 后面是线程数。第一次编译推荐用单线程)即可开始编译你要的固件了。

本套代码保证肯定可以编译成功。里面包括了 R21 所有源代码,包括 IPK 的。

二次编译:

cd lede
git pull
./scripts/feeds update -a && ./scripts/feeds install -a
make defconfig
make -j8 download
make -j$(($(nproc) + 1)) V=s

如果需要重新配置:

rm -rf ./tmp && rm -rf .config
make menuconfig
make -j$(($(nproc) + 1)) V=s

编译完成后输出路径:bin/targets

以上还需要注意的是国内机器在下载的时候,需要添加:export GOPROXY=https://goproxy.io剩下的,只要网络没问题,基本就OK了.

三.单独编译插件

tips:如果只想编译某个组件,比如某个.ipk,那么可以使用 sudo make package/xx/compile V=99

其中xx是组件的名字,比如我要单独编译click modular router组件,OpenWrt的安装包中也有Click但是版本很旧已经被标注BROKEN,所以在menuconfig里面是不可见的,所以我要单独编译生成click.ipk然后使用opkg安装到路由器中。

https://github.com/rriggio/openw ... ster/click/Makefile

复制这个makefile替换feeds/packages/net/click重的Makefile,然后cd $TOPDIR,执行:

sudo make package/click/compile V=99
即可在bin/ar71xx/packages目录下生成click_20131011-1_ar71xx.ipk

如果要生成所有选中的packages组件,执行:make package/compile 即可。

也可参考: https://jarviswwong.com/compile-ipk-separately-with-openwrt.html

Reference Link

posted @ 2021-07-22 12:57  jonnyan  阅读(1471)  评论(0编辑  收藏  举报