RaspberryPi3でCentOS7を使う。

  • LINEで送る

こんばんにちは

ラズパイことRaspberry Piという有名なワンボードコンピュータがあります。

私は基本的にサーバー的用途としてしか使わないのですが、通常はOSとしてRaspbianというものをインストールします。

しかし、実はRaspbian以外にもCentOSやFreeBSDなんかもインストールして使えてしまいます。

ハードウェアピン等の制限があるようですが、サーバー用途に限って言えば電源が入ってLANとかが使えば問題ないので無視します。

そこで、今回はCentOS7をインストールしてみます。

 

続きをどうぞ。

 

前提

  • インストール等はMacで行います。
  • 使用するラズパイは[こちらの記事]で開封したものです。
  • 自宅のネットワークにはLANケーブルで有線接続します。

 

OSイメージダウンロード

CentOSの公式ページにあります。

そこの、Get CentOS Nowに進みます。

そこの、alternative downloadsに進みます。

そこの、「AltArch Releases」の項目に「Minimal image for RaspberryPi 2/3」というのがあるので、これをダウンロードします。

wgetします。

~ % wget http://mirror.centos.org/altarch/7/isos/armhfp/CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-1804-sda.raw.xz

 

OSイメージの展開

xzファイルを展開します。

High Sierraではデフォルトだとxzコマンドが入っていなかったので入れます。

~ % brew install xz

 

展開します。

~ % xz -d CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-1804-sda.raw.xz

 

インストール

インストールといってもddコマンドでSDカードにイメージを焼きます。

まず、SDカードをカードリーダ等でMacに接続します。

diskutilで確認します。

~ % diskutil list
/dev/disk0 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         251.0 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         250.0 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +250.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            161.6 GB   disk1s1
   2:                APFS Volume Preboot                 21.5 MB    disk1s2
   3:                APFS Volume Recovery                518.1 MB   disk1s3
   4:                APFS Volume VM                      4.3 GB     disk1s4

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.9 GB    disk2
   1:             Windows_FAT_32 NO NAME                 15.9 GB    disk2s1

この場合はSDカードは/dev/disk2ですね。FAT32でフォーマットされている事を確認します。

書き込むために、アンマウントします。

~ % diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful

それでは書き込んでいきます。disk番号を間違えるととんでもないことになりかねないので気をつけましょう。

~ % sudo dd bs=1m if=./CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-1804-sda.raw of=/dev/disk2

途中は何も表示されませんが、Control+Tで経過が表示されるようです。

load: 2.41  cmd: dd 78141 uninterruptible 0.00u 2.15s
150+0 records in
149+0 records out
156237824 bytes transferred in 66.170211 secs (2361150 bytes/sec)

終わったらシェルに戻ってくるので、SDカードを取り出します。

~ % diskutil eject /dev/disk2
Disk /dev/disk2 ejected

 

起動

  1. SDカードを挿す。
  2. HDMIでディスプレイを接続する。
  3. キーボードを接続する。
  4. LANケーブルを接続する。
  5. 電源のUSBを接続する。

すると以下のような表示が出ます(システムメッセージで見えづらいかも)。

CentOS Linux 7 (Core)
Kernel 4.14.27-v7.1.el7 on an armv71

localhost login:

初期状態では、

  • UserName:root
  • Password:centos

となっていますので、ログインします。

bashが走ります。

[root@MacBook-Pro ~]#

なぜかホスト名がSDカードを焼いたMacと同じになっている…

IPを固定する

とりあえずsshで接続して作業をしたいので、そのための設定だけしてしまいます。

といっても既にsshdは動いているようなので、IPv4アドレスだけ固定します。

nmcliでもいいのですが面倒なのでnmtui使って適当に変更します。

環境に合わせて変更しますが、最低限以下の項目は変更が必要でしょう。

  • Profile name eth0 //なぜか”Wired connection 1″となっていてわかりづらかった
  • IPv4 CONFIGURATION //固定にするならManual
  • ADDRESSES 192.168.100.180/24
  • Gateway 192.168.100.1
  • DNS servers 192.168.100.1

