LoginSignup
1
4

More than 5 years have passed since last update.

Raspberry Pi 2 B+ にArch Linuxを入れる

Last updated at Posted at 2016-12-28

どんどん追記していきます。

※RPI・・・ラズベリーパイのこと

1.インストール

OSのtarを下のサイトからDLします。
http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz

SDカードへパーティションを作るのは、本家サイトに丁寧に書いてあったのでここでは省略します。(ログが残ってない)
https://archlinuxarm.org/platforms/armv7/broadcom/raspberry-pi-2

今回は手持ちのノーパソ(CentOS6.8)でパーティションを作りました。何度か失敗しましたが、fdisk内で全てやり直せました。

2.いざ起動

本家サイトには「SDカードを挿したらコンソールなりSSHなりで接続してね!」とありますが、いつまでたってもPINGが届きません。試しにRPIにHDMIを挿してみると画面が黒い・・・。
一度USB電源を引っこ抜いて差し直したらきちんと画面に表示されました。(起動時からHDMI挿さないと出力されないとか?)

後日、電源を入れると再び繋がらない。HDMIを直接さしてみても画面は真っ暗で、もう一度上に書いてある手順を試したら画面が表示されました。この辺は暇な時に懸賞しようと思います。

2-1.sudoのインストール

入ってなかった?

$pacman -S sudo

2-2.IP固定

ifconfigするとeth0が立ち上がってるのですが誰が立ち上げたのかが分からない・・・。netctlもdhcpcdも起動してないしsystemd-networkはなんか見当たらない。
IP固定のやり方はいくつかあるみたいですが、今回はdhcpcdを使います。これも本家に載っています。

以下を追記。

/etc/dhcpcd.conf
interface eth0
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

dhcpcdサービスの起動/自動起動

$systemctl start dhcpcd
$systemctl enable dhcpcd

2-3.IPv6の無効化

職業病です。
以下のファイルを追加。

/etc/sysctl.d/ipv6_disable.conf
net.ipv6.conf.all.disable_ipv6 = 1

2-4.iptablesの設定

正直iptableの設定に自信がないです。

/etc/iptables/iptables.rules
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.0.0/24 -d 192.168.0.0/24 --dport 22 -j ACCEPT
-A INPUT -p tcp -j REJECT --reject-with tcp-reset 
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable 
-A INPUT -j REJECT --reject-with icmp-proto-unreachable 
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

デフォルトでオフみたいなので、自動起動まで設定しておきます。

$systemctl start iptables
$systemctl enable iptables

2-5.pacmanの設定

※アーキテクチャをはき違えて試行錯誤してたので、全体的に書き直しました。

ミラーを変えます。
自分の場合は、以下が標準になっていました。

/etc/pacman.conf
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
[alarm]
Include = /etc/pacman.d/mirrorlist
[aur]
Include = /etc/pacman.d/mirrorlist
/etc/pacman.d/mirrorlist
Server=http://mirror.archlinuxarm.org/$arch/$repo

/etc/pacman.d/mirrorlistの中にはたくさんのリポジトリがあります。
これも公式に書いてありますが、この中から最速のURLを探します。

1.ミラーリストのコピーを作成し、そのコピー内のテストしたいURLのコメントを全て外します。
2.以下を実行

$rankmirrors -n 6 mirrorlist.bak > fastestmirrorlist

結果は以下の通り。(※つくばURLは無視してください。)

Server = http://mirror.archlinuxarm.org/$arch/$repo
Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/x86_64
Server = https://za.mirror.archlinuxarm.org/$arch/$repo
Server = http://au.mirror.archlinuxarm.org/$arch/$repo
Server = http://br.mirror.archlinuxarm.org/$arch/$repo
Server = http://br2.mirror.archlinuxarm.org/$arch/$repo

オーストラリアとかブラジルとかありますが、今回は標準リポジトリのまま使用しようと思います。

3.今後について

VoIPサーバにするつもりです。Mumbleを乗せる予定ですが、その理由や手順やらはまた後日。
(追記)とある事情によりVoIPサーバは無理となったので、NASにしようと思います(sambaかな)。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4