Raspberry Pi 4 樹莓派試玩

樹莓派是近幾年還蠻紅的 maker 平台,也被用於眾多的學習和研究項目上。之前曾經也有想過要買台來玩玩看,但幾經考慮後總覺得沒用途,買來後想必是被放進冰箱裡,所以遲遲一直沒有下手。

這兩天突然來了個想法,Raspberry Pi 4 是 ARM64 的 A72 平台,比起一般的嵌入式系統,其實效能算強勁的了。而且目前其開發環境也相當方便了,可以在上面安裝 Ubuntu,擁有最多達 8GB 的 RAM。最重要的是 ARM64 現在也支援 Hardware Virtualization 了,這樣可以搭配之前的 QEMU 協助開發辦法,在 Host 與 Guest 同架構的條件下,表現會更好。

本篇就先寫寫樹莓派安裝 Ubuntu 的方法,下篇再分享測試 QEMU on ARM 的方法與結果。

Raspberry Pi 4 安裝 Ubuntu

樹莓派4

Raspberry 4 規格如下

  • USB Type C 供電: 建議 5v @ 2A 以上
  • Micro HDMI x 2: 有需要看畫面的人記得買轉接頭,本文全以網路操作。
  • USB 2.0 x 2 + USB 3.0 x 2
  • Gigabit ethernet x 1
  • WiFi + Bluetooth
  • MicroSD 插槽

要建立系統的開機系統 OS,我們使用的是 Ubuntu,參考的文章是這一個影片 「Install Ubuntu MATE On The Raspberry Pi 4! Amazing Performance」。裡面展示了怎麼製做系統 SDCard,簡單的說分成兩部:

  1. 到 Ubuntu 的網站下載樹莓派的 Image ,本文下載的是 20.04 Server 64bit 版本。
  2. 下載 Etcher 工具,來將 image 寫入 SDCard

解壓縮檔案

下載下來的檔案 ubuntu-20.04.2-preinstalled-server-arm64+raspi.img.xz 約690MB,解壓縮後為 3.2G,可用 7zip 解壓縮。

將檔案寫入 SDCard

下載 balenaEtcher 後執行,簡單的選擇剛解壓縮的檔案、目的磁碟,執行寫入,然後靜待完成就可以了。

Etcher寫入檔案

設定網路

記憶卡寫入 image後,請再一次將記憶卡插入電腦,這時會看到一個未知的分割區和一個可用的分割區。未知的分割區,可以不需理會。在可用的分割區上,請進行下面兩個動作,以允許用網路來做初始化動作。

  1. 產生一個名為 ssh 的檔案,內容空白即可。有此檔案,方可以 ssh 進行初始化登入
  2. 修改 network-config 檔案,將 ethernet 的 IP 設為固定,因為沒有接顯示器,用 DHCP 難以得知 IP。IP 的內容,請依自己的網路做適當修改。

IP初始設定

補充:上面的照片沒設定 DNS,包含的 DNS 的設定為:

 

開機登入

做完以上的動作後,就可以將 SDCard 插入樹莓派,插上網路線並上電。稍後,即可以 ping 驗証是否已開機完成,並以 ssh 進行登入。系統的預設帳號密碼是 ubuntu/ubuntu,第一次登入時會要求修改密碼,修改完畢後會斷線。重登入後,以新的密碼登入即可。

SSH登入樹莓派

安裝與設定環境

接下來的項目,就是一般的 Linux 設定,可依個人的需求做安裝。下面列出的部份,是為了做 QEMU 模擬開發所需安裝的套件,在下一篇文章會用到。這邊假定都是以 sudo 後來進行設定。apt 安裝套件包的部份,在一開始會因為被系統背景工作佔用而無法進行,可以稍等一會再試。或可以依系統提示,kill掉佔用的程序。

若有需要用圖型化環境,可以安裝 ubuntu-mate-desktop 套件 。

效能

不專業的測試下,Raspberry Pi 4 與 AMD Ryzen 3950x 的單核效能,以7zip benchmark做比較,差距大概在 1:4 ~ 1:5 左右。而在執行 QEMU ARM64 Guest 的環境下,做 bzip 壓縮測試,Pi4 開啟 Hardware Virtualization卻可以輾壓 3950x,達到約4倍的效能。

Pi4 ARM64 的虛擬化果然是有其優勢在,也不枉買了這一片板子。

溫度監控

根據網路上的測試分享,當溫度達到 83 度時就會主動降頻。在文章前面的部份,已經有安裝了 lm-sensors 套件,可以下達 sensors 命令來觀察溫度。

觀察溫度

修改 IP

新的 Ubuntu 修改 IP 的方式有點變的不認識了,以前是在 /etc/network/interfaces 這個檔裡。現在改在 /etc/netplan/50-cloud-init.yaml,其實就是上面 network-config 初始化後的結果。其它的設定我也不熟,有需要的請查查看。

在其上面有一些說明,指出修改會被程式自動覆蓋,但我好像沒看到這個現象,也有人提到可以把 cloud-init 套件移掉省麻煩 (apt-get remove cloud-init)。

結語

在樹莓派上操作真的跟在 PC 上沒什麼差別了,甚至比在 PC 上還方便,image 直接燒進 SDcard 就可以了,套件也是直接安裝。雖然效能還是偏貧弱,但對於開發學習來說,已經很夠了。另外,樹莓派4還可以超頻和USB開機,有興趣的人也可以上網找找看。

需要在樹莓派上執行 QEMU 模擬 ARM64 的讀者,可參考下一篇文章 利用 Raspberry Pi 4 硬體虛擬化加速開發ARM專案

Leave a Reply