raspberrypi3にCentOS7をインストールしてWiFi接続まで

raspberrypi2でもイメージファイルが異なるだけで操作は同じはず

#イメージファイルを用意する
 - 下記からraspberrypi3用のイメージファイルをダウンロードする  
http://mirror.centos.org/altarch/7/isos/armhfp/
 - xzファイルを解凍する

#解凍したイメージファイルを書き込む
 - イメージファイルをDD for WindowsでmicroSDに書き込む  
   手順は[こちら](http://qiita.com/t114/items/20d8825120b2b910c6d0#osのインストール)を参考


#ログイン
raspberrypiにイメージファイルを書き込んだmicroSDとLANケーブルをセットして起動させる

 - 下記userとpasswordでログインできることを確認する  
`user: root`  
`password: centos`


#パーティションを拡張する
*2017/7/14追記 始まり* ----------------------------------------
2016-11-22版では下記コマンドを実行するだけでいいみたいです
`/usr/local/bin/rootfs-expand`
*2017/7/14追記 終わり* ----------------------------------------


 - 拡張前状態を確認する

```
[root@centos-rpi3 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       2.0G  682M  1.2G  38% /
devtmpfs        459M     0  459M   0% /dev
tmpfs           463M     0  463M   0% /dev/shm
tmpfs           463M   12M  451M   3% /run
tmpfs           463M     0  463M   0% /sys/fs/cgroup
/dev/mmcblk0p1  300M   66M  235M  22% /boot
tmpfs            93M     0   93M   0% /run/user/0
```
 - パーティションを拡張する
`touch /.rootfs-repartition`
`systemctl reboot`

 - 拡張後状態を確認する

```
[root@centos-rpi3 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        14G  686M   13G   6% /
devtmpfs        459M     0  459M   0% /dev
tmpfs           463M     0  463M   0% /dev/shm
tmpfs           463M   12M  451M   3% /run
tmpfs           463M     0  463M   0% /sys/fs/cgroup
/dev/mmcblk0p1  300M   66M  235M  22% /boot
tmpfs            93M     0   93M   0% /run/user/0
```

*2017/7/14追記 始まり* ----------------------------------------
#yumを使えるようにする（Raspberry Pi 2以外？）
```
[root@centos-rpi3 ~]# yum update
Loaded plugins: fastestmirror
base                                                            | 3.6 kB  00: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.
・・・
```
`yum update`が何故かエラーとなった。repomd.xmlが見つからないらしいので下記のように修正し再実行したらできた。

```
vi /etc/yum.repos.d/CentOS-armhfp-kernel.repo
baseurl=http://mirror.centos.org/altarch/7/kernel/$basearch/kernel-$kvariant
↓
baseurl=http://mirror.centos.org/altarch/7/kernel/$basearch/kernel-generic
```

*2017/7/14追記 終わり* ----------------------------------------

#WiFi接続設定をする
###デバイスを認識させる

- まだwlan0がないことを確認する

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

 - ファームウェアをgitからダウンロードする
 
```
# yum -y install git
# git clone https://github.com/RPi-Distro/firmware-nonfree.git
# mv /lib/firmware/brcm{,.org}
# cp -R firmware-nonfree/brcm80211/brcm /lib/firmware/brcm
```


 - rpi-updpateダウンロードして実行する

```
# curl -L --output /usr/bin/rpi-update https://raw.githubusercontent.com/Hexxeh/rpi-update/master/rpi-update
# chmod +x /usr/bin/rpi-update
# rpi-update
```
 - 再起動する

```
reboot
```


 - wlan0が増えたことを確認する

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


###WiFiに接続する
 - WiFiのアクセスポイントリストを表示させる

```
# nmcli d wifi
```

 - 接続させる

```
# nmcli d wifi connect <your_ssid> password <your_keyphrase>
```
 - 接続状態とIPアドレスを確認する

```
# nmcli d show wlan0
```


#IPアドレスを固定する
 - 下記ファイルを編集する
`vi /etc/sysconfig/network-scripts/ifcfg-<your-ssid>`

 - 下記接続情報を想定
IP : 192.168.0.10
subnetmask : 255.255.255.0
gateway : 192.168.0.1
DNSサーバ：192.168.0.1

 - 下記を変更
`BOOTPROTO=static`←dhcpから変更
 - 下記を追加

```
IPADDR="192.168.0.10"
NETMASK="255.255.255.0"
GATEWAY="192.168.0.1"
DNS1="192.168.0.1"
```

##ついでに：user追加
rootで作業を行うのは危険が伴うため新たにユーザを追加する。

```
useradd <new_user>
passwd <new_user>
New password: ←設定したいパスワードを入力
Retype new password: ←パスワード再入力
```


#参考
[Raspberry Pi 3 Model B をインストールしてSSH接続できるようにしてみる　～CentOS編～](
http://techblog.clara.jp/2016/04/raspberry-pi-3-model-b_install_and_ssh_connect_by_centos/)
[Raspberry Pi 3 へCentOS7導入からWifi無線LAN接続まで設定メモ](
http://yomon.hatenablog.com/entry/2016/04/17/152031)