BeagleBone Black 固件升級

以前以爲自己把自己的BeagleBone Black(簡稱 BBB)板子玩壞了,然後項目上又給了一個 BBB 板子,後來發現上面的 Linux 系統是不全的,連 sudo, apt-get 指令都識別不出來,一怒之下就開始老老實實學習如何升級 BBB 的固件了…… 結果發現其實也並不難……

一、前言

在 BeagleBone Black 自帶的網頁說明上,基本上已經把固件升級步驟說的比較詳細了。地址如下(連接 BBB 到 PC 機上之後才能訪問):
http://192.168.7.2/bone101/Support/BoneScript/updates/

上述界面中有如下說明:

While there are many possible ways to boot your Beagle, every BeagleBoard and BeagleBone is capable of booting off an SD (or microSD) card. To utilize the latest software from the BeagleBoard.org community, it is recommended you program an SD card with the latest image, try it out and then commit the image to your on-board flash if your board has one and you are happy with the functionality of this new software.
Note that not all of the provided images consume the same amount of space. It is important to note the size of the image and the amount of space consumed within the image to know if it will fit within the space of your SD card and potentially your on-board eMMC flash.
雖然有多種方式可以引導啓動你的 Beagle 電路板,但每個 BeagleBoard 和 BeagleBone 都可以使用 SD(或 microSD 卡)進行啓動。如果想要使用 BeagleBoard.org 社區的最新軟件,而且您的電路板上有一個板載內存並且您樂於使用新軟件的功能的話,建議您將最新的鏡像文件燒寫進 SD 卡,然後嘗試將鏡像提交到電路板的板載內存。
請注意,並不是所有的鏡像都佔用同樣的空間。重要的是要注意鏡像文件大小以及鏡像消耗的空間,這樣纔可以瞭解該鏡像是否適合 SD 卡的空間與板載 eMMC 內存。

所以,固件升級有兩種合適的方法:一是將燒寫有最新鏡像文件的 SD 卡插在 BBB 板上,每次上電就從 SD 卡中讀取鏡像中的系統,並加載(類似於平常的 U 盤啓動);二是將 SD 卡的鏡像文件直接燒寫進 BBB 內部(類似於重新做系統)。

二、固件升級步驟

1. 下載最新鏡像文件

從官網下載最新的 Debian 鏡像文件。如果不想使用圖像用戶界面(即 GUI),可以使用標有 “loT” 的鏡像,省出更大的內存空間。下載的鏡像文件解壓縮,解壓縮後的文件將具有 .img.xz 擴展名,這是 SD 卡壓縮扇區的鏡像。
官網最新鏡像文件下載網址:http://beagleboard.org/latest-images

進入官網之後,後面的內容就值得注意了。


上圖中是官網的推薦 Debian 鏡像,這些都是最新更新的系統鏡像,建議燒寫的鏡像就從這裏面選擇,而且選擇的鏡像一定要支持 BeagleBone Black (如圖中紅線提示)。
但之前好幾次筆者燒寫前面的文件,都沒有成功將鏡像燒寫進去,主要就是沒有注意到上圖中用紅框圈中的部分。該部分將在後面第 6 步中重點說明。

另外,官網也保存有之前發佈的系統鏡像,即 Older Debian Images 部分。(注:筆者使用的鏡像就是圖中的Debian 8.7 2017-03-19 4GB SD LXQT)該部分又被區分爲兩種大類(如下圖紅線中標註所示):without flashing the eMMC,以及 eMMC flasher。


對於 without flashing the eMMC 類別的系統鏡像,從字面意義上可以看出就是不可以燒寫到 BeagleBone 板中。但其實實際上經過一些對鏡像文件的改變之後,鏡像文件是可以燒寫進 BBB 板中的,該部分將在第 6 步中敘述。
對於 eMMC flasher 類別更加簡單,不需要改變鏡像文件內容,按照正常流程就直接把鏡像燒寫進 BBB 板中。但該類別中的唯一一個系統鏡像是 2014 年版本的 Debian 鏡像,也就是 BBB 板的出廠時系統自帶的初始鏡像,比較陳舊,所以建議更換其他鏡像。

