ラズベリーパイ3(Raspberry Pi 3)にCentOSをインストールする

用意するもの

  1. ラズベリーパイ3
  2. microSD(64GBあると色々できる)
  3. SDカードリーダー
  4. SDカードにイメージファイルを書き込むソフト
  5. HDMIケーブル
  6. HDMI接続できるディスプレイ
  7. USB接続のキーボード
ラズベリーパイ3で動くCentOS7のimg入手先

ディスクパーティションを戻す(必要な場合のみ)

使用済みのSDカードでパーティションを切っている場合は元に戻す必要があります。パーティションが切られていない場合、この手順は不要です。

SDカードのパーティションを戻す手順

1. 管理者権限でコマンドプロンプトを起動する

2.diskpartからlist volumeを実行してみて、現在のボリューム構成を確認する

C:\WINDOWS\system32>diskpart
Microsoft DiskPart バージョン 10.0.15063.0
Copyright (C) Microsoft Corporation.
コンピューター: ASTARTE
DISKPART> list disk ディスク 状態 サイズ 空き ダイナ GPT ### ミック ------------ ------------- ------- ------- --- --- ディスク 0 オンライン 476 GB 0 B * ディスク 1 オンライン 2794 GB 0 B * ディスク 2 オンライン 14 GB 3072 KB
DISKPART> list volume Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ---- ---------- ------- --------- -------- Volume 0 F DVD-ROM 0 B メディアなし Volume 1 C Windows NTFS Partition 476 GB 正常 ブート Volume 2 SYSTEM FAT32 Partition 100 MB 正常 システム Volume 3 NTFS Partition 450 MB 正常 非表示 Volume 4 D NTFS Partition 2794 GB 正常 Volume 5 E boot FAT リムーバブル 60 MB 正常
DISKPART>

このディスク 2がSDカード。Volume 5が以前使っていたラズベリーパイの残骸です。

3.ディスクをクリーンする。select disk 2でディスクを選択してcleanを実行する

DISKPART> select disk 2
ディスク 2 が選択されました。
DISKPART> clean
DiskPart はディスクを正常にクリーンな状態にしました。
DISKPART> list disk ディスク 状態 サイズ 空き ダイナ GPT ### ミック ------------ ------------- ------- ------- --- --- ディスク 0 オンライン 476 GB 0 B * ディスク 1 オンライン 2794 GB 0 B *
* ディスク 2 オンライン 14 GB 14 GB
DISKPART> list volume Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ---- ---------- ------- --------- -------- Volume 0 F DVD-ROM 0 B メディアなし Volume 1 C Windows NTFS Partition 476 GB 正常 ブート Volume 2 SYSTEM FAT32 Partition 100 MB 正常 システム Volume 3 NTFS Partition 450 MB 正常 非表示 Volume 4 D NTFS Partition 2794 GB 正常 Volume 5 E リムーバブル 0 B 使用不可
DISKPART>

4.パーティションを再作成してフォーマットする

DISKPART> create partition primary
DiskPart は指定したパーティションの作成に成功しました。
DISKPART> list volume Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ---- ---------- ------- --------- -------- Volume 0 F DVD-ROM 0 B メディアなし Volume 1 C Windows NTFS Partition 476 GB 正常 ブート Volume 2 SYSTEM FAT32 Partition 100 MB 正常 システム Volume 3 NTFS Partition 450 MB 正常 非表示 Volume 4 D NTFS Partition 2794 GB 正常
* Volume 5 E RAW リムーバブル 14 GB 正常
DISKPART> format quick 100% 完了しました
DiskPart は、ボリュームのフォーマットを完了しました。
DISKPART> list volume Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ---- ---------- ------- --------- -------- Volume 0 F DVD-ROM 0 B メディアなし Volume 1 C Windows NTFS Partition 476 GB 正常 ブート Volume 2 SYSTEM FAT32 Partition 100 MB 正常 システム Volume 3 NTFS Partition 450 MB 正常 非表示 Volume 4 D NTFS Partition 2794 GB 正常
* Volume 5 E FAT32 リムーバブル 14 GB 正常
DISKPART>

これで完了です。

SDカードにimgを書き込む

書き込みソフトには「Win32 Disk Imager」を使用します。

Image FileはCentOS7のイメージファイル、DeviceはSDカードが挿入されているデバイスを指定して、Writeをクリックします。

