前言、為什么要適配Alpine Linux
為什么不是更多用戶的Ubuntu,Debian,這是很多朋友第一時間會問的問題。 首先Alpine Linux占用的資源更小,使用更輕量的包管理系統(tǒng),5M的最小rootfs是其他發(fā)行版沒法比的。 其次Luckfox pico系列板子的Flash和RAM資源都比較少(除了最新的MAX版本),Alpine Linux是最優(yōu)選擇。
也有很多朋友沒聽說過Alpine Linux,擔(dān)心不好用,接下來可以燒錄固件體驗一下。
一、下載固件并燒錄
在文章鏈接下載nand固件壓縮包之后,解壓縮之后打開SocToolKit軟件,在未接電的情況下按住BOOT按鈕不放, 然后插入USB。 軟件界面檢測到maskrom設(shè)備后,點擊搜索路徑按鈕,找到剛剛解壓的目錄,確認(rèn)。 然后把所有下載項目都勾選上,點擊下載按鈕。
二、連接串口并登錄
下載完成后,拔出USB斷電,連接串口開始配置系統(tǒng)。
按Luckfox官方wiki的指引接好串口后,打開串口工具軟件,給開發(fā)板接上網(wǎng)線和電源,就可以看到開發(fā)板的啟動信息了。 鏡像已開啟了串口接入時,終端root賬戶免密登錄配置,不需要再輸入賬戶和密碼了。
簡單查看一下根文件系統(tǒng)是否可以寫入,就可以開始下一步的配置了。
三、網(wǎng)絡(luò)配置
資源少的板子不會安裝各種網(wǎng)絡(luò)工具,ifconfig和ip命令是最常用的配網(wǎng)和查看工具。
Alpine Linux提供了網(wǎng)絡(luò)服務(wù),可以通過編輯/etc/network/interfaces文件實現(xiàn)靜態(tài)IP或者DHCP動態(tài)獲取IP。以下就是將板子的IP網(wǎng)絡(luò)配置成192.168.50.59,網(wǎng)關(guān)配置成192.168.50.1的模版。
`auto eth0
iface eth0 inet static
address 192.168.50.59
netmask 255.255.255.0
gateway 192.168.50.1`
建議使用靜態(tài)IP,這樣方便ssh遠(yuǎn)程登錄到開發(fā)板。配置好之后,需要將networking服務(wù)啟動才可以使用。 鏡像默認(rèn)已經(jīng)開啟了該服務(wù),如果發(fā)現(xiàn)能ping通局域網(wǎng)和外網(wǎng)ip,但是無法解析域名,需要將/etc/resolv.conf文件里的域名解析服務(wù)器換成當(dāng)?shù)氐姆?wù)器IP。
本文的鏡像默認(rèn)是使用網(wǎng)線接入網(wǎng)絡(luò),這樣才能發(fā)揮包管理器和網(wǎng)絡(luò)優(yōu)勢。USB的RNDIS是沒有配置好的,建議插入網(wǎng)線使用。
四、ssh遠(yuǎn)程登錄
鏡像里默認(rèn)安裝和配置了ssh遠(yuǎn)程服務(wù),已開啟root遠(yuǎn)程登錄配置,只需要接入串口的情況下,輸入passwd
命令修改root賬戶密碼,然后就可以使用ssh客戶端進(jìn)行登錄了。例如Termius的配置案例如下
配置好就直接ssh遠(yuǎn)程連接就好了。
五、包管理器APK的使用
和大多數(shù)的人一樣,給板子適配發(fā)行版的最大理由就是不想編譯,直接安裝軟件包。
Ubuntu的包管理器命令很多,用了這么多年命令行的我也沒記住,只記得更新和裝軟件包而已。
Alpine Linux的包管理器命令沒這么復(fù)雜,記住3個就行了。
- apk update,更新本地索引
- apk add,安裝軟件包
- apk del,刪除軟件包
就這么簡單,沒什么復(fù)雜的。例如安裝gcc,只需要運(yùn)行apk add gcc命令即可。
安裝完可以運(yùn)行g(shù)cc -v查看版本情況
Nand flash的空間不是很大,不建議安裝大型的軟件包,例如安裝gcc后,剩余空間只有38.2M。
這時候使用apk del gcc命令可以刪除gcc軟件包和它的依賴。
刪除gcc后,剩余空間又變成80多M了。
我提供的鏡像已修改成阿里源,正常的話安裝速度都很快,覺得慢可以自行更換其他源。 修改一下/etc/apk/repositories文件就可以了。 大多數(shù)情況下,apk安裝和刪除軟件包都會自動處理相關(guān)依賴,怎么來就怎么走,不會殘留垃圾。
六、服務(wù)管理
由于板子資源少,自然能跑的服務(wù)也不多,鏡像里默認(rèn)使用的是OpenRC來管理服務(wù)。
所有可用的服務(wù)都在/etc/init.d/目錄下。 常見的命令有以下幾個。
- rc-status查看默認(rèn)級別的運(yùn)行服務(wù)
- rc-update add 添加服務(wù)到運(yùn)行級別服務(wù)清單
- rc-update del 從對應(yīng)運(yùn)行級別服務(wù)清單刪除服務(wù)
- rc-service 管理服務(wù)啟停
添加和刪除服務(wù)時,需要增加運(yùn)行級別標(biāo)識,例如常見的default,boot等等。 一般使用默認(rèn)運(yùn)行級別default即可,特殊的服務(wù)需要自行搜索一下相關(guān)配置。 舉個例子,現(xiàn)在我們先查看一下默認(rèn)級別都有什么服務(wù)。 在終端里運(yùn)行rc-status命令,運(yùn)行后終端結(jié)果如下
然后分別嘗試以下把sshd服務(wù)禁止啟動,再把sshd服務(wù)開啟啟動。 只需要運(yùn)行rc-update del sshd就可以禁止sshd服務(wù)啟動了。 同樣的,運(yùn)行rc-update add sshd default就可以在啟動時開啟sshd服務(wù)。
不想重啟板子,重新啟動服務(wù)可以用rc-service來管理當(dāng)前系統(tǒng)的服務(wù)程序。
-
USB接口
+關(guān)注
關(guān)注
9文章
697瀏覽量
55509 -
RAM
+關(guān)注
關(guān)注
8文章
1352瀏覽量
114390 -
DHCP
+關(guān)注
關(guān)注
0文章
103瀏覽量
19637 -
Flash存儲
+關(guān)注
關(guān)注
0文章
38瀏覽量
8269 -
Ubuntu系統(tǒng)
+關(guān)注
關(guān)注
0文章
85瀏覽量
3881
發(fā)布評論請先 登錄
相關(guān)推薦
評論