Kinaconの技術ブログ

Ubuntuはじめました。

PINE64AをSSDで起動させる。

f:id:m-oota-711:20180826172112p:plain

前回、PINE64AでUbuntuMateをインストールしました。
今回はSSDで起動できるようにしたいと思います。



kinacon.hatenablog.com




実行環境

シングルボードコンピュータ PineA64
OS Ubuntu 16.04.5 LTS
デスクトップ MATE
メモリ 1GB


※PINE64AにSSHで接続して作業。

PC Panasonic Let's note CF-SX2
OS Ubuntu 18.04.1 LTS




準備品

SSD Amazon:2499円 60GB 3年保証あり
SSDケース Amazon:753円 コネクタの方が安いAmazon:367円







作業内容

MicroSDSSDのデバイスIDを調べる

PINE64AにSSDを接続する。

コマンドでデバイスIDを確認する。

sudo fdisk -l



MicroSDは /dev/mmcblk0p1はboot 、/dev/mmcblk0p2はファイルシステム
SSDは/dev/sda1,2の2つのパーティションがあるようだ。

/dev/mmcblk0p1       40960   143359   102400   50M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      143360 62333951 62190592 29.7G 83 Linux
/dev/sda1  *      2048    206847    204800  100M  7 HPFS/NTFS/exFAT
/dev/sda2       206848 123729919 123523072 58.9G  7 HPFS/NTFS/exFAT

SSDをフォーマット(ext4 形式)

パーティションの作成

今回はすべての領域を1つのパーティションにする。
fdiskを使用してパーティションの作成を行う。

sudo fdisk /dev/sda


以下の順に作業を行う。

キー入力 作業内容
d パーティションを削除:今回パーティションが2つなのでdは2回行う
新しいパーティションを作成
Enter プライマリーパーティションを作成
Enter 1番目のパーティションを選択
Enter セクターの始まりを設定
Enter セクターの終わりを設定
w SSD へ書き込み


書き込み完了後。SSDをアンマウント。

sudo umount /dev/sda1

SSDをext4でフォーマット

sudo mkfs.ext4 /dev/sda1

ファイルシステムmicroSDカードからSSDへコピー

microSDカードと SSDのマウントするディレクトリを作成

mkdir /tmp/usd /tmp/ssd

作成したディレクトリにmicroSDカードと SSDをマウント

sudo mount /dev/mmcblk0p2 /tmp/usd
sudo mount /dev/sda1 /tmp/ssd

microSD カードの中身を SSD へコピー

(cd /tmp/usd; sudo tar --backup -c *)|sudo tar -C /tmp/ssd -xv

起動時に読み込むファイルシステムパーティションを変更

uENV.txt を編集して、
起動時に読み込むファイルシステムmicroSDカードからSSDへ切り替える。

sudo cp /boot/uENV.txt /boot/uENV_org.txt #バックアップを作成
mkdir /tmp/boot
sudo mount /dev/mmcblk0p1 /tmp/boot
sudo pluma /tmp/boot/uENV.txt

uENV.txtに以下を追記

root=/dev/sda1
bootdelay=20

SSH接続の場合、plumaが使用できないためコマンドラインエディタ「nano」を使用した。

sudo apt install nano
sudo nano /tmp/boot/uENV.txt

microSDのデータをSSDにフラッシュ

sync
sudo reboot

ファイルシステムSSDか確認

df -h


/(ルート)の容量で確認できる

/dev/sda1        58G  4.7G   51G   9% /

元に戻す場合

別PCにmicroSDカードを挿してバックアップしたファイル(uENV_org.txt)に戻す。

uENV.txtのrootをmicroSDに変更するもしくは消す。




以上。


PINE A64 2 GB single-board computer

PINE A64 2 GB single-board computer