RaspberryPI2にCentOS7をインストールする



# 目標
- 一般的なサーバを構築する手前までのセットアップ。


# 環境
- Raspberry PI2

# セットアップ前の準備
1. イメージをダウンロードする
1. 展開して、rpi2-centos-image.imgを取り出す
1. rpi2-centos-image.imgをMicroSDカードに焼く
1. RasPIにMicroSDカードを刺す

## イメージのダウンロードについて
### CentOS 7.2
http://mirror.centos.org/altarch/7/isos/armhfp/

```
# uname -a
Linux rpi2 4.1.11-v7+ #822 SMP PREEMPT Fri Oct 23 16:22:18 BST 2015 armv7l armv7l armv7l GNU/Linux

# cat /etc/redhat-release
Derived from Red Hat Enterprise Linux 7.2 (Source)
```

### CentOS 7.1
http://people.centos.org/hughesjr/armv7hl/rpi2/images/  

```
# uname -a
Linux rpi2 3.18.14-v7+ #794 SMP PREEMPT Sun Jun 7 12:50:51 BST 2015 armv7l armv7l armv7l GNU/Linux

# cat /etc/redhat-release
Derived from Red Hat Enterprise Linux 7.1 (Source)
```


# 各種設定

## キーボード
初期設定はUSキーボード。JPキーボードを設定する。

```
# localectl set-keymap jp106
```
### CentOS 7.2
反映された

### CentOS 7.1
JPキーボード設定したのに、反映されなかった。コンソールログインのときに、USキーボード設定のままになってしまう。SSH接続時はUSキーボード問題なし。

### 参考
- [centos7でキーボードレイアウト変更](http://qiita.com/sue71/items/64c513ae181e9f7aa8f4)
- [ \[RaspberryPI2\] (2016-01-25 updated) CentOSイメージが配布されてた](http://qiita.com/pb_tmz08/items/1bfa508ad80471442d5c)


## yum

### CentOS 7.2
`yum update` 問題なし

### CentOS 7.1
`yum update`をするとエラー出るので、エラーの元となってるリポジトリを取り除く。

```
# mkdir /etc/yum.repos.d/tmp/
# mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/tmp/
# yum update
```

### 参考
- [CentOS Linux 7 and Arm](http://seven.centos.org/2015/03/centos-linux-7-and-arm/)

## 時刻合わせ
chronyが推奨

```
yum install chrony
systemctl start chronyd
```

### 参考
- [新しいNTPクライアント＆サーバ、chrony](http://qiita.com/yunano/items/7883cf295f91f4ef716b)


## タイムゾーン設定
時刻がUTCなのでJSTに変更。

```
timedatectl set-timezone Asia/Tokyo
```

### 参考
- [CentOS 7 : システムのタイムゾーンを設定する ： Server World](http://www.server-world.info/query?os=CentOS_7&p=timezone)

## ディスクスペースの拡張
ルートディレクトリに`.rootfs-repartition`というファイルを置くと再起動時にパーティションを拡張してくれる。


``` lang:変更前
# df
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/root        1998672 719940   1157492  39% /
devtmpfs          469784      0    469784   0% /dev
tmpfs             474088      0    474088   0% /dev/shm
tmpfs             474088  12204    461884   3% /run
tmpfs             474088      0    474088   0% /sys/fs/cgroup
/dev/mmcblk0p1    307016  65048    241968  22% /boot
tmpfs              94820      0     94820   0% /run/user/0
```
```
touch /.rootfs-repartition
systemctl reboot
```
``` lang:変更後
# df
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/root        6813192 702444   5793808  11% /
devtmpfs          469784      0    469784   0% /dev
tmpfs             474088      0    474088   0% /dev/shm
tmpfs             474088  12180    461908   3% /run
tmpfs             474088      0    474088   0% /sys/fs/cgroup
/dev/mmcblk0p1    307016  65048    241968  22% /boot
tmpfs              94820      0     94820   0% /run/user/0
```



## SSH
初稿時、CentOS 7.1にてインストールをしていたのですが、SSHで接続できずfirewalldを疑ってました。そのため、firewalldを止めてSSH接続した記憶があるのですが、いろいろとイジっていたため、本当にfirewalldのため繋がらないかどうかの問題切り分けまでできていません。

CentOS 7.2ではSSH接続が普通にできてしまったので、SSH接続が問題なければ読み飛ばしを推奨します。

### CentOS 7.2
繋がる。

### CentOS 7.1

初期設定でfirewalldが有効になってるので、一時的にオフ？
*※セキュリティ的によろしくない*

```
systemctl stop firewalld
```




## ログインパスワード
### CentOS 7.1
- ID : root
- password : (設定なし)

### CentOS 7.2
- ID : root
- password : centos

## USB周り
RaspberryPIでUSB接続の機器をつかうときに`lsusb`を使う必要があるため、usbutilsをインストール。

```
yum install usbutils
```

### 参考
- [CentOS 6のyumでlsusbをインストールする方法・コマンド](http://www.miuxmiu.com/archives/2012/04/24/centos_6_yum_lsusb_install_command.html)



# 参考
- [SpecialInterestGroup > AltArch > Arm32 - CentOS wiki](https://wiki.centos.org/SpecialInterestGroup/AltArch/Arm32)