- 追加された行はこの色です。
- 削除された行はこの色です。
*[[Raspberry Pi 3へのCentOS7のインストール 基本編>Raspberry Pi 3へのCentOS7のインストール 基本編]] [#gd15d99d]
*[[Raspberry Pi 3へのCentOS7のインストール Wifi編>Raspberry Pi 3へのCentOS7のインストール Wifi編]] [#gd15d99d]
**はじめに [#l9428984]
>
>Raspberry Piがはじめて発売された際、早速購入しましたが、動作が遅く使い物にならないと思い放置していましたが、Ver3が登場し、評判も上場なようなので、購入してみました。
>Raspberry PiがCentOSで起動しましたので、RaspberryPi3の新機能のWifiを設定します。~
CentOSのデフォルトでは、Wifiはサポートされていません。
<
***''CentOS7採用の理由'' [#f023fe1c]
**yumのレポジトリー設定・最新化 [#t504c39a]
>
>日ごろ利用しているCentOSが利用可能とあって、早速CentOS7に決定しました。
>残念ながら、インストールデフォルトでは、Kernelレポジトリに誤りがあり、エラーとなるため、修正が必要です。
<
**ブートディスク(システムディスク)の作成 [#t504c39a]
***CentOS7イメージの入手 [#eb1ff647]
-CentOSのここから差新のイメージをダウンロードします。~
http://buildlogs.centos.org/centos/7/isos/armhfp/~
現時点の最新は~
http://buildlogs.centos.org/centos/7/isos/armhfp/CentOS-Userland-7-armv7hl-Minimal-1606-RaspberryPi3.img.xz~
です。
-このイメージは32bitイメージです。64bitネイティブのイメージはまだ開発中のようです。ということで、将来再度インストールしないといけないことを覚悟します。
***kernelレポジトリーの修正 [#eb1ff647]
-/etc/yum.repos.d/kernel.repo を修正します。 ~
baseurlに誤りがあるので修正します。
***イメージの書き込み [#dcb6f01f]
-インストール先のメディアは、余っていたMicroSD(64GB)がありましたので、これを利用します。
-以下の作業はWindows7で行います。ダウンロードしたファイル(xz圧縮形式)をExplzhで解凍します。
-MicroSDへのイメージファイルの書き込みは「Win32DiskImager-0.9.5」を使用しました。Web上では「DDWin」を使用する記述がありましたがこちらの環境では、SDカードが認識されませんでした。
**初期設定 [#d3699961]
>
>ブートディスク(システムディスク)が出来上がれば、そのMicroSDを差込、電源を入れればOSが起動します。~
初期のrootパスワードは「centos」です。
[kernel]
name=kernel repo for RaspberryPi 2 and 3
#baseurl=http://mirror.centos.org/altarch/7/kernel/armhfp/kernel-rpi2/
baseurl=http://mirror.centos.org/altarch/7/kernel/armhfp/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32
<
***ローカライズ [#vff85501]
>
>起動イメージは当然、日本仕様でないため、日本へのローカライズします。
<
-キーボード/言語設定
***OS/ユーザランドの最新化 [#dcb6f01f]
-yumコマンドで最新化します。
>
>これをしないと、以降の設定の際、タイピングっで苦労します。~
ロケールの設定は、/etc/locale.conf に保存されます。~
キーマップの設定は、/etc/vconsole.conf に保存されます。
# yum -y update
<
**Wifi [#d3699961]
>
# localectl set-locale LANG=ja_JP.utf8
# localectl set-keymap jp106
# localectl
System Locale: LANG=ja_JP.utf8
VC Keymap: jp106
X11 Layout: jp
X11 Model: jp106
X11 Options: terminate:ctrl_alt_bksp
#
>/root/READMEにも記されていますが、githubよりFirmwareを持ってきます。
<
-タイムゾーン設定
***githubからのファームのダウンロードとインストール [#vff85501]
-以下の作業を行います。
>
> 日時設定は、NTPで同期するため、特に行いません。
<
>
# timedatectl set-timezone Asia/Tokyo
# timedatectl
Local time: 日 2016-09-18 19:10:23 JST
Universal time: 日 2016-09-18 10:10:23 UTC
RTC time: n/a
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
#
# cd /root
# mkdir wifi
# cd wifi
# yum -y install git
# git clone https://github.com/RPi-Distro/firmware-nonfree.git
# mv /lib/firmware/brcm /lib/firmware/brcm.org
# cp -R firmware-nonfree/brcm80211/brcm /lib/firmware/brcm
<
-SELinuxの停止~
まずは、暫定的に停止します。
-rpi-updateのダウンロードと実行
>
# setenforce 0
>
# 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
<
>
>リブート時にも無効にするため、「/etc/selinux/config」を編集します。
<
-確認します
>
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=permissive
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
# nmcli d
デバイス タイプ 状態 接続
wlan0 wifi 切断済み --
eth0 ethernet 管理無し --
lo loopback 管理無し --
#
<
-FireWallの停止
***Wifi設定 [#f6116ed7]
>
>FireWallは外部で設定するため、Raspberryでは、停止します。
>NetworkManagerを使用して設定します。~
SSIDをブロードキャストしていない場合は手間が増えます。
<
-接続プロファイルの作成
>
# systemctl stop firewalld
# systemctl disable firewalld
# nmcli con add type wifi con-name <connect name> ifname <ifname> ssid <ssid>
(例:nmcli con add type wifi con-name hogehoge ifname wlan0 ssid ssidhoge)
# nmcli con modify <connect name> wifi-sec.key-mgmt wpa-psk
# nmcli con modify <connect name> wifi-sec.psk <password>
<
-ホスト名
-インタフェースをUpします。
>
>ホスト名は「/etc/hostname」にFQDNを設定します。
# nmcli con up <connect name>
<
>
akari.local.minkycute.homeip.net
<
-インタフェースの設定
-固定IP設定の場合、/etc/sysconfig/network-scripts/ifcfg-<connect name>を編集します。(nmcliでも可)
>
>「/etc/sysconfig/network-scripts/ifcfg-eth0」を設定し、NetworkManagerから切り離します。
<
>
NAME="eth0"
DEVICE="eth0"
UUID="53bb25a0-7486-4da8-xxxx-xxxxxxxxxxxx"
HWADDR="xx:xx:xx:xx:xx:xx"
TYPE="Ethernet"
NM_CONTROLLED="no"
ONBOOT="yes"
#ONBOOT="no"
UUID="82afa1b1-b2e8-46f1-b853-f1a0e274ffbe"
NAME="MinkyCute"
DEVICE="wlan0"
NM_CONTROLLED="yes"
#ONBOOT="yes"
ONBOOT="no"
#
# Wifi
TYPE="Wireless"
ESSID="MinkyCute"
MODE="Managed"
KEY_MGMT="WPA-PSK"
#
# IPv4
BOOTPROTO="none"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPADDR="192.168.0.230"
PREFIX="24"
GATEWAY="192.168.0.1"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
DEFROUTE="yes"
PEERDNS="no"
PEERROUTES="no"
#
# IPv6
IPV6INIT="yes"
IPV6_AUTOCONF="no"
IPV6_FAILURE_FATAL="no"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="no"
IPV6_PEERROUTES="no"
IPV6_FAILURE_FATAL="no"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
<
-ネームサーバの設定(DNS)~
「/etc/resolv.conf」を編集します。
***注意 [#j0fc2c28]
>
# Generated by NetworkManager
search local.minkycute.homeip.net
nameserver 192.168.0.220
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
>WifiはNetworkManagerが起動していないと、Upできませんでした。なぜだろう?
<
***パーティション、ルートファイルシステムの拡張 [#j0fc2c28]
>
>ダウンロードしたイメージは3GBのSDサイズに最適化されたパーティション設定がなされています。~
そのため、rootファイルを拡張します。
|パーティション|マウント先|ファイルタイプ|ダウンロードイメージ|設定後|h
|/dev/mmcblk0p1|/boot|fat16|315MB|315MB|
|/dev/mmcblk0p2|swap|linux-swap(v1)|537MB|537MB|
|/dev/mmcblk0p3|/|ext4|2147MB|61.5GB|
<
>
>>
>>>
>>>インストール後、「/root/README」にパーティションの拡張方法が帰されていますが、これでは拡張できません。~
パーティションエディタによりファイルシステムがマウントされている状態で無理やり、「/」パーティションの削除、生成を行い、その後ファイルシステムのリサイズを行います。
<<<
-パーティションの拡張
<<
>>
# parted /dev/mmcblk0
(parted) p
モデル: SD SD64G (sd/mmc)
ディスク /dev/mmcblk0: 62.6GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 1049kB 316MB 315MB primary fat16 lba
2 316MB 852MB 537MB primary linux-swap(v1)
3 852MB 3000MB 2147MB primary ext4
(parted) rm 3
エラー: パーティション 3 (/dev/mmcblk0 上)
に書きこまれましたが、カーネルに変更を伝えることができませんでした。おそらく、使用中だったのが原因だと思われます。そのため、古いパーティション情報がそのまま使われます。さらなる変更をする前に再起動してください。
無視(I)/Ignore/取消(C)/Cancel? i
(parted) p
モデル: SD SD64G (sd/mmc)
ディスク /dev/mmcblk0: 62.6GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 1049kB 316MB 315MB primary fat16 lba
2 316MB 852MB 537MB primary linux-swap(v1)
(parted) mkpart primary 852M 62.6GB
エラー: パーティション 3 (/dev/mmcblk0 上)
に書きこまれましたが、カーネルに変更を伝えることができませんでした。おそらく、使用中だったのが原因だと思われます。そのため、古いパーティション情報がそのまま使われます。さらなる変更をする前に再起動してください。
無視(I)/Ignore/取消(C)/Cancel? i
(parted) p
モデル: SD SD64G (sd/mmc)
ディスク /dev/mmcblk0: 62.6GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 1049kB 316MB 315MB primary fat16 lba
2 316MB 852MB 537MB primary linux-swap(v1)
3 852MB 62.6GB 61.5GB primary ext4
(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
<<
-ファイルシステムの拡張
<
>
>再起動後、ファイルシステムの拡張を行います。
# resize2fs /dev/mmcblk0p3
<
以上で設定はおしまいです。
以上で最低限の初期設定は終了です。
お疲れ様でした。