樹莓派 64 位作業系統
- Raspberry Pi OS - 64 位版本與 32 位版本
- 在 Pi 硬體上執行 64 位 Raspberry Pi OS 版本
- 使用 SHA256 校驗和驗證 Raspberry Pi OS 映像
本文討論 64 位版本的 Raspberry Pi OS 以及如何在 Pi 硬體上執行它。
Raspberry Pi OS - 64 位版本與 32 位版本
一般來說,個人電腦從 2003 年開始引入 64 位計算,目前幾乎所有的 PC 處理器甚至智慧手機處理器都採用 64 位架構。後者意味著 CPU 對 64 位字進行操作,相應的結構(例如通用暫存器)也容納相同的長度。此外,64 位處理器可以定址超過 4GB 的主記憶體(32 位系統的上限)。自從 64 位 CPU 出現以來,當前的系統已經能夠容納更大的 RAM 容量。
需要注意的是,樹莓派板子的 CPU 不同,只支援 Pi3 版本之後的 64 位系統。請注意,A
、B
或計算模組的外形尺寸對電路板是否支援 64 位版本的 Raspberry Pi OS 沒有任何影響。支援的 CPU 基於 ARMv8-A 指令集架構 (ISA),這是第一個引入 64 位功能的 ARM ISA。
另一方面,Raspberry Pi Foundation 仍然沒有釋出 64 位版本的 Pi 作業系統作為穩定版本。目前,以下 link 上僅提供測試版。請注意,官方 Raspberry 論壇 post 中列出了一些限制和問題。
在 Pi 硬體上執行 64 位 Raspberry Pi OS 版本
64 位 Pi 作業系統在使用者介面方面與通常的安裝過程沒有太大區別。
首先,你應該從上面的連結下載最新的存檔檔案,在撰寫本文時,該檔案為 2021-05-07-raspios-buster-arm64.zip
檔案。請注意,這是包含推薦軟體的完整版作業系統,但你也可以從 repository 訪問 Lite 版本。
下載存檔檔案後,請確保使用 SHA-256 校驗和驗證其真實性。後者通常位於同一倉庫中名為 2021-05-07-raspios-buster-arm64.zip.sha256
的單獨檔案中。如果你不熟悉驗證過程,可以按照本文最後一段中的說明進行操作。驗證成功後,你可以繼續從存檔中提取 .img
檔案,然後將影象寫入 SD 卡。根據你使用的平臺,你可以選擇任何你熟悉的刷機軟體。在這種情況下,我們專注於 Linux 平臺,你可以使用以下命令寫入 SD 卡:
sudo dd if=2021-05-07-raspios-buster-armhf-full.img of=/dev/sdx bs=512k status=progress
請注意,前面的命令假設 2021-05-07-raspios-buster-armhf-full.img
檔案位於當前工作目錄中,並且你的使用者具有呼叫 sudo
命令的許可權。此外,你應該根據你的 SD 卡裝置路徑修改部分 - /dev/sdx
,可以使用以下命令識別:
lsblk
在向 sudo dd
命令提供輸出路徑引數時,你應該小心操作,因為它會覆蓋給定的儲存裝置。如果你不確定要指定哪個裝置路徑,請從計算機上拔下 SD 卡,然後重新執行前面的命令以檢視從列表中刪除了哪個裝置。然後才將路徑名複製到 sudo dd
命令。請注意,你的 Linux 發行版可能沒有預設安裝 lsblk
程式,但你很可能可以從官方倉庫手動安裝它。否則,你可以使用下一個命令:
sudo fdisk -l
完成快閃記憶體到 SD 卡後,你可以在 Raspberry Pi 3 或 Pi 4 板上啟動它,然後像往常一樣繼續圖形安裝程式。
使用 SHA256 校驗和驗證 Raspberry Pi OS 映像
SHA256 是一種雜湊演算法,可為給定檔案生成唯一的校驗和/簽名。因此,它通常用於驗證網路上可用檔案的真實性,以防止可能在上傳或傳輸過程中修改檔案的中間人攻擊。大多數 Linux 系統上都應該提供用於此步驟的工具,並且可以使用 sha256sum
命令呼叫它。如果你從倉庫下載了 2021-05-07-raspios-buster-arm64.zip.sha256
檔案,你可以從終端視窗導航到同一目錄並執行以下命令:
sha256sum -c 2021-05-07-raspios-buster-arm64.zip.sha256
成功後,它應該產生如下輸出:
2021-05-07-raspios-buster-arm64.zip: OK
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn