OpenWrt Club OpenWrt Club
  • 注册
  • 登录
  • 首页
  • OpenWrt系统
  • OpenWrt插件
  • OpenWrt固件
  • 友人帐
  • OpneWrt 论坛
首页 › OpenWrt系统 › 树莓派Lean大雕OpenWrt固件之编译篇

树莓派Lean大雕OpenWrt固件之编译篇

萝卜
1年前OpenWrt系统
3,402 2 11

文章前言

折腾树莓派一直是我一天的开始,编译OpenWrt是我每天的梦魇,这段时间一直想编译一个适用于树莓派的OpenWrt路由系统,官方几乎默认就可以编译,但是插件较少,所以开始选择移植Lean大神的源码,期间问题也是多多,不过经过Lean大神和eSir的千万次的问之后终于安心使用了。

文章发布前Lean(大雕)的固件除了Docker 初始化脚本以外已经默认适配了树莓派的所有型号,相信很多人已经编译使用了。我这里只做个笔记,如何编译和刷入树莓派。

项目地址:https://github.com/coolsnowwolf/lede

编译环境

如何部署编译环境你可以参考以下几篇文章:

如何编译一个属于自己的OpenWrt固件
树莓派移植Lean插件到OpenWrt官方源码里

有必要在开始之前说一下如何对配置界面进行选中选择,在menuconfig界面方向键来控制上下左右,

  • 方向键上下左右选择菜单
  • 回车进入选择菜单,右边标有箭头的为多选项可以回车进入。
  • 字母y 为选中并编译进固件
  • 字母m为选中但不编译进固件
  • 字母N代表取消选择。

配置机型

这里依Raspberry Pi 3B+的型号为延时,其他机型只有这里不同,其他都一样。

在终端输入一下命令:

#进入源码目录
cd ~/lede
#拉取最新源码
git pull
#更新依赖源
./scripts/feeds update -a && ./scripts/feeds install -a
#进入配置界面
make menuconfig
第一个选项Target System 下选择BCM27XX
树莓派Lean大雕OpenWrt固件之编译篇-OpenWrt Club
OpenWrt Target System

Subtarget选择BCM2710 boards (64 bit)

树莓派Lean大雕OpenWrt固件之编译篇-OpenWrt Club
OpenWrt Subtarget

Target Profile 选择 Raspberry Pi 2b-1.2/3B/3B+/3CM,这个一定要选对,如果没选你可能没有WiFi和一些必要功能。之前Lean的源码编译选择树莓派是没有这个选项的,文章发布的前几个小时Lean已经修复了这个问题。

树莓派Lean大雕OpenWrt固件之编译篇-OpenWrt Club
OpenWrt Target Profile

Target Images 选择如下图:

树莓派Lean大雕OpenWrt固件之编译篇-OpenWrt Club