正常に書き込みが完了するとダイアログボックスが表示されます。

 起動してみる

SDカードへの書き込みが完了したらディスプレイをHDMIケーブルで接続してキーボードをUSBで接続します。接続したら電源ケーブルを挿して起動する。

起動後したらrootでログインします。パスワードは「centos」。

ネットワーク設定

まずは有線LANの接続をしてみます。インタフェース名は従来のeth0なのでわかりやすい。ifconfigもはじめから使えます。

設定方法は次の記事を参考にしてください。

パーティションを拡張する

起動直後は「/」の容量が2Gしかないので、これを直します。

[root@centos-rpi3 ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/root 2.0G 762M 1.1G 42% /
devtmpfs 459M 0 459M 0% /dev
tmpfs 463M 0 463M 0% /dev/shm
tmpfs 463M 6.2M 457M 2% /run
tmpfs 463M 0 463M 0% /sys/fs/cgroup
/dev/mmcblk0p1 500M 43M 457M 9% /boot
tmpfs 93M 0 93M 0% /run/user/0
[root@centos-rpi3 ~]#

rootfs-expand を実行して拡張しましょう。実行後、以下のように「/」のサイズが増えていることが確認できるはずです。

[root@centos-rpi3 ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/root 14G 766M 13G 6% /
devtmpfs 459M 0 459M 0% /dev
tmpfs 463M 0 463M 0% /dev/shm
tmpfs 463M 6.2M 457M 2% /run
tmpfs 463M 0 463M 0% /sys/fs/cgroup
/dev/mmcblk0p1 500M 43M 457M 9% /boot
tmpfs 93M 0 93M 0% /run/user/0
[root@centos-rpi3 ~]#

yumを使えるようにする

yum updateしようとすると失敗します。

[root@centos-rpi3 ~]# yum -y update
Loaded plugins: fastestmirror
base | 3.6 kB 00:00
http://mirror.centos.org/altarch/7/kernel/armhfp/kernel-%24kvariant/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.

修正するファイルのバックアップをとってから「CentOS-armhfp-kernel.repo」を編集します。

[root@centos-rpi3 ~]# cp /etc/yum.repos.d/CentOS-armhfp-kernel.repo{,.bak}
[root@centos-rpi3 ~]# vi /etc/yum.repos.d/CentOS-armhfp-kernel.repo

3行目のbaseurlを書き換えます。

[centos-kernel]
name=CentOS Kernels for armhfp
baseurl=http://mirror.centos.org/altarch/7/kernel/armhfp/kernel-rpi2/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32

diffの結果は以下のとおりです。

[root@centos-rpi3 ~]# diff /etc/yum.repos.d/CentOS-armhfp-kernel.repo{,.bak}
3c3
< baseurl=http://mirror.centos.org/altarch/7/kernel/armhfp/kernel-rpi2/repodata/
---
> baseurl=http://mirror.centos.org/altarch/7/kernel/$basearch/kernel-$kvariant
[root@centos-rpi3 ~]#

これでyum updateが実行できるようになります。

[root@centos-rpi3 ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base centos-kernel extras kernel updates
Cleaning up everything
[root@centos-rpi3 ~]# yum -y update

無線LANを使いたい

ラズベリーパイ3で無線LANモジュールを認識させる方法

インストール後はWifiモジュールを認識していません。

[root@centos-rpi3 ~]# nmcli d
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
lo loopback unmanaged --
[root@centos-rpi3 ~]#

既存のファームウエアをバックアップします。

[root@centos-rpi3 ~]# cp /usr/lib/firmware/brcm/brcmfmac43430-sdio.bin{,.bak}

次に新しいファームウェアを手に入れます。

[root@centos-rpi3 ~]# curl --location https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.bin > /usr/lib/firmware/brcm/brcmfmac43430-sdio.bin
[root@centos-rpi3 ~]# curl --location https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.txt > /usr/lib/firmware/brcm/brcmfmac43430-sdio.txt

再起動しましょう。

[root@centos-rpi3 ~]# systemctl reboot

再びログインするとwlan0を認識しているはずです。

[root@centos-rpi3 ~]# nmcli d
DEVICE  TYPE      STATE         CONNECTION
eth0    ethernet  connected     eth0
wlan0   wifi      disconnected  --
lo      loopback  unmanaged     --
[root@centos-rpi3 ~]#

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)