raspberry piにlinuxをインストールする
きっかけ:
VM環境は、ホストOSのネットワークアダプタに異常が出ることがある
cygwinやmingwは、パッケージマネージャでインストールできる自由度が低い
手持ちの余ってるノートPCにCentOSを入れようとしたが、電源端子が壊れていた
ということで、RPiにlinuxを入れてリモートで使うことにした
RedHat系が使いたいので、pidoraを選ぶ
ちなみに、Debian系の方が、パッケージマネージャの自由度が高いらしい
Raspberry Piに使用するSDカードを準備する
あらかじめFAT32でフォーマットしておく
SD Formatter 4.0を使用した
SD Card Formatter - SD Association
Raspberry PiのOSのインストーラを用意する
NOOBS 1.4.0を使用した
Download Zipでダウンロード
zipの中身をそのままSDカードのルートにコピペする
pidora専用のイメージ書き込みソフトを使う手もあるけど、
自分の場合、こっちを使うと、ネットワークがタイムアウトしやすくなった
原因は分からない
参考:Raspberry Pi に pydora 18 をセットアップする手順 | Pocketstudio.jp log3
Raspberry Piを起動
SDカードをRaspberry Piに差して、microUSB電源を差す
sshでリモート接続できるようになるまで、HDMI接続で画面を見ながら作業する
pidora専用のイメージ書き込みソフトを使う場合は、
SDのルートにheadlessファイルとconfig.txtを作成して初期設定を書き込めば、
OSが自動でインストールされ、一度も画面を見ずに初期設定を完了できるらしい
このとき、rootのデフォルトのパスワードはraspberrypi
今回は試していない
Some initial configurations for Headless Raspberry Pi
OS選択画面でPidoraを選択
Language: English (US), Keyboard: jp を選択
Language: Japaneseを選択してもいいが、画面によっては文字化けしてしまう
その他の画面は、デフォルトの選択肢でいい
pidoraのインストールが終わると、自動で再起動する
タイムゾーンや、アカウントの設定を行う
userアカウントを作るときに、Add to Administrators groupをチェックしておくと、
wheelグループに属した状態になるので、チェックしたままにした
swapは0にしてもいいけど、そのままにした
UIはTextにする
UIをGraphicalのままにしてしまった場合、下記のコマンドでTextに変更できる
$ sudo systemctl disable lightdm.service
pidoraで起動
作成したアカウントでログインする
sudoでパスワードを訊かれないように変更する
$ sudo nano /etc/sudoers
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
$ sudo reboot
ifconfigが入ってないのでインストールする
$ sudo yum update -y
$ sudo yum install -y net-tools
リモート接続するために、固定IPを設定する(下記は定義例)
ifconfigで、ネットワークとデバイスを確認する
$ sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
#BOOTPROTO=dhcp
BOOTPROTO=static
ONBOOT=yes
NM_CONTROLLED=yes
IPADDR=192.168.0.102
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.1
$ sudo nano /etc/resolv.conf
nameserver 8.8.8.8
$ sudo nano /etc/sysconfig/network
これはいじらなくてもいいみたい
$ sudo network restart
ネットワークを再起動
参考:[Linux]CentOSで手動で固定IPアドレスの設定を行う | QUALL - blog
Raspberry PiにPidoraを入れた話 | 世界を疑え
sshでログイン出来るようにする
$ sudo nano /etc/ssh/sshd_config
PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication yes
$ sudo systemctl restart sshd.service
参考:Server World - ネットワークサーバー構築
リモート接続する準備が出来たので、Windowsから接続してみる
RLoginを使用した
rlogin/telnet/ssh(クライアント)ターミナルソフト
エントリーを作成し、アドレス・user name・passwordを入力
socket port:ssh 文字セット:utf-8 にした
接続して、認証は、はい を選択
これで接続できるはず
自分の場合は、最初やったときに、エラーが出た
10061エラーは、接続先の固定IPを、WindowsPCと同じにしていたのが原因だった
10060エラーは、GUIから固定IPを設定したときに出た
ifconfigで確認したら設定と違うIPになっていた
前述のように、コマンドラインで固定IPを指定したら、エラーは出なくなった
あと、LAN端子が最後までささってないのが原因でつながらないというのもあった
(yum updateのときにタイムアウトになったらこれを疑ってみる)
RLoginは、STFPファイルの転送が行えるが、なぜかたまに機能しないので、
WinSCPを使っている
おまけ:
GUIを使用しないため、gpuメモリを最小にする
$ sudo nano /boot/config.txt
gpu_mem=32
$ sudo reboot
$ vcgencmd get_mem gpu
gpu=32Mと表示されたらOK
最小は16だが、16MBでは足りないのか、16にすると勝手に128MBになった
pidora20ならおそらく大丈夫だと思うが、もしこの方法で反映されない場合は、
ファームウェアを最新のものに書き換えると、反映されるようになるらしい。
$ cd /boot
$ sudo wget -O bootcode.bin https://github.com/raspberrypi/firmware/raw/master/boot/bootcode.bin
$ sudo wget -O fixup.dat https://github.com/raspberrypi/firmware/raw/master/boot/fixup.dat
$ sudo wget -O fixup_cd.dat https://github.com/raspberrypi/firmware/raw/master/boot/fixup_cd.dat
$ sudo wget -O start.elf https://github.com/raspberrypi/firmware/raw/master/boot/start.elf
$ sudo wget -O start_cd.elf https://github.com/raspberrypi/firmware/raw/master/boot/start_cd.elf
$ sudo reboot
参考:http://www.raspberrypi.org/forums/viewtopic.php?f=51&t=81123
http://www.raspberrypi.org/forums/viewtopic.php?f=51&t=37962
make installしたパッケージを管理するコマンドを入れる
$ wget http://downloads.sourceforge.net/project/porg/porg-0.7.tar.gz
$ tar xf porg-0.7.tar.gz
$ cd porg-0.7
$ ./configure --disable-grop
$ make
$ sudo make install
$ sudo make logme
このとき、sudo make logmeがエラーになることがある
porgのPATHが通ってない可能性がある
$ which porg
which: no porg in なんたら、と出たら、PATHが通ってない
$ sudo nano /etc/sudoers
Defaults secure_path の行に、/usr/local/bin を追加する
$ source ~/.bash_profile
bashを再起動する
これで、porgのPATHが通る
参考:sudo実行時に$PATHが通っていない場合の設定 | 黒川仁の文具堂ブログ三昧
以降、ソースコードからインストールするときは、下記の流れでインストールする
$ ./configure (無いときもある)
$ make
$ make check または $ make test (無いときもある)
$ sudo porg -lD make install
下記のコマンドで、インストールしたパッケージ一覧が表示される
$ porg -a
tmuxを入れる
1つの窓でbashや各コマンドを複数のpaneで同時に開けるらしい
$ sudo yum install -y tmux
tmuxで起動
tmux detachで、セッションを保存して終了
tmux attachで、最後に保存したセッションを復元して起動
tmuxを使っていると、上下スクロールは、Ctrl+B [ を押す必要があって面倒
$ ls -h | less というように、lessにパイプすると、
実行内容を上下キーでスクロールして見れるので、便利
lessは、qで終了する
開発用のパッケージを入れる
$ yum groupinstall -y "Development Tools" "Development Libraries"
おわり