Raspberry Pi 4にデータ保存用のSDカードを追加しました。
ゆくゆくはSambaでファイル共有できる場所として使えたらと考えています。
環境
OS情報
1 2 3 4 5 6 7 8 9 10 11 |
$ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 10 (buster)" NAME="Raspbian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" |
SDカードとカードリーダー
SDカードは、Samsungの16GB CLASS10のMicroSDカードを使いました。
カードリーダーはRaspberry Pi 4のセットに付属していたものです。USB2.0に対応しています。
SDカードの取り付け(USB)
まずはSDカードをRaspberry Piに取り付けます。
SDカードが認識されているかを確認します。
カードリーダーをUSBソケット挿入後にlsblkした結果です。
1 2 3 4 5 6 7 |
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 1 14.9G 0 disk └─sda1 8:1 1 14.9G 0 part mmcblk0 179:0 0 29.7G 0 disk ├─mmcblk0p1 179:1 0 256M 0 part /boot └─mmcblk0p2 179:2 0 29.5G 0 part / |
16GBのSDカードがsda1という名前で認識されていることが確認できたのでフォーマットをしていきます。
※このSDカードはWindows10でフォーマット済みですが、後々にトラブルの原因になると嫌なので念のためRaspberry Pi OSでフォーマットしておきます。
SDカードのフォーマット
続いてフォーマット作業をします。
パーティション削除
まずはSDカードに存在するパーティションを削除していきます。
使用したSDカードはパーティションはないはずですが念のため。
1 2 3 4 5 6 7 8 |
$ sudo fdisk /dev/sda1 Welcome to fdisk (util-linux 2.33.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): d ←dと入力しEnterキー |
No partition is defined yet!と表示されました。
これはSDカード上にパーティションが存在しないという意味です。
ということで、次に進みます。
パーティションが存在している場合の対応は今後追記していきます。
パーティション作成
続いて、パーティションを作成していきます。
パーティション作成は n を入力します。
1 |
Command (m for help): n |
データストレージとして使用するので p と入力します。
1 2 3 4 |
Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p |
パーティション番号を入力します。
意図がなければ何も入力せずEnterキーでデフォルトの1が選択されます。
1 |
Partition number (1-4, default 1): |
最初と最後のセクタを指定します。
SDカードの全領域を使用するので何も入力せずにEnterキーを押します。
1 2 |
First sector (2048-31283199, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-31283199, default 31283199): |
パーティションが作成されました。
1 |
Created a new partition 1 of type 'Linux' and of size 14.9 GiB. |
wと入力し、パーティションテーブルの変更を保存して終了します。
1 2 3 4 |
Command (m for help): w The partition table has been altered. Syncing disks. |
フォーマット
今回はFAT32というファイルシステムでフォーマットします。
1 2 |
$ sudo mkfs.vfat -F 32 /dev/sda1 mkfs.fat 4.1 (2017-01-24) |
FAT32でフォーマットされました。
1 2 3 4 5 6 7 8 9 10 11 12 |
$ sudo fdisk -l ~省略~ Disk /dev/sda: 14.9 GiB, 16021192704 bytes, 31291392 sectors Disk model: Storage Device Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x41402b79 Device Boot Start End Sectors Size Id Type /dev/sda1 8192 31291391 31283200 14.9G c W95 FAT32 (LBA) |
ディスクのマウント
SDカードにパーティションを作成して、フォーマットしたらすぐ使えるというわけではありません。
フォーマットしたSDカードをマウントする必要があります。
まずは、マウント先のディレクトリを作成します。
1 |
$ mkdir -p /home/pi/sd |
一時的に使用するのであればmountコマンドでマウントすればOKです。
1 |
$ sudo mount /dev/sda1 /home/pi/sd/ |
ただしこの方法はOSを再起動するとマウントが外れてしまい、再度マウントしないと使用できなくなります。
マウントし続けるためには/etc/fstabにマウント情報を書き込みます。
/etc/fstabにディスク情報(ここでは/dev/sda1)を書いてもいいのですが、何かの拍子にディスク情報が書き換わってしまった時にマウントに失敗したり、そもそも起動しなくなる可能性があるので、一意の値であるUUIDを書きます。
UUIDは次のように確認します。
1 2 3 4 |
$ blkid /dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="B05C-D0C4" TYPE="vfat" PARTUUID="0d0342f2-01" /dev/mmcblk0p2: LABEL="rootfs" UUID="075b0d0c-7b1e-4855-9547-125591698723" TYPE="ext4" PARTUUID="0d0342f2-02" /dev/sda1: UUID="35EE-1E54" TYPE="vfat" PARTUUID="41402b79-01" |
私の場合、/dev/sda1のUUIDは『35EE-1E54』であることが分かりました。
続いて、ユーザーの指定をするためにuidとgidを調べます。
1 2 |
$ id uid=1000(pi) gid=1000(pi)~省略~ |
piというユーザーのidが分かりました。
これらの情報をもとに、/etc/fstabに追記します。
1 2 3 |
$ sudo vi /etc/fstab UUID="35EE-1E54" /home/pi/sd vfat uid=1000,gid=1000 0 1 |
設定後に再起動をして、マウントされていること、書き込みができることを確認して完了です。
1 2 3 4 5 6 7 8 9 10 11 12 |
# マウント確認 $ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/root 29G 7.1G 21G 26% / devtmpfs 1.7G 0 1.7G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mmcblk0p1 253M 49M 204M 20% /boot /dev/sda1 15G 32K 15G 1% /home/pi/sd tmpfs 379M 4.0K 379M 1% /run/user/1000 |
1 2 |
# 書き込みテスト $ echo "hello" > /home/pi/sd/test |
これでSDカード追加完了です。
/etc/fstabの記述ミスでRaspberry Piが起動しなくなりました
解決済みですが、/etc/fstabの記述ミスでRaspberry Pi OSが正常に起動しない事象が発生しました。
コメント