reComputer Jetson 系列-擴充儲存空間

一、擴充裝置的選擇

由於 reComputer 內建的 16 GB eMMC 在安裝 ubuntu 18.04 LTS 和 NVIDIA JetPack 4.6 後,剩餘的可用空間大約是 2.5GB 左右,因此在學習或開發上勢必要使用額外的裝置擴增使用空間,本篇文章將使用 USB 隨身碟進行可用空間的擴充,選用的 USB 隨身碟為 SanDisk 64 GB 的隨身碟:

reComputer Jetson 系列-擴充儲存空間
SanDisk 64 GB 的隨身碟

二、前置作業

請先依照 reComputer Jetson 系列-入門與系統操作教學 的步驟,將 reComputer 上電並設定好主系統後,連接鍵盤、滑鼠與螢幕準備後續的操作。

三、硬體裝置需求

新的 USB 隨身碟在未做任何設定前,僅能作為一般儲存裝置使用,因此需要先將 USB 隨身碟格式化成 GPT(GUID Partition Table) 格式,請依照下列步驟進行 USB 隨身碟的 GPT 格式化:

1. 將 USB 隨身碟放入 reComputer 的 USB 3.0 連接埠

2. 點擊 reComputer 桌面左方的資料夾圖示,開啟資料夾視窗並確認 USB 隨身碟被正確掛載

reComputer Jetson 系列-擴充儲存空間

3. 使用滑鼠點擊 reComputer 桌面左上角的 Ubuntu icon 圖示後,在搜尋欄輸入「disk」並選擇工具「Disks」。

reComputer Jetson 系列-擴充儲存空間

4. 在左側的設備選項中選擇 USB 隨身碟,並展開右上方的功能選項後,選擇【Format Disk】

5. 在 【Partitioning】選項中選擇選項 【Compatible with modern systems and hard disks > 2TB(GPT)】,操作步驟畫面如下。

6. 點選磁碟標籤下方的圖示【+】進行磁碟分割 ,操作步驟畫面如下。

reComputer Jetson 系列-擴充儲存空間

7. 確認磁碟分割區的空間大小,並點擊右上方的按鍵【Next】

reComputer Jetson 系列-擴充儲存空間

8. 請自由設定磁碟分割區的名稱與指定磁碟分割區的格式為【Internal disk for use with Linux systems only(Ext4)】後,點擊右上方的按鍵【Create】

reComputer Jetson 系列-擴充儲存空間

四、軟體需求

在 github 上有著開源專案「bootFromUSB」,可以使用版本控制器 git 將開源專案下載至 reComputer 的主系統中,利用快捷鍵 【ctrl】+【alt】+【T】開啟終端機視窗後,輸入指令:

$ git clone https://github.com/jetsonhacks/bootFromUSB.git  

下載開源專案

五、擴充儲存空間方法

開源專案「bootFromUS」中提及了使用 JetPack 4.5 以上的 Jetson Family 家族擁有指定開機裝置的特色,根據官網介紹, reConputer 預先裝載至 eMMC 的系統為 ubuntu 18.04 與 NVIDIA Jetpack 4.6,因此可以經過設定後,讓 reComputer 使用 USB 隨身碟開機,達成擴充儲存空間的功能。使用 USB 裝置開機的流程如下圖所示。

reComputer Jetson 系列-擴充儲存空間

六、將 eMMC 磁碟內容備份至 USB 隨身碟

1. 確認 USB 隨身碟的硬體裝置代號

在終端機中輸入下列指令,

確認 USB 隨身碟的硬體裝置代號:

$ ls /dev/sd*

reComputer Jetson 系列-擴充儲存空間

若 reComputer 僅放入一個 USB 隨身碟,使用指令將可以查詢到隨身碟代號, 代號「/dev/sda1」是指 USB 隨身碟的第一個磁碟分割區,若無法搜尋到請重新執行上方的步驟【硬體裝置需求】。

2. 執行腳本 copyRootToUSB.sh

請在終端機中輸入下列指令:
$ ./bootFromUSB/copyRootToUSB.sh -p /dev/sda1

開始將 eMMC 磁碟內容備份至 USB 隨身碟。

