*[[Raspberry Pi 3へのCentOS7のインストール 基本編>Raspberry Pi 3へのCentOS7のインストール 基本編]] [#q614e23a] **はじめに [#k1f1fd3b] > >Raspberry Piがはじめて発売された際、早速購入しましたが、動作が遅く使い物にならないと思い放置していましたが、Ver3が登場し、評判も上場なようなので、購入してみました。 < ***''CentOS7採用の理由'' [#w4488faf] > >日ごろ利用しているCentOSが利用可能とあって、早速CentOS7に決定しました。 < **ブートディスク(システムディスク)の作成 [#g4065d64] ***CentOS7イメージの入手 [#sb6438fb] -CentOSのここから差新のイメージをダウンロードします。~ http://buildlogs.centos.org/centos/7/isos/armhfp/~ 現時点の最新は~ http://mirror.centos.org/altarch/7/isos/armhfp/CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz(2017/03/11更新)~ http://mirror.centos.org/altarch/7/isos/armhfp/CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz (2017/03/11更新)~ http://buildlogs.centos.org/centos/7/isos/armhfp/CentOS-Userland-7-armv7hl-Minimal-1606-RaspberryPi3.img.xz~ です。 -このイメージは32bitイメージです。64bitネイティブのイメージはまだ開発中のようです。ということで、将来再度インストールしないといけないことを覚悟します。 ***イメージの書き込み [#y0e94445] -インストール先のメディアは、余っていたMicroSD(64GB)がありましたので、これを利用します。 -以下の作業はWindows7で行います。ダウンロードしたファイル(xz圧縮形式)をExplzhで解凍します。 -MicroSDへのイメージファイルの書き込みは「Win32DiskImager-0.9.5」を使用しました。Web上では「DDWin」を使用する記述がありましたがこちらの環境では、SDカードが認識されませんでした。 **初期設定 [#q841a097] > >ブートディスク(システムディスク)が出来上がれば、そのMicroSDを差込、電源を入れればOSが起動します。~ 初期のrootパスワードは「centos」です。 < ***ローカライズ [#zac9886c] > >起動イメージは当然、日本仕様でないため、日本へのローカライズします。 < -キーボード/言語設定 > >これをしないと、以降の設定の際、タイピングっで苦労します。~ ロケールの設定は、/etc/locale.conf に保存されます。~ キーマップの設定は、/etc/vconsole.conf に保存されます。 < > # 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 # < -タイムゾーン設定 > > 日時設定は、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 # < ***その他の初期設定 [#ff15b4a4] -SELinuxの停止~ まずは、暫定的に停止します。 > # setenforce 0 < > >リブート時にも無効にするため、「/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 < -FireWallの停止 > >FireWallは外部で設定するため、Raspberryでは、停止します。 < > # systemctl stop firewalld # systemctl disable firewalld < -ホスト名 > >ホスト名は「/etc/hostname」にFQDNを設定します。 < > akari.local.minkycute.homeip.net < -インタフェースの設定 > >「/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" # # IPv4 BOOTPROTO="none" 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_DEFROUTE="yes" IPV6_PEERDNS="no" IPV6_PEERROUTES="no" < -networkファイルの作成~ インストール時には「/etc/sysconfig/network」が作成されません。このままだと、NetworkManagerを停止し、networkサービスを起動した際、networkサービスがエラーになります。~ そのため、「/etc/sysconfig/network」を作成します。 > # # IPv4 NETWORKING="yes" GATEWAY="192.168.0.1" # # IPv6 IPV6_NETWORKING="yes" IPV6_AUTOCONF="no" < -ネームサーバの設定(DNS)~ 「/etc/resolv.conf」を編集します。 > # 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 < ***パーティション、ルートファイルシステムの拡張 [#lcefe9b5] > >ダウンロードしたイメージは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 以上で最低限の初期設定は終了です。 お疲れ様でした。