這裏可以選擇和筆者一樣的 Debian 8.7 2017-03-19 4GB SD LXQT 版本鏡像,也可以選擇 Recommended Debian Images 中的推薦鏡像

2. 安裝 SD 卡燒寫工具

下載安裝 Win32 DiskImager
燒寫 SD 卡的通用幫助可以在 Ubuntu 鏡像燒寫幫助中找到。

注:新版本的 BBB 電路板建議使用 Etcher 進行燒寫,但筆者使用 Win32 DiskImager 比較習慣,所以依舊用較爲習慣的軟件。

3. 連接 BeagleBone Black 到 PC 機上

用 USB 線連接 BBB 到電腦上。連接完成的標誌是可以通過電腦端的瀏覽器訪問網址:http://192.168.7.2

4. 在 SD 卡中燒寫鏡像

把下載好的鏡像解壓出來,然後用 Win32 DiskImager 將解壓後的鏡像文件燒寫進 SD 卡中。燒寫大致如下圖所示:

5. 彈出 SD 卡

將新燒寫的 SD 卡從電腦中彈出。

6. 改寫鏡像文件配置

該步驟對燒寫系統的成功十分重要,也許很多人燒寫失敗就是因爲忽略了該步驟的操作。
前面第一步圖片的紅框中內容,即爲該步驟的核心。

To turn these images into eMMC flasher images, edit the /boot/uEnv.txt file on the Linux partition on the microSD card and remove the ‘#’ on the line with ‘cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh’. Enabling this will cause booting the microSD card to flash the eMMC. Images are no longer provided here for this to avoid people accidentally overwriting their eMMC flash.
如果要將這些鏡像轉換爲 eMMC 閃存鏡像,請編輯 microSD 卡上 Linux 分區上的 /boot/uEnv.txt 文件,並將 ‘cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh’ 一行前面的 ‘#’ 刪去。刪掉 ‘#’ 就使燒寫鏡像到 eMMC 閃存的操作變得有效。這裏不提供可以直接燒寫的鏡像,以避免用戶意外重寫了他們的 eMMC 閃存。

首先將 SD 卡插入電路板,並將 BBB 電路板斷電,將 SD 卡插入到 BBB 板中,準備給 BBB 板上電。
此時上電之後,此時並沒有把鏡像燒寫進 BBB 電路板中,而是讀取了燒寫進 SD 卡中的系統到 BBB 板中,然後再運行。此時,儘量用 root 權限登錄,如果不能用 root 權限,可以使用用戶名爲 debian 的用戶登錄,初始密碼是 temppwd。(建議用 PuTTY 進行終端的操作
登進了 debian 用戶之後,輸入以下指令,進入 /boot/uEnv.txt 文件:

cd /boot
vim uEnv.txt

用 vim 打開文檔,找到 uEnv.txt 的最後一行:
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh
將前面的 ‘#’ 去掉,內容變成:
cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

之後 vim 保存退出,該步驟便完成了。
注:vim 的操作此處不再贅述,請在網上自行搜索。

7. 改寫 BBB 板的系統

將 BBB 板斷電,並準備重新上電。
上電之前,按下 Boot 鍵(即在插入 SD 卡的卡槽附近的按鍵,如下圖所示的 Boot Button)。


按住 Boot 鍵後上電,上電後保持按住 15 秒後即可鬆開,這時候已經正在進行燒寫 eMMC 的步驟,期間板子上的四個 LED 燈會交替閃爍。大概等待 15 分鐘後(官網上說 40 — 50 分鐘,其實用不了那麼長時間),四個 LED 燈同時亮起,然後同時熄滅,就表示 BBB 電路板已經燒寫完畢並且關機了。
此時我們將卡槽中的 SD 卡彈出,重新上電,用 PuTTY 登錄板子上的 debian 用戶。
登錄成功後,PuTTY 上會顯示 BBB 運行的系統。比如筆者使用的系統鏡像是 Debian 8.7 2017-03-19 4GB SD LXQT ,那麼在 PuTTY 上就顯示了系統的製作日期 2017-03-19 之類的字樣。看到這種日期字樣,就意味着燒寫系統已經成功了。

發佈了60 篇原創文章 · 獲贊 259 · 訪問量 47萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章