文章前言
折腾树莓派一直是我一天的开始,编译OpenWrt是我每天的梦魇,这段时间一直想编译一个适用于树莓派的OpenWrt路由系统,官方几乎默认就可以编译,但是插件较少,所以开始选择移植Lean大神的源码,期间问题也是多多,不过经过Lean大神和eSir的千万次的问之后终于安心使用了。
文章发布前Lean(大雕)的固件除了Docker 初始化脚本以外已经默认适配了树莓派的所有型号,相信很多人已经编译使用了。我这里只做个笔记,如何编译和刷入树莓派。
项目地址:https://github.com/coolsnowwolf/lede
编译环境
如何部署编译环境你可以参考以下几篇文章:
有必要在开始之前说一下如何对配置界面进行选中选择,在menuconfig
界面方向键来控制上下左右,
- 方向键上下左右选择菜单
- 回车进入选择菜单,右边标有箭头的为多选项可以回车进入。
- 字母
y
为选中并编译进固件 - 字母
m
为选中但不编译进固件 - 字母
N
代表取消选择。
配置机型
这里依Raspberry Pi 3B+的型号为延时,其他机型只有这里不同,其他都一样。
在终端输入一下命令:
#进入源码目录
cd ~/lede
#拉取最新源码
git pull
#更新依赖源
./scripts/feeds update -a && ./scripts/feeds install -a
#进入配置界面
make menuconfig
第一个选项Target System
下选择BCM27XX
Subtarget
选择BCM2710 boards (64 bit)
Target Profile
选择 Raspberry Pi 2b-1.2/3B/3B+/3CM
,这个一定要选对,如果没选你可能没有WiFi和一些必要功能。之前Lean的源码编译选择树莓派是没有这个选项的,文章发布的前几个小时Lean已经修复了这个问题。
Target Images
选择如下图:
注意:如果你想要编译进Docker和较多的插件,最后一个选项Root filesystem partition size
这个选项必须大于270MB
,或者你不使用`ext4分区格式。
选择插件
用Lean的源码编译就是为了那些插件,比如Docker、luci-app-ssr-plus这些,用起来还是非常方便的,所以在编译的时候我需要进行选择。
进入LuCI配置选项:
通常你需要对以下几个选项进行配置:
Conllections
—> 选中luci
(这个是luci的web控制界面,如果你不需要web界面完全可以不用选择)Modules
—>Translations
—>Simplified Chinese (zh-cn)
简体中文Applications
:
这里面就是插件,比如多拨的插件科学上网的插件,建议第一次编译不要选择太多,除了默认的我勾选了luci-app-docker
和luci-app-ssr-plus
、v2ray
,其他保持默认。Themes
—>主题界面,根据自己喜好选择,也可以全不选中,不过建议永默认。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核心数来进行编译。
这个编译过程可能会很慢,如果成功你会看到大概如下信息:
如果失败,出现Error
等错误提示,根据提示在去找答案吧。
编译好的系统镜像目录在:
~/lede/bin/targets/brcm2708/bcm2710
平台不同,目录也会不同,树莓派的就这个目录下,你可以使用Filezilla
、WinSCP
等FTP软件下载到本机进行刷入,到此整个编译过程结束。
说实在的,做笔记写教程好累,又得截图又得码子,其实上面的操作步骤很少,也很简单,推荐新手区看一下eSir的视频编译教程,在YouTube有售,并且还有一些你需要知道的必要知识等。
现在唯一的问题是/etc/docker-init
初始化脚本无法执行,其他一些顺利。
您好,编译好的文件可否分享下呢?不麻烦的话请发到我邮箱,因为在这回复我可能收不到提醒。感谢。
@L: 已经分享过了:https://openwrt.club/24.html
怎么下载啊
您好,请问一下默认的wifi密码是什么呢?用的您最新的固件