*

Raspberry Pi2/ラズベリーパイ2にFedoraをインストール

公開日: : 最終更新日:2015/11/09 投稿者:raru Fedora, Linux, サーバ

Raspberry pi2にFedoraがインストールできるという情報を入手したので2台目を購入してインストールを行いました。

以前はpidoraというものがありましたが、こちらの更新は停止していてraspberry pi2には対応していません。
しかしその間にfedoraそのものがraspberry pi2にインストールできるようになっていたのです。
嬉しい限りです。

今回はraspberry pi2にfedoraをインストールして基本設定を行うところまでを行います。

インストール用イメージの作成

まずはディスクイメージを作成します。
今回はFedora Image Builder for Raspberry Pi 2というスクリプトを利用してイメージを作成します。

このスクリプトを実行するにはdebian系のOSが必要になります。
中で利用しているコマンドに依存しているようです。
手順はこちらのサイトが参考になります。

私はVirtual Boxにubuntuをインストールして実行しました。
いくつかパッケージが必要なので以下のコマンドで必要なパッケージのインストールを行ってください。

# apt-get xzdec git kpartx

Linuxに慣れている方には問題とならない箇所かもしれませんが、一点注意。
settings.confファイルにある容量の設定には気をつけてください。

利用しているmicro sdにもよりますが、32GBのmicro sdを利用する場合には概ね以下のように設定すると良いと思います。

BOOTSIZE=200
ROOTSIZE=29500
COMPRESS=0

私は嫌な予感がするなぁ〜と何も考えずに設定を行ったために、/以下の容量が3.6GBになり、追加でパーティションを切ることになりました。

パーティションサイズを指定するところで気づく方もいると思いますが、イメージの作成に結構容量を食います。
仮想マシン上にも領域を確保するとディスクがしんどいので共有フォルダを利用して、ホストマシン側の領域でスクリプトを実行することをお勧めします。

またもしCentOS等のRedhat系のOSからスクリプトを実行したい場合には以下のサイトを参考にしてください。
Linux Install Memo

中を開いて自分で修正するという、これこそインフラ屋さんという感じです。すごい。

Raspberry PIの起動

ディスクイメージを作成したら、SDへ書き込みraspberry piにセットします。
ここで、一つ注意点。

Micro SDへの書き込みはWindowsマシンから行うことをお勧めします。
私はMac Book Proから書き込みを行ったところraspberry piがディスクを上手く認識してくれずに起動しませんでした。

基本的には以下のページと同様の手順で起動までを行うと良いです。
Raspberry Pi/ラズベリーパイ にFedora(Pidora)をインストール

Fedora初期設定

マシンを起動したら初期設定を行っていきます。
最初に何点かインストール時の設定が聞かれますが、見てわかると思うので割愛します。
raspbianと違ってキーボードの認識も正しく行われるのでストレスが溜まらないのは個人的に評価高いです。

あとは通常のredhat系OSと同じように設定を行っていきます。

ネットワーク設定

最初にネットワーク設定を行い、固定IPを降りつつDNSにgoogleのDNSを指定します。

[root@localhost ~]# nmcli c add type ethernet ifname eth0 con-name eth0
[root@localhost ~]# nmcli connection mod eth0 ipv4.method manual ipv4.addresses 192.168.1.12/24 ipv4.gateway 192.168.11.1 ipv4.dns 8.8.8.8
[root@localhost ~]# nmcli c up eth0
[root@localhost ~]# systemctl restart NetworkManager
[root@localhost ~]# systemctl restart network

nmcli cになっていたりconnectionになっていたりしますが、意味は同じです。
modと書いてある部分もmodifyでもmでも良いです。

最後のrestartは不要かもしれませんが、不安なので行っています。

ホスト名設定

ホスト名の設定を行います。

[root@localhost ~]# nmcli g hostname fedora-pi
[root@localhost ~]# hostname
fedora-pi

パッケージ更新とインストール

パッケージの更新とよく使うパッケージのインストールを行います。

[root@localhost ~]# vi /etc/dnf/dnf.conf
[root@localhost ~]# cat /etc/dnf/dnf.conf 
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=true
fastestmirror=true
[root@localhost ~]# dnf upgrade
[root@localhost ~]# dnf install wget tar less

