openwrt是一个非常强大的路由器操作系统,这里简单的笔记下如何在树莓派4上跑起来。
树莓派4的spec:https://www.raspberrypi.org/products/raspberry-pi-4-model-b/specifications/
可以看到,树莓派4的CPU为:
Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
openwrt目前支持的树莓派系列预编译系统列表:https://openwrt.org/zh/toh/views/toh_fwdownload?dataflt%5BModel*%7E%5D=Raspberry,
可以看到,树莓派4在openwrt中的型号定义如下,目前发行的openwrt中没有树莓派4的支持。
品牌:Raspberry Pi Foundation 型号:Raspberry Pi 4 CPU: Broadcom BCM2838 目标类型:bcm27xx 子类型:bcm2711
这里我们通过源码编译一个最简单的openwrt系统。先笔记一些网址:
SD卡烧录工具:
https://www.balena.io/etcher/
https://sourceforge.net/projects/win32diskimager/
openwrt wiki中文指南:
https://openwrt.org/zh/docs/start
openwrt 官方编译指南:
https://openwrt.org/docs/guide-user/additional-software/beginners-build-guide
https://openwrt.org/zh/docs/guide-developer/quickstart-build-images
lede github指南:
https://github.com/coolsnowwolf/lede
openwrt github主线备份:
https://github.com/openwrt/openwrt
下面笔记下最简单编译步骤:
#安装必须的编译工具 $sudo apt-get install subversion g++ zlib1g-dev build-essential git python rsync man-db libncurses5-dev gawk gettext unzip file libssl-dev wget zip time #从openwrt的github上拉去代码,也可以从官方或者lede下载,看个人网络和需求 # $git clone https://git.openwrt.org/openwrt/openwrt.git/ $git clone https://github.com/openwrt/openwrt.git $cd openwrt/ # openwrt 最新release分支不支持树莓派4,所以直接从master上使用最新代码编译,默认在master分支 # $git branch # $git checkout master # $git pull #下载安装其他依赖 $./scripts/feeds update -a $./scripts/feeds install -a #首先使用默认配置,然后打开menuconfig,配置为树莓派4,如下图: $make defconfig $make menuconfig
同时默认编译LuCI,方便操作:
> LuCI > 2. Modules 中打开: -*- luci-base > LuCI > 2. Modules > Translations 中打开: <*> Chinese Simplified (zh_Hans)
编译开始:
# 下载所有选中的组件,这里可以采用多线程方式下载: $make -j8 download V=s # 编译,第一次编译时最好单线程编译,避免不必要的依赖缺失 $make -j1 V=s
当编译完成后,固件在 openwrt\bin\targets\bcm27xx\bcm2711下,全烧录固件为:openwrt-bcm27xx-bcm2711-rpi-4-ext4-factory.img.gz,将该img解压缩后,使用SD卡烧录工具烧录,树莓派就可以跑起来了。
默认情况下,该固件设置树莓派有线口为LAN口,树莓派默认IP地址为192.168.1.1,因此我们可以通过网线将电脑和树莓派4连接,设置电脑本地IP为静态192.168.1.2,网关地址为192.168.1.1来建立一个临时局域网。
电脑网络设置OK后,浏览器访问192.168.1.1,就可以看到openwrt系统了。
配置WIFI国家为AU,信道设置为6可以打开WIFI热点,如下图:
一些备注:
#有修改后,需要重新编译时,可以使用多线程加速: $make -j$(($(nproc) + 1)) V=s #清空所有编译配置: $rm -rf ./tmp && rm -rf .config # 如果WSL比较慢,可以做如下配置,关闭windows路径搜索,参考链接【 https://openwrt.org/docs/guide-developer/build-system/wsl 】 $cat /etc/wsl.conf [interop] appendWindowsPath = false
发表评论