debian - 【记录】- 本地编译OpenWrt - 3 - lean openwrt 编译和官方原版 openWrt 编译

github上的lede:https://github.com/coolsnowwolf/lede

视频:https://www.youtube.com/watch?v=Eo4DrySlY4M&list=PLH2PomTj_tuOeSbtNKCB8NNMXWjL6Xvau&index=10


在本地虚拟机编译OpenWrt固件有一些细节问题需要注意:

  • 需要将处理器和兴总数设置成大于2
    (因为在 make 编译阶段,其中的cc1plus等进程占用cpu特别大,如果cpu设小了,可能会因为cpu资源耗尽而频繁编译失败)
    debian - 【记录】- 本地编译OpenWrt - 3 - lean openwrt 编译和官方原版 openWrt 编译_第1张图片

环境

debian - 【记录】- 本地编译OpenWrt - 3 - lean openwrt 编译和官方原版 openWrt 编译_第2张图片

在这里插入图片描述

在这里插入图片描述

Lean OpenWrt

先编译lean
编译固件放在 lean 文件夹
(直接copy在github官网上的步骤了。。。)

安装编译的依赖包
命令行输入 sudo apt-get update ,然后输入 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 wget swig

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

这一步,我遇到了 Received HTTP code 407 from proxy after CONNECT
原因:代理用户/密码在git里面无法识别导致的。
解决:代理不用密码。。。

在这里插入图片描述
(可能开了负载均衡,网速非常不稳定)

更新信源 and 安装 and 编译配置

进入目录 cd ./lede
在这里插入图片描述

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

这里以来 wget ,因此需要先下载

apt -y install wget 

编译配置不是这里的重点,所以就直接保存,退出。
debian - 【记录】- 本地编译OpenWrt - 3 - lean openwrt 编译和官方原版 openWrt 编译_第3张图片

下载dl库(预下载编译所需的软件包)
make -j8 download V=s
(这步会下载很多的东西,国内请尽量全局**上网)

  • -j8 是指使用8个线程下载,理论上是数字越大下载越快,但似乎有个上限,实测5线程以上其实速度相差不了多少
  • V=99 or V=s 表示输出详细的debug信息

用时记录
开始:2020年7月12日22:21:23
结束:2020年7月12日23:11:33

编译

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

编译的过程少则4小时(j1单线程),等吧。

如果是root用户,需要设置环境变量

export FORCE_UNSAFE_CONFIGURE=1

否则编译前的检查会不通过(下图)
(这也是不建议用root用户进行编译的原因吧。)
debian - 【记录】- 本地编译OpenWrt - 3 - lean openwrt 编译和官方原版 openWrt 编译_第4张图片

OpenWrt编译问题集锦

官方原版的 OpenWrt

你可能感兴趣的:(debian,OpenWRT)