なんとFedora22からはyumではなくdnfというものを利用するようになっています。
これはkernelが4になったことによるものだそうです。

最初に設定しているのはfastestmirror=trueの追加です。
これによりfastestmirrorが有効になります。

dnf upgradeはyum updateと同じです。
fedora22のminimalではtarもlessも入っていなかったためインストールしています。
lessがないのには驚きました。

そのうちCentOSもdnfというものになるんでしょうかね。

ユーザ追加

管理用ユーザの追加を行います。

[root@localhost ~]# useradd raru
[root@localhost ~]# passwd raru
ユーザー raru のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
[root@localhost ~]# usermod -G wheel raru

wheelがredhat系の管理ユーザ用グループです。
raspbianではadmというグループでしたね。

root設定

wheelグループのものだけがroot化できるように設定します。

[root@localhost ~]# cp /etc/pam.d/su/etc/pam.d/su.org
[root@localhost ~]# vi /etc/pam.d/su
[root@localhost ~]# diff /etc/pam.d/su.org /etc/pam.d/su
6c6
< #auth		required	pam_wheel.so use_uid
---
> auth		required	pam_wheel.so use_uid

ssh設定

鍵認証のみを許すように設定します。

[root@localhost ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
[root@localhost ~]# vi /etc/ssh/sshd_config
[root@localhost ~]# diff /etc/ssh/sshd_config.org /etc/ssh/sshd_config
49a50
> PermitRootLogin no
79c80,81
< PasswordAuthentication yes
---
> PasswordAuthentication no
> PermitEmptyPasswords no
[root@localhost ~]# systemctl restart sshd

このあたりはもう毎度おなじみですね。

ssh用鍵の作成

先ほど作成したユーザの鍵を作成します。

[root@localhost ~]# su - raru
[raru@fedora-pi ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
....
[raru@fedora-pi ~]$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
[raru@fedora-pi ~]$ chmod 600 ~/.ssh/authorized_keys
[raru@fedora-pi ~]$ cat ~/.ssh/id_rsa

cronの設定

最新のredhat系OSではcronがanaconになっているので使い慣れているnoanacronにもどします。

[root@localhost ~]# dnf remove cronie-anacron
[root@localhost ~]# dnf install cronie-noanacron

これで基本的な設定は完了です。

OverClockテスト

今回購入したraspberry piのケースにはファンが付いているので、せっかくだからover clockを試してみたいと思います。
これも先ほど参考にさせていただいたサイトのpi2 fedora22 でOCという記事を参考にしました。

まずはover clock前の計測です。

[root@localhost ~]# dnf install gcc perl-Time-HiRes
[root@localhost ~]# cd /usr/local/src
[root@localhost src]# wget https://byte-unixbench.googlecode.com/files/UnixBench5.1.3.tgz
[root@localhost src]# tar xvzf UnixBench5.1.3.tgz
[root@localhost UnixBench]# cd UnixBench
[root@localhost UnixBench]# ./Run

それぞれCPU1つと全部合わせてのスコアです。
System Benchmarks Index Score 115.4
System Benchmarks Index Score 285.

当たり前ですがコア数が4でも単純に4倍にはならないのですね。
続いてover clockの設定と計測です。

[root@localhost UnixBench]# dnf install cpufrequtils
[root@localhost UnixBench]# cpupower frequency-info
...
  current policy: frequency should be within 600 MHz and 900 MHz.
                  The governor "powersave" may decide which speed to use
...
[root@localhost UnixBench]# cpupower frequency-set -g ondemand
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
[root@localhost UnixBench]# cpupower frequency-info
...
  current policy: frequency should be within 600 MHz and 900 MHz.
                  The governor "ondemand" may decide which speed to use
...
[root@localhost UnixBench]# ./Run

System Benchmarks Index Score 159.3
System Benchmarks Index Score 397.7

性能は1.4倍くらいにあがっている感じですかね。
CPUの温度は最大で47度まで上昇しました。
通常時が33度くらいなので、そこそこ温まったようです。

ただ参考サイトの方の実験では64度まで上昇しているようでしたので、ファンの効果はなかなかたかそうですね。
ひとまずはこのover clockさせた設定のまま稼働させてみようと思います。

パーティションの拡張

こちらはディスクイメージ作成を正しく行った方には不要です。
私は正しく行わなかった方なので必要でした。

microsdが32GBあるのに、システム全体で4GBくらいしか容量を使用しておらず残りが無駄になってしまっていたので、パーティションを追加していきます。
ルートのパーティションを拡張することも考えたのですが、インストールCDをブートしてどうこう書いてあったので、raspberry piのブートCDってなんだよ。。。ってことになり諦めました。

// ディスクのデバイス名を確認
[root@localhost ~]# fdisk -l
...
Device         Boot   Start      End  Sectors  Size Id Type
/dev/mmcblk0p1         2048   411647   409600  200M  e W95 FAT16 (LBA)
/dev/mmcblk0p2       411648  7784447  7372800  3.5G 83 Linux
[root@localhost ~]# fdisk /dev/mmcblk0

fdisk (util-linux 2.26.2) へようこそ。
ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。
書き込みコマンドを使用する際は、注意して実行してください。


コマンド (m でヘルプ): n
パーティションタイプ
   p   基本パーティション (2 プライマリ, 0 拡張, 2 空き)
   e   拡張領域 (論理パーティションが入ります)
選択 (既定値 p): p
パーティション番号 (3,4, 既定値 3): 3
最初のセクタ (7784448-62333951, 既定値 7784448): 
最終セクタ, +セクタ番号 または +サイズ{K,M,G,T,P} (7784448-62333951, 既定値 62333951): +26624M

新しいパーティション 3 をタイプ Linux、サイズ 26 GiB で作成しました。

コマンド (m でヘルプ): p
ディスク /dev/mmcblk0: 29.7 GiB, 31914983424 バイト, 62333952 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x000611c3

デバイス       起動 開始位置 最後から セクタ サイズ Id タイプ
/dev/mmcblk0p1          2048   411647   409600   200M  e W95 FAT16 (LBA)
/dev/mmcblk0p2        411648  7784447  7372800   3.5G 83 Linux
/dev/mmcblk0p3       7784448 62310399 54525952    26G 83 Linux

コマンド (m でヘルプ): w
パーティション情報が変更されました。
ioctl() を呼び出してパーティション情報を再読み込みします。
パーティション情報の再読み込みに失敗しました。: デバイスもしくはリソースがビジー状態です

カーネルは古い情報を使用しています。新しい情報を利用するには、システムを再起動するか、もしくは partprobe(8) または kpartx(8) を実行してください。

[root@localhost ~]# reboot

// パーティションが増えていることを確認
[root@fedora-pi ~]# fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 29.7 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000611c3

Device         Boot   Start      End  Sectors  Size Id Type
/dev/mmcblk0p1         2048   411647   409600  200M  e W95 FAT16 (LBA)
/dev/mmcblk0p2       411648  7784447  7372800  3.5G 83 Linux
/dev/mmcblk0p3      7784448 62310399 54525952   26G 83 Linux

// 作成したパーティションext4としてファイルシステムを作成
[root@fedora-pi ~]# /sbin/mkfs.ext4 /dev/mmcblk0p3 
mke2fs 1.42.12 (29-Aug-2014)
Discarding device blocks: done                            
Creating filesystem with 6815744 4k blocks and 1703936 inodes
Filesystem UUID: 07b79748-2a1b-4c02-8c8a-ba999c85cfa6
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done  

// 作成したパーティションをマウント
[root@fedora-pi ~]# mkdir /data
[root@fedora-pi ~]# vi /etc/fstab
[root@fedora-pi ~]# cat /etc/fstab 
UUID=7c321d6b-f2b0-4783-9576-e3dfe657f9b3 / ext4 defaults,noatime 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 0
/dev/mmcblk0p3 /data ext4 defaults,noatime 0 0
[root@fedora-pi ~]# mount -a

ちょっと長くなったのでコードにコメントを追加しました。
まずはデバイス名を取得して、パーティションを作成しています。
このときに +****Mという形でサイズを直接指定していますが、ここは空欄のままの方が良さそうです。
そうすると自動的に残りの容量全てを利用してパーティションを作成してくれます。

私はセレクタの容量への変換の仕方がよくわからず62333951というセレクタが、どれくらいの容量の拡張なのかわからなかったので指定しました。

あとはリブートしてから、先ほど作成したパーティションを初期化してマウントです。
ここでmkfsを実行し忘れるとエラーが発生してマウントできないので注意です。

今回の購入物

今回はこの4つを購入して組み立てました。
アクリルケースは細くなっている部分が折れやすいので気をつけて下さい。

前回購入したものと違ってファンが付いていたり、固定用のゴム製の足がシールで同梱されていました。
ファンの性能はUnix Benchで試した通り、15度くらいは温度を下げてくれるみたいです。
また気になる音の方は非常に静音で、耳を近づけても音が聞こえないレベルです。

個人的には非常に満足しています。

ちなみ完成するとこんな感じ。
raspberrypi2_ファン

あとがき

Fedoraは普段使っていませんが、redhat系のOSなのでRaspbianと違って設定が非常にスムーズに進みます。
今回パーティション設定をミスしていしまったので、今後拡張した領域にいろいろとデータを保存していくことになりそうなのでSELinuxの設定が大変になりそうだなぁと今から少し憂鬱。

ですが、ついにRaspberry piでもfedoraが利用できるということで非常にサーバ用途として使いやすくなりました。
CentOSの対応が早く来てくれたらいいのになぁ、と思っております。

なんだかんだでfedoraは安定長期運用が用途ではないでしょうからねぇ。

参考サイト一覧

今回参考にさせていただいたサイト。
JUNKHACK
Linux Install Memo

両サイトとも非常に経験と知識を感じる内容でした。

関連記事

no image

yum使いがハマるaptitudeの罠 update

最近までaptitudeの使い方に関して大いなる勘違いをしていました。 yum使いの皆様も私と同様

記事を読む

no image

PidoraにZabbix2.2を入れてみた

※完璧な状態ではありません。 こちらの記事のzabbix設定周りを行うと解決する可能性がありま

記事を読む

no image

Pidoraの時刻設定(ntp)

現在Pidoraを監視サーバ化しようとしているところです。 なかなか苦労しますね。普通のサーバで設

記事を読む

no image

Raspberry Pi 2(Raspbian) 初期設定

性懲りもせずにRaspberry pi2を購入しました。 初代に比べて相当スペックが向上しており、

記事を読む

no image

CentOS 7 で ruby on rails 環境構築

気づいたらCentOS7が出てから時間が立っていました。 そろそろ新しく建てるサーバはCentOS

記事を読む

no image

Raspbianでメール送信 ssmtp編

Raspbianで監視などをおこなっているとメールが送信したくなります。 とりあえず何かと管理用に

記事を読む

no image

CentOS7にGitLab 9をインストールして日本語化

最近CentOS7にGitLabを入れて、日本語化してみました。 最近9が出たようで、あまり参考に

記事を読む

no image

apache2.4でBOTからのアクセスを排除

私は何か数字が動くものを見るのが好きでgoogle analyticsのリアルタイム情報をよく見てい

記事を読む

no image

RedmineからsSMTPでメールを送信

Redmineの管理画面にアクセスしたところメール通知設定は所定のファイルを編集しないとできないよう

記事を読む

no image

iptablesで特定のIPからの接続を遮断

WordPressを利用して作成しているこのブログなのですが、管理画面へのログインリンクがあるせいな

記事を読む

Comment

  1. たけさん より:

    遊びにきました。この透明ケース、ファンが付いていてむき出し感がいいですね〜。

    • raru より:

      ご訪問ありがとうございます!
      それなりに冷却機能もありますし、見た目も悪くないので気に入っています!

      たけさんのサイトは非常に参考にさせていただきました。
      Unix Benchとかも知らなかったので興味深く楽しかったです。
      勝手ながら記事へのリンクをさせていただきまして、失礼いたします。

      ご丁寧にありがとうございます。

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