前言及准备
本笔记适用于第一次给树莓派刷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'