注意:如果你想要编译进Docker和较多的插件,最后一个选项Root filesystem partition size 这个选项必须大于270MB,或者你不使用`ext4分区格式。

选择插件

用Lean的源码编译就是为了那些插件,比如Docker、luci-app-ssr-plus这些,用起来还是非常方便的,所以在编译的时候我需要进行选择。

进入LuCI配置选项:

树莓派Lean大雕OpenWrt固件之编译篇-OpenWrt Club

通常你需要对以下几个选项进行配置:

  1. Conllections —> 选中 luci (这个是luci的web控制界面,如果你不需要web界面完全可以不用选择)
  2. Modules —> Translations —> Simplified Chinese (zh-cn) 简体中文
  3. Applications :
    这里面就是插件,比如多拨的插件科学上网的插件,建议第一次编译不要选择太多,除了默认的我勾选了luci-app-docker和luci-app-ssr-plus、v2ray,其他保持默认。
  4. Themes—>主题界面,根据自己喜好选择,也可以全不选中,不过建议永默认。
  5. Utilities —> Disc –>cfdisk 选择这个是因为Docker初始化脚本不能识别SD卡,所以用cfdisk来手动创建分区。

其他根据自己的需求进行选择,第一次编译系统不建议选择大量软件,这样出错的记录就减小,当一些系统环境编译依赖都顺利编译之后就再添加。

最后保存配置文件,键盘方向键移动到Save回车选择OK回车再次回车方向键选择EXIT 即可退出配置界面。

预下载编译依赖

配置已经完成,你选择的一些插件之类的都需要一些依赖来编译,在开始编译之前,我建议先对这些依赖进行下载,需要全局翻翻翻,因为有些已经被墙,这也是为什么eSir推荐用服务器来编译的缘故。

代理设置

假设你用的虚拟,你运行虚拟机的主机有自然与科学的软件,你可以在编译的虚拟机内进行如下设置:

vim ~/.bashrc

来到最后面加入以下内容:

export ALL_PROXY=socks5://192.168.1.110:1081

上面这句的意思就是让你的虚拟机终端也走socks5的代理,192.168.1.110这个IP是你主机的IP地址,后面是代理的端口,最后执行以下命令让其生效:

source ~/.bashrc

依赖下载

在终端输入一下命令:

make download V=s

这个过程可能很慢,也有可能会失败,要看你的网络环境,如果有下载不下来的需要重新下载,这里推荐用eSir的dl文件,他已经全部预先下载了,你只需要解压后放到源码目录即可使用。

开始编译

终端输入一下命令开始编译系统:

make V=s -j1

V=s:啰嗦模式,会详细显示整个编译过程,排错比较好用。

-j1:线程限制,建议第一次编译用单线程,如果出错容易排错。

当然如果你对编译比较有信息可以执行以下命令:

make V=s -j$(nproc)

-j$(nproc)会自自动用你CPU核心数来进行编译。

这个编译过程可能会很慢,如果成功你会看到大概如下信息:

树莓派Lean大雕OpenWrt固件之编译篇-OpenWrt Club

如果失败,出现Error等错误提示,根据提示在去找答案吧。

编译好的系统镜像目录在:

~/lede/bin/targets/brcm2708/bcm2710

平台不同,目录也会不同,树莓派的就这个目录下,你可以使用Filezilla、WinSCP等FTP软件下载到本机进行刷入,到此整个编译过程结束。

说实在的,做笔记写教程好累,又得截图又得码子,其实上面的操作步骤很少,也很简单,推荐新手区看一下eSir的视频编译教程,在YouTube有售,并且还有一些你需要知道的必要知识等。

现在唯一的问题是/etc/docker-init初始化脚本无法执行,其他一些顺利。

OpenWrt 固件编译 树莓派
11
本文系作者 @萝卜 原创发布在 OpenWrt Club。未经许可,禁止转载。
树莓派移植Lean插件到OpenWrt官方源码里
上一篇
树莓派Lean大雕OpenWrt固件之食用 Docker 篇
下一篇
评论 (2)
再想想
  • L

    您好,编译好的文件可否分享下呢?不麻烦的话请发到我邮箱,因为在这回复我可能收不到提醒。感谢。

    1年前
    • Luobo

      @L: 已经分享过了:https://openwrt.club/24.html

      1年前
  • 文章前言
  • 编译环境
  • 配置机型
  • 选择插件
  • 预下载编译依赖
2 11
相关文章
Ubuntu 18.04 编译OpenWRT遇到libwebsockets 重复问题
Ubuntu 18.04 编译OpenWRT遇到错误和解决办法
OpenWrt 利用docker-compose 搭建网站环境
如何在 OpenWrt 中安装Docker Compose
Copyright © 2019-2021 OpenWrt Club. Designed by nicetheme.
  • 首页
  • OpenWrt系统
  • OpenWrt插件
  • OpenWrt固件
  • 友人帐
  • OpneWrt 论坛
热门搜索
  • OpenWrt
  • Docker
  • 固件编译
  • 树莓派
  • LEDE
  • 个性修改
  • 服务器
  • Adguard
  • OpenWrt功能
  • Compose
  • 网站环境
  • PassWall
  • Ubuntu
  • OpenSSL
  • Torrent
  • BT下载
  • PT下载
  • 内网穿透
萝卜
13 文章
29 评论
67 喜欢
  • 11
  • 2
  • Top