Raspberry Pi 3 に CentOS を入れて環境構築。ハマった点など

ファン付きケースに自作フィルタを取り付けたラズパイ

今さらラズパイ買いました。

仕事でCentOSを使う機会が出てきたので、学習も兼ねて気軽にいじれる環境が欲しかったのです。

ラズパイには印象深い出来事がありまして、友人がディスプレイに繋いで使用していた光景を見て気が付いたことがあったんですね。化石メインPC(Celeron M 430)よりサクサク動いていることに。よもやシングルボードコンピュータがそれほどの性能を持つとは想像だにしていませんでした。そしてメインPCのスペックの低さにも嘆いた苦い思い出です。

Raspberry Pi 3 Model B に必要なもの

用途によってはLANケーブル、ディスプレイとHDMIケーブル、マウスやキーボードも必要でしょう。

[Amazon.co.jp] BUFFALO USB充電器 2.4A急速 USB×1 オートパワーセレクト搭載 ブラック BSMPA2402P1BK

ちなみに私はスマホ向け急速充電用のACアダプタを購入して使っています。

2ポート以上あるACアダプタを使用してポート分つなぐと出力電圧が激減することがあるので、今回はあえて1ポートだけあるACアダプタを選びました。急速充電用のACアダプタは2.4Aなので0.1A足りませんが、この程度の誤差なら許容されるものですから問題なく動きます。もっと言えば本当に2.5Aが求められる場面は端子をフルに使用した場合でしょうから、よほどヘビーな使い方をしない限りは心配ないと思います。

上記の商品は同じく急速充電用のUSBケーブルが必要ですが、他の機器にも転用しやすいですし、ラズパイ専用のACアダプタを買うのが憚られるならよいのではないでしょうか。

[Amazon.co.jp] Raspberry Pi 3 2 専用アクリル・ケース カバー アップグレードRaspberry Pi Model B+ B(9 layers)(Black/黒)

また必須ではありませんが、ケースとファンもあるとよいでしょう。

ラズパイ本体は5000円前後と買い求めやすいのですが、周辺機器を用意すると結構お金がかかっちゃうんですよね。

CentOS インストール

Download - CentOS Wiki

本題です。まずは上記リンクから CentOS のイメージファイルを取得します。

リンク先の「AltArch Releases」から「RaspberryPi3 (img)」を選びましょう。

イメージファイル書き込み

ダウンロードしたファイルは圧縮されているので、展開してからmicroSDに書き込む必要があります。

今回は「DD for Windows」を使用して書き込み

書き込み終わったらラズパイに電源とLANケーブルをつなぎましょう。HDMIをつないで操作するなりSSHでログインするなりすればもうCentOSが使えます。

ログインユーザ:パスワードは例のごとくroot:centosです。

ディスプレイを使わずにSSHだけで初期設定?

補足ですが、SSHは設定せずとも使用できました。OSを初めて起動した時点で接続できるようになっています。

つまり、ディスプレイを使わずとも初期設定が可能で、完全にSSHオンリーで運用できるということです。

もちろんSSHで接続するためには割り当てられたIPアドレスを知らなければいけませんから、使用しているルータのリーステーブルを見るなどして接続しましょう。

SSHの設定はハマりポイントが多くて面倒なので嬉しいですね。

環境構築

日本語設定をしたり、無線LANを設定したり、rootパーティションのサイズを拡張したり、RAMディスクを作ったり、ファームウェアをアップデートしたり、様々な設定を行う必要があるでしょう。

それらの情報は調べればすぐに出てくるので、環境構築していて個人的に困ったことを下記に2つ述べます。参考になれば幸いです。

準備

本項で使用するコマンドをここで全部インストールしておきましょう。インストールしないと各項目のコマンド実行時にエラーが出ます。

yum -y install git make cmake gcc gcc-c++

/opt/vc/bin/にあるコマンドを使用できるようにする

「tvservice」「vcgencmd」「raspistill」「raspivid」「raspividyuv」「raspiyuv」などのコマンドを使用できるようになります。

Raspbianではデフォルトで使用できるコマンド群なのでしょうが、今回インストールしたCentOSでは使用するための設定が必要でした。

まずは/opt/vc/libをライブラリパスへ通す必要があります。

# echo /opt/vc/lib > /etc/ld.so.conf.d/custom.conf
# ldconfig

userlandリポジトリをGitからcloneしてビルドします。

ビルドには結構な時間がかかるので、実行中は何か別なことでもして待ちましょう。

# cd /tmp
# git clone https://github.com/raspberrypi/userland
# cd userland
# ./buildme

ビルドが終わったら念のため使用できるかどうかの確認をしましょう。

# /opt/vc/bin/vcgencmd version
Nov  3 2017 17:00:25
Copyright (c) 2012 Broadcom
version 1bcf9152e3b2ab5c67dcb9c7c1f6d9256d9a6f38 (clean) (release)

いちいちフルパス指定するのも面倒なので、パスを通します。

# export PATH="$PATH:/opt/vc/bin"

これで「/opt/vc/bin/XXXX」という指定をせずとも「XXXX」だけで実行できます。

試しに私は使用しないHDMIを無効にしてみました。これには一連の手順を踏まないと使用できないコマンドを使わなければいけません。実行するとHDMIが無効になる代わりに、消費電力がちょっとだけ下がるそうです。

# tvservice --off
Powering off HDMI

Wiring Pi のインストール

GPIOをコマンド1つで簡単に制御できるようになります。このライブラリのインストール方法を調べたところ、公式サイトのGitサーバから落としてビルドすれば使えるようになるらしいのですが、私の環境では上手くいきませんでした。

Wiring Pi の公式ページのインストール方法を参照すると、手順が2通り書いてあります。一般的に使用されるのは1つ目の手順のようです。

その下に Plan B なる2つ目の手順が存在するので、それを実行していきましょう。あらかじめ Drogon Projects の「snapshot」からダウンロードした「wiringPi-XXXXXXX.tar.gz」が/tmpディレクトリに格納されているという前提で話を進めます。

「snapshot」のダウンロードリンクはURLを生成するタイプなので、普通にWebブラウザを使って落とした方が無難です。

# cd /tmp
# tar xfz wiringPi-XXXXXXX.tar.gz
# cd wiringPi-XXXXXXX
# ./build

ビルドが終わるとgpioコマンドを実行できます。

# gpio -v
Copyright (c) 2012-2017 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

Raspberry Pi Details:
  Type: Pi 3, Revision: 02, Memory: 1024MB, Maker: Sony
  * Device tree is enabled.
  *--> Raspberry Pi 3 Model B Rev 1.2
  * This Raspberry Pi supports user-level GPIO access.

piユーザについて

Raspbianにはデフォルトで存在するpiユーザが存在しませんでした。

私は学習目的とはいえ環境構築なので、記事に書かなかった作業も含めて全てrootで実行しましたが、それ以外ならばrootでの作業を極力避けるべきです。

せっかくなのでpiユーザを作っておきましょう。

# useradd pi
# passwd pi

Linuxの権限周りはかなりハマりやすいポイントなんですよね。ついrootで作業しちゃいます……。

0 件のコメント :

コメントを投稿