reComputer Jetson 系列-擴充儲存空間

請記得輸入自己在進行 reComputer 系統設定時設定的密碼。

備份時間大約是 15分鐘左右,期間可以喝杯咖啡休息一下,舒緩一下過於僵硬的身體:)。

完成備份後的 USB 隨身碟在後續內容會以「備份隨身碟」稱呼。

七、指定開機裝置

1. 新增磁碟辨別檔案 This_is_eMMC.txt

為了確認 reComputer 是使用那一個裝置進行開機,可以在 eMMC 磁碟中、當前使用的帳號家目錄裡新增一個無任何內容的純文字檔案:

$ touch ~/This_is_emmC.txt

reComputer Jetson 系列-擴充儲存空間
新增磁碟辨別檔案

此後若是使用 eMMC 磁碟開機時,便可以在相對應的位置看到此文件檔案。

2. 編輯檔案 /boot/extlinux/extlinux.conf 以修改開機順序

為了避免發生編輯上的意外,請先使用下列指令,將原始檔案「extlinux_conf」備份:

$ sudo cp /boot/extlinux/extlinux.conf /boot/extlinux/extlinux_backup.conf

reComputer Jetson 系列-擴充儲存空間

下一步請輸入指令開始編輯檔案 /boot/extlinux/extlinux.conf:

$ sudo gedit /boot/extlinux/extlinux.conf

reComputer Jetson 系列-擴充儲存空間

在標籤 LABEL 的內容中,可以找到屬性 APPEND,其中的參數 root 便是需要修改的地方,根據下列情況可以將參數 root 內容設為裝置代號或是備份隨身碟的 PARTUUID 

2.1 讓 reComputer 開機時能載入備份隨身碟

若是 reComputer 開機時僅會放入先前備份的 USB 隨身碟,可以直接將參數 root 的內容修改為「root=/dev/sda1」

reComputer Jetson 系列-擴充儲存空間

2.2 reComputer 開機時僅會載入多個隨身碟

若是 reComputer 在開機時需要載入多個隨身碟,系統將會隨意指派這些 USB 隨身碟的代號,因此需要使用備份隨身碟獨特的 PARTUUID 當作開機裝置的參數,請輸入下列指令以使用腳本檔案 /bootFromUSB/partUUID.sh 查詢備份隨身碟的 PARTUUID:

$ ./bootFromUSB/partUUID.sh

根據查詢的備份隨身碟 【PARTUUID】,將檔案 /boot/extlinux/extlinux.conf 中的標籤 LABEL 的屬性 APPEND 的參數 root 設為 「root=PARTUUID=【PARTUUID】」,以本篇查詢到的【PARTUUID】為範例,檔案 /boot/extlinux/extlinux.conf 內容將變為如下圖所示:

修改參數 root 內容_PARTUUID

根據需求修改完檔案 /boot/extlinux/extlinux.conf 內容後,便可以重新啟動 reComputer ,確認是否以備份隨身碟開機成功。

八、確認 reComputer 的開機方式 

因為先前已經在 eMMC 的 Home 目錄中新增了檔案 This_is_eMMC.txt,重新開機後若是正常的使用備份隨身碟開機,將不會在 Home 目錄中看到檔案 This_is_eMMC.txt,並且在查看磁碟空間時能夠發現可用空間變多了。

圖18. 查看備份隨身碟狀態

注意事項

由於 reComputer 在開機時第一時間仍舊是讀取 eMMC 的開機資訊,並根據 eMMC 提供的內容將開機裝置導引至備份隨身碟,因此後續在 reComputer 上的操作皆是針對備份隨身碟進行操作,可以先將此備份隨身碟使用備份軟體備份成 ISO 檔案,以利後續針對備份隨身碟的還原操作。
另外,若是備份隨身碟在開機前並無放入 reComputer 的 USB 連接埠,將會導致 reComputer 開機失敗喔!

九、小結

以上就是本次關於如何擴充 reComputer Jetson 系列儲存空間的分享內容,剛入手的夥伴們可以依照上述的步驟進行操作。

喜歡我們文章的話,別忘了幫我們多多分享並持續關注我們唷!下次見~