Raspberry pi 4 Model B に CentOS 7をインストールする

# Raspberry pi 4 Model B に CentOSをインストールする方法をまとめました。
![RaspPi4.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/4c5316ee-1b30-948e-53a3-b5a6f5b8202e.jpeg)


### 環境

Micro SDカード書き込み環境　：　MacBook Pro MacOS Mojave
Raspberry pi　：　pi 4 Model B 8GB RAM 4core
Micro SDカード　：　512 GB


### 流れ
1. MicroSDカードのフォーマット
2. OSイメージのダウンロード
3. CentOSの書き込み
4. Raspberry piでの起動
5. ディスクの割り当て
6. Wifiの設定



参考記事/サイト
https://7ka.org/raspberrypi-sd-init-mac/
https://www.centos.org/download/
https://www.raspberrypi.org/documentation/installation/installing-images/mac.md
https://www.clara.jp/media/?p=5792#1-BOSPCmicroSD
https://www.sgv417.jp/~makopi/blog/archives/2019
https://qiita.com/ftom/items/bdbb44383299029ea3b0

### 1. MicroSDカードのフォーマット

MicroSDカードをMacに差し込んで、コマンドラインでフォーマットしていきます。

1-1. はじめに diskutil list で接続しているディスクの一覧を表示し、MicroSDカードを見つけます。
私の環境では/dev/disk3がMicroSDカードです。

```
diskutil list

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         250.8 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +250.8 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            230.1 GB   disk1s1
   2:                APFS Volume Preboot                 64.9 MB    disk1s2
   3:                APFS Volume Recovery                522.7 MB   disk1s3
   4:                APFS Volume VM                      3.2 GB     disk1s4

/dev/disk2 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        +18.0 MB    disk2
   1:        Apple_partition_map                         32.3 KB    disk2s1
   2:                  Apple_HFS Flash Player            18.0 MB    disk2s2

/dev/disk3 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *512.1 GB   disk3
   1:               Windows_NTFS                         512.0 GB   disk3s1

```

1-2. 次に/dev/disk3をフォーマットします。

```
diskutil eraseDisk MS-DOS RPI disk3

Started erase on disk3
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk3s2 as MS-DOS (FAT) with name RPI
newfs_msdos: /dev/rdisk3s2: newfs_exfat should be used for SDXC media
512 bytes per physical sector
/dev/rdisk3s2: 999487104 sectors in 15616986 FAT32 clusters (32768 bytes/cluster)
bps=512 spc=64 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=411648 drv=0x80 bsec=999731200 bspf=122008 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk3
```

### 2. OSイメージのダウンロード

2-1. CentOSのイメージをダウンロードします。
https://www.centos.org/download/

こちらの記事では、下記のミラーサイトからOSイメージをダウンロードしました。
http://mirror.aktkn.sg/centos-altarch/7.8.2003/isos/armhfp/

この記事ではCentOS-Userland-7-armv7hl-RaspberryPI-Minimal-4-2003-sda.raw.xz をダウンロードしています。

*CentOS-Userland-7-armv7hl-RaspberryPI-GNOME-2003-sda.rawをダウンロードして書き込みしましたが、起動しませんでした。


2-2. ダウンロードが完了したら、ファイルをダブルクリックして解凍します。


### 3. CentOSの書き込み

解凍したファイル（CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-4-2003-sda.raw）をMicroSDカードに書き込みします。
3-1. はじめにunmountDiskをします。

```
diskutil unmountDisk /dev/disk3
```

3-2. 下記のコマンドを実行し、書き込みをします。

if=<ファイルのパスとファイル名>

```
sudo dd bs=1m if=CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-4-2003-sda.raw of=/dev/rdisk3; sync

Password:
2612+0 records in
2612+0 records out
2738880512 bytes transferred in 35.963779 secs (76156638 bytes/sec)
```

もしもResource busyと表示されましたら、下記を実行します。

```
sudo diskutil unmountDisk /dev/disk3
```

3-3. Eject

書き込みが無事できましたら下記のコマンドを実行します。

```
sudo diskutil eject /dev/rdisk3
```


### 4. Raspberry piでの起動

4-1. MicroSDカードをRaspberry piに挿して、電源をオンにします。

4-2. localhost login: と表示されますので、rootと入力し、パスワードはcentosと入力します。


### 5. ディスクの割り当て

5-1. この段階では、MicroSDカードの中身の空き容量が、使用できるように割り当てられていないため割り当てをします。
はじめに確認のため、dfコマンドを実行します。

以下のようにrootに1.7 GBしか割り当てられていません。
以下はこの作業をしないで、インストール作業をしたためrootが100%使用されてしまった状態・・・
```

```
df -hT

ファイルシス     タイプ      サイズ  使用   残り 使用% マウント位置
/dev/root      ext4       1.7G  1.7G     0  100% /
devtmpfs       devtmpfs   3.9G     0  3.9G    0% /dev
tmpfs          tmpfs      3.9G     0  3.9G    0% /dev/shm
tmpfs          tmpfs      3.9G   17M  3.9G    1% /run
tmpfs          tmpfs      3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/mmcblk0p1 vfat       286M   58M  229M   21% /boot
tmpfs          tmpfs      788M     0  788M    0% /run/user/0
```

5-2.rootの割り当てを拡張します。
```
rootfs-expand
```

5-3. 再度dfコマンドで確認します。

rootで使用できるサイズが拡張されています。

```
df -hT

ファイルシス     タイプ      サイズ  使用   残り 使用% マウント位置
/dev/root      ext4       469G  1.2G  468G    1% /
devtmpfs       devtmpfs   3.9G     0  3.9G    0% /dev
tmpfs          tmpfs      3.9G     0  3.9G    0% /dev/shm
tmpfs          tmpfs      3.9G   17M  3.9G    1% /run
tmpfs          tmpfs      3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/mmcblk0p1 vfat       286M   54M  233M   19% /boot
tmpfs          tmpfs      788M     0  788M    0% /run/user/0
[root@localhost ~]# 

```

### 6. Wifiの設定

wifiに接続します。

6-1. networkを起動します。

```
service network start
```

6-2.ネットワークデバイスの状態を確認します。

```
nmcli d
```

wifi は disconnectedと表示されています。

6-3. wifiのデバイスは動いているので、利用できるアクセスポイントを表示します。

```
nmcli dev wifi list
```

6-4. SSIDに接続します。

```
nmcli --ask dev wifi connect <SSID名>
```
パスワードが聞かれるので入力します。

6-5. 接続できたら、sshで他の端末から入れるか確認してみてください。



以上でとりあえずのCentOS 7 のインストールの最初のステップは終了です。
パスワードの変更や、目的に応じたパッケージのインストールを進めてみてください:cat: :cat: