前言及准备
本笔记适用于第一次给树莓派刷openwrt系统的玩家,对刷机过程及注意事项进行了记录,刷机之后对openwrt进行一些简单配置。
使用openwrt源码制作固件需要花费一点时间。
平台环境
编译主机:Ubuntu 16.04
目标机:树莓派3B+
1.sd卡系统备份
刷机之前对之前系统进行备份。
tf卡通过USB读卡器连接到PC,在虚拟机ubuntu上连接 MXT USB device;
然后查看磁盘挂载就可以看到存储卡
df -h
我们可以看到 /dev/sdb1 /dev/sdb2 这两个分区(boot分区和文件系统分区)
接下来我们通过指令备份系统,时间比较长耐心等待。
sudo dd if=/dev/sdb | gzip>/home/wangh/Tools/wh_raspi.gz
2.openwrt系统镜像制作
2.1源码编译
上节源码编译生成的img固件(国内网络环境实测需要6小时以上)。
2.2直接下载编译好的固件
官网有 Stable Release 和 Development Snapshots
这里选用 Snapshots版(没有luci),Stable Release(没有网卡驱动);
为了方便使用 Snapshots 版,到时直接在线安装 luci 即可;
2.3 openwrt烧写
上章制作的镜像通过 Win32DiskImager 工具烧写到sd卡,使用之前使用 SDFormatter 对sd卡进行格式化。
openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img
2.4 openwrt初步配置
2.3.1 WiFi网络配置
# 新增wifi账号配置文件
vim /etc/wpa_supplicant.conf
# 输入以下内容
ctrl_interface=/var/run/wpa_supplicant-phy0
ap_scan=1
network={
ssid="502_5G" # 这是AP的名字
psk="cly6652413" # 这是AP的密码
}
openwrt系统的wifi配置信息保存在目录/etc/config/wireless下
wireless配置:
vim /etc/config/wireless
设置如下(默认无线网卡没有使能,这里 disabled 为 0即可)
config wifi-device \'radio0\'
option type \'mac80211\'
option channel \'36\'
option hwmode \'11a\'
option path \'platform/soc/3f300000.mmcnr/mmc_host/mmc1/mmc1:0001/mmc1:0001:1\'
option htmode \'VHT80\'
option disabled \'0\'
config wifi-iface \'default_radio0\'
option device \'radio0\'
option network \'lan\'
option mode \'ap\'
option ssid \'OpenWrt\'
option encryption \'none\'
解释:
config wifi-device \'radio0\' #wifi驱动
option type \'mac80211\'
option channel \'36\'
option hwmode \'11a\'
option path \'platform/soc/3f300000.mmcnr/mmc_host/mmc1/mmc1:0001/mmc1:0001:1\'
option htmode \'VHT80\'
option disabled \'0\'
config wifi-iface \'default_radio0\'
option device \'radio0\'
option network \'lan\'
option mode \'ap\' #ap模式提供无线接入
option ssid \'OpenWrt\' #wifi名称
#option encryption \'none\' #无安全密码
option encryption \'psk2\' #wifi安全验证
option key \'12345678\' #WiFi密码
network配置:
vim /etc/config/wireless
config interface \'loopback\'
option ifname \'lo\'
option proto \'static\'
option ipaddr \'127.0.0.1\'
option netmask \'255.0.0.0\'
config globals \'globals\'
option ula_prefix \'fdcd:f1d4:17a8::/48\'
config interface \'lan\'
#option type \'bridge\'
option ifname \'wlan0\'
option proto \'static\'
option ipaddr \'192.168.2.1\'
option netmask \'255.255.255.0\'
option ip6assign \'60\'
config interface \'wan\'
option proto \'dhcp\'
option ifname \'eth0\'