前言及准備
本筆記適用於第一次給樹莓派刷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'