爲什麼選擇ubuntu?
剛拿到樹莓派時,我和很多萌新一樣選擇了Raspbian作爲入門系統,但是在使用過程中,我無法適應它——Raspbian採用64位的內核,但是其用戶域是32位的——但是我入手的樹莓派是4GiB RAM版本的,這就意味着我無法獲取全部的內存控制權
這件事直接導致Visual Studio Code無法使用remote-ssh插件登錄樹莓派
截至本文寫作日期(2020年2月22日),目前已知的擁有64位用戶域的、基於GNU/Linux樹莓派操作系統列表如下:
最後,基於個人使用習慣,我選擇安裝Ubuntu Server 19.10
系統安裝和配置
鏡像燒錄
可以使用各種鏡像燒錄工具將img文件燒錄至SD卡,例如Rufus、Win32ImageWriter等,這一步同Raspbian並無任何區別
固件配置
燒錄好的SD卡第一分區爲FAT32格式,其中包含了固件的啓動設置,以及第一次啓動時需要執行的任務,這些任務以無後綴的yaml文件給出
關於config.txt
該文件規定了固件的啓動行爲,可以參考這裏,但是不同於Raspbian的是,不要隨意修改該文件的默認內容,而是應該在usercfg.txt
中添加用戶自定義的配置
根據config.txt
的說明,後來的配置將會覆蓋新的配置,而usercfg.txt
由config.txt
包含於文件末尾,保證了用戶配置總能覆蓋默認配置
默認情況下,Ubuntu啓動時是禁止藍牙模塊的,但是可以在usercfg.txt
中添加include btcfg.txt
以覆蓋默認配置
Headless Setup
同Raspbian,Ubuntu Server也支持無鍵鼠、無顯示的無頭配置,只是比Raspbian略微複雜——將燒錄好的SD卡連接到PC,掛載第一分區,可以看到幾個無後綴的yaml文件:
- user-data
該文件是用於cloud-init的配置文件,其中規定了默認的用戶名和密碼都是ubuntu
,如有需要可以根據文件說明修改
值得一提的是,這個文件規定了可以使用密碼驗證登錄SSH,這對SSH啓動是極爲重要的 - network-config
這裏是網絡配置文件,在Ubuntu中默認使用netplan
進行網絡管理,這個文件就是第一次啓動時netplan
讀取和執行的配置,關於該文件的編寫,可以參考這裏,不論使用以太網還是Wi-Fi,都可以直接在這裏設置靜態IP,方便開機後直接訪問
開機之後的配置
- 修改軟件源
切換目錄到/etc/apt/
,對原有的sources.list
文件進行備份後(使用cp
命令),使用sed
命令一鍵替換:
更新軟件緩存即可:sudo sed -i 's/http://ports.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update
- 設置時區
這條命令將時區設置爲上海,即東八區時間,sudo timedatectl set-timezone Asia/Shanghai
set-timezone
後的參數應該是continent/city
- 安裝zsh和oh-my-zsh
安裝好以後,需要使用# installed zsh sudo apt install zsh -y # get oh-my-zsh sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
chsh
命令切換默認shell,如果oh-my-zsh沒有自動拷貝.zshrc
文件,也需要我們自行拷貝
關於zsh的美化和自定義,這裏不再贅述# change the default shell chsh -s /bin/zsh # use the template .zshrc from oh-my-zsh cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc source ~/.zshrc
- 移除MOTD歡迎信息
可能有些人覺得MOTD(Message of the Day)比較煩,這個功能也是可選關閉的
找到/etc/default/motd-news
文件,將其中ENABLED
項改爲0即可 - 解決登錄時顯示
Failed to connect to https://changelogs.ubuntu.com/meta-release-lts....
問題
參考這裏
至此,樹莓派4B上的安裝流程結束,請好好體驗吧~!