前段时间鸽子御坂在折腾软路由搞得我心痒痒,疫情多出来的假期正好可以用来折腾软路由,原打算是买一块j1900的X86板子回来做软路由的,因为其功耗比较低(说白了就是为了省电费),然而一次在收拾桌子时从抽屉发现了一块尘封一年多的树莓派,那原本是我之前买回来玩iot(物联网),玩完之后就放在桌子上了,因为日常事务繁重,渐渐地就把它忘了。

这次正好找到它,就不用再耗时耗费去买j1900的板子做软路由了,而且鉴于其小巧摆在桌子上也不怎么碍事,然后“工作重心”就从x86平台转到了ARM平台,那么废话不多说下面就来看看,如何在树莓派上安装上openwrt/lede的软路由系统吧

让我们请出这次的主角---树莓派3B+
树莓派3B+
在配置方面其搭载了一块64位四核的BCM2837处理器,其拥有1.2Ghz的主频,处理器比PI2的BCM2836有着50%的速度提升,搭载的运存却仅有1G,不过也足以胜任openwrt/lede这个系统了

OK,下面我们来讲讲编译
此次编译的系统环境是Debian,理论上本文章也是可以适用于Ubuntu的
一、安装编译环境及依赖

先更新一下软件源和软件

apt update &&  apt upgrade

安装编译环境和编译依赖

apt -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex node-uglify gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx-ucl libelf-dev autoconf automake libtool autopoint gcc g++ cmake vim wget ntp ntpdate

PS:此操作请在root用户下进行哦

二、开始编译

把lede源码clone下来

git clone https://github.com/coolsnowwolf/lede
cd lede

更新依赖源

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

下面这个命令会检查编译所需的工具是否齐全并生产配置文件.config

make defconfig

进入编译内容配置菜单

make menuconfig

PS:这一步建议不要在root用户下进行
警告:最好使用国外的服务器进行编译,防止更新编译依赖源时某些源被屏蔽造成编译失败,国内请自行解决被墙的问题

如果需要Lienol的passwall插件的话请在执行上述命令的“cd lede”之后在feeds.conf.default文件添加:

src-git lienol https://github.com/Lienol/openwrt-package
进入编译内容配置菜单之后,可以使用上下键选择选项,Target System就是选择系统所要运行的平台,BCM27XX就是树莓派的ARM平台。第二个Subtarget就是选择cpu及系统的位数

bcm2708 对应 树莓派1
bcm2709 对应 树莓派2
bcm2710 对应 树莓派3
bcm2711 对应 树莓派4

Target Images 是固件镜像选项菜单

ext4和squashfs两项为编译生成的镜像中分区的格式,这两者的区别除了文件系统不一致之外,还有一个区别就是squashfs格式的固件支持在控制面板内恢复出厂设置,而ext4格式不支持,但ext4格式的固件在分区上的自由度上大一些 (比如可以比较方便地调整分区大小等)。

Root filesystem partition size = 160

这个是镜像中root分区的大小,我们可以尽量将 root 分区设定得大一些 (方便日后的折腾)。

Administration 菜单下是选择一些管理工具
(其他参数请自行百度)
每次编辑完之后Save保存到.config配置文件,然后退出即可。

三、下载编译依赖的源码

make download V=s

PS:配置完成后需要下载你所选择的那些软件,OpenWrt仅有编译及配置指令,各种依赖的代码包依然在代码仓库里。

四、开始编译系统
建议使用screen来避免编译过程中因各种不可预测的原因断开与服务器连接使编译中断

make V=s

出错后使用单线程,以方便排错

make V=s -j1
四、编译成功
编译如果没有报错,那文件就应该在

bin/targets/你选的CPU架构/你选的CPU型号/
文件夹里,找到xxx-factory.img.gz并解压得到xxx-factory.img文件就是我们这次编译的成果。

在这里博主也为大家附上了编译好的固件,里面包含了众多应用和插件和众多的网卡驱动,可以在树莓派2B/2B+/3B/3B+/4上使用(通用)
点击此处下载

注意:文章提供的固件编译自发表日,如需较新固件建议自己编译

下一篇文章将介绍 openwrt/lede 的配置
如果有什么报错不知道该如何解决的话,欢迎在下方评论区写出来,也可通过qq联系博主

版权声明:本文为原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请标明出处链接和此声明

最后修改:2022 年 05 月 17 日
如果觉得我的文章对你有用,请随意赞赏