ついでにhostnameも変更しておくと良いかもしれません。
これで、

# nmcli con down eth0
#nmcli con up eth0

とすれば設定が反映されます。

LAN内の他の端末からssh接続してみます。

~ % ssh root@192.168.100.180
root@192.168.100.180's password:
[root@raspi2 ~]#

 

接続が成功すればあとはsshで作業するのでHDMIとかキーボードは不要です。

最初にやること

ファイルシステムの拡張

インストール直後の状態は以下のようになっています。

[root@raspi2 ~]# df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/root        1.4G  989M  357M   74% /
devtmpfs         460M     0  460M    0% /dev
tmpfs            464M     0  464M    0% /dev/shm
tmpfs            464M   12M  452M    3% /run
tmpfs            464M     0  464M    0% /sys/fs/cgroup
/dev/mmcblk0p1   667M   44M  624M    7% /boot
tmpfs             93M     0   93M    0% /run/user/0

ファイルシステムを拡張してやる必要があります。

が、空き領域を全て使用していいならwikiに書いてある通りにすれば終わります。

[root@raspi2 ~]# /usr/bin/rootfs-expand

/dev/mmcblk0p3 /dev/mmcblk0 3
Extending partition 3 to max size ....
CHANGED: partition=3 start=2369536 old: size=2928640 end=5298176 new: size=28746719,end=31116255
Resizing ext4 filesystem ...
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mmcblk0p3 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/mmcblk0p3 is now 3593339 blocks long.

Done.

 

結果

[root@raspi2 ~]# df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/root         14G  992M   13G    8% /
devtmpfs         460M     0  460M    0% /dev
tmpfs            464M     0  464M    0% /dev/shm
tmpfs            464M   12M  452M    3% /run
tmpfs            464M     0  464M    0% /sys/fs/cgroup
/dev/mmcblk0p1   667M   44M  624M    7% /boot
tmpfs             93M     0   93M    0% /run/user/0

 

完璧です。

yum update

[root@raspi2 ~]# yum update

ラズパイである事を忘れてしまいそうです。

rootのパスワード変更

[root@raspi2 ~]# passwd
ユーザー root のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。

 

通常ユーザー作成

[root@raspi2 ~]# useradd k-san
[root@raspi2 ~]# passwd k-san
ユーザー k-san のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。

 

作成したユーザーをwheelに所属させます。

[root@raspi2 ~]# usermod -aG wheel k-san

 

wheelに所属しているユーザーがsudoできるようにします。

[root@raspi2 ~]# visudo
# 以下をコメント解除(最初からされてる?)
%wheel  ALL=(ALL)       ALL

 

ここからは今作成したユーザーでssh接続し直して作業をします。

[root@raspi2 ~]# exit
ログアウト
Connection to 192.168.100.180 closed.
~ % ssh k-san@192.168.100.180
k-san@192.168.100.180's password:
Last login: Mon Jul  9 09:25:51 2018
[k-san@raspi2 ~]$

 

タイムゾーンと時刻同期

こちらの記事をご覧ください。

 

まとめ

これで必要最低限の設定はできたかと思います。外部公開目的ならもっとちゃんとする必要がありますが、信用できる自宅LAN内での利用や実験目的ならこんなもんでしょう。

カーネルのアップデートもyumで特別なこともせずやってくれるようですね。

インストールしてしまえばラズパイで動いている事を意識せずに使えるので自宅に常時稼働CentOS機が増えて便利です。

 

ではでは

 

参考

https://qiita.com/NAZA/items/38303564dde29977d79e
https://qiita.com/revsystem/items/9989a18116e554c133b6
https://mseeeen.msen.jp/centos-7-on-raspberry-pi-3/
https://blog.smallserver.jp/raspberry-pi-3-%E3%81%A7-centos-7-%E3%82%92%E5%8B%95%E4%BD%9C%E3%81%95%E3%81%9B%E3%82%8B/

  • LINEで送る

SNSでもご購読できます。

けーさん

コメントを残す

*