Banana Pi – 從 SATA 硬碟上的 root 分割區來開機

感謝 隨風浮雲 所提供的資訊,參考了 Cortex-A/M: Banana Pi: Boot your rootfs from SATA,把 root 分割區搬移到 SATA 硬碟上。
底下文章的內容,主要參考上述的網站,但比較大的不同是,原文是用整顆的 SSD,我是用筆記型電腦汰換下來的 2.5″inch 120G 硬碟,也只用到其中的一個分割區。
1. 查看硬碟分割區狀況
$ sudo fdisk -l /dev/sda
[@more@]刪掉 3 / 4 / 5 分割區

建立一個主要分割區來放 root 分割區

分割完成的狀態
輸入 wq 儲存並離開

格式化 /dev/sda3 分割區為 ext4 格式
$ sudo mkfs.ext4 /dev/sda3

建立 /tmp/1 和 /tmp/target 用來掛載的目錄
$ sudo mkdir /tmp/1 /tmp/target
/dev/mmcblk0p2 分割區掛載到 /tmp/1
$ sudo mount /dev/mmcblk0p2 /tmp/1
/dev/sda3 分割區掛載到 /tmp/target
$ sudo mount /dev/sda3 /tmp/target
切換到 /tmp/1 目錄
$ cd /tmp/1
/dev/mmcblk0p2 複製到 /dev/sda3
$ sudo tar –backup -c * | sudo tar -C /tmp/target -xv

複製中……

經過漫長的時間,終於完成了!

修改 /dev/mmcblk0p1 的 uEnv.txt 設定檔,讓系統從 /dv/sda3 的分割區啟動
建立掛載 /dev/mmcblk0p1 分割區的目錄 /tmp/boot
$ sudo mkdir /tmp/boot
掛載 /dev/mmcblk0p1 分割區到  /tmp/boot 目錄
$ sudo mount /dev/mmcblk0p1 /tmp/boot
修改設定
$ sudo sed -i ‘s|root=/dev/mmcblk0p2|root=/dev/sda3|’ /tmp/boot/uEnv.txt

最後善後工作
切換回使用者家目錄
$ cd
取消掛載之前掛載的分割區 /tmp/1 /tmp/target /tmp/boot
$ sudo umount /tmp/1 /tmp/target /tmp/boot
刪除臨時掛載的目錄 /tmp/1 /tmp/target /tmp/boot
$ sudo rm -rf /tmp/1 /tmp/target /tmp/boot
重新開機讓設定生效
$ sync;sync;sync;reboot

從 SATA 硬碟上的 root 分割區來開機,速度會快嗎?照理來說,應該是會,但我的硬碟的舊的,所以感受不太出來,也許換成 SSD,就可以很有感了!