Raspberry pi の初期設定(Arch linux)

概要

以前使用していた Raspberry pi を起動したところ、
起動途中で落ちて再起動…と繰り返して起動できなかった。
なので、初期から設定し直すことにした。

以前と同様に Raspbian をインストールしようとしたら、
何故か途中で異常終了してしまうので断念した。
Ubuntu や他のOSも試したのだが途中で異常が起こる。
SDカード相性が悪い分けてはなさそうなのだが何故なのか?
SDカードの相性

結局、Arch linux のインストールに行き着いた。

環境

  • SDカード設定用 Linuxマシン(4.8.2-1-ARCH)
  • SDカード(SanDisk Ultra PLUS microSDHC UHS-I カード 16G class10)
  • Raspberry Pi 2 Model B

目次

  1. SDカード設定
    <参考文献>
  2. 初期設定
    <参考文献>

1. SDカード設定

公式サイトの通りにSDカードに Arch linux のイメージファイルを書き込むだけである。

以下、SDカード設定用のLinuxマシン上で root ユーザになって作業を行う。

SDカードの確認
fdisk -l

SDカードのディスクが表示される(例:/dev/mmcblk0)ので、
公式サイトの「/dev/sdX」を表示されたディスクに読み替えて作業する。

パーティション
fdisk /dev/mmcblk0

fdisk のプロンプトが起動するので以下を行う。

  1. o 入力、p 入力
  2. n 入力、p 入力、1 入力
  3. 最初のセレクタは何も入力せずエンター押下
  4. 最後のセレクタは +100M と入力
  5. t 入力、c 入力
  6. n 入力、p 入力、2 入力
  7. 最初と最後の両セレクタとも何も入力せずエンター押下
  8. w 入力
SDカードの再確認
fdisk -l

パーティションされたデバイスが表示される。(例: /dev/mmcblk0p1, /dev/mmcblk0p2)
公式サイトの「/dev/sdX1」「/dev/sdX2」を表示されたデバイスに読み替える。

フォーマット
mkfs.vfat /dev/mmcblk0p1
mkdir boot
mount /dev/mmcblk0p1 boot
mkfs.ext4 /dev/mmcblk0p2
mkdir root
mount /dev/mmcblk0p2 root
wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root
sync
mv root/boot/* boot
umount boot root

LinuxマシンからSDカードを抜いて、
Raspberry Pi に挿して起動すれば立ち上がる。
初期状態では、root ユーザのパスワードは root になっている。

2. 初期設定

初期設定の参考サイトはたくさんあるので、
適宜必要な設定を参照すればよい。

キーボード設定
loadkeys jp106
echo "KEYMAP=jp106" > /etc/vconsole.conf
ローカル設定
vi /dev/locale.gen

en_US.UTF-8 UTF-8、ja_JP.UTF-8 UTF-8コメントアウトを外す。

locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
export "LANG=en_US.UTF-8"
時刻設定
unlink /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ホスト名設定
hostnamectl set-hostname XXXXXX

XXXXXX に自身のホスト名を入力。

有線LAN設定

DHCPを利用するので設定はデフォルトのまま。
IPv6の無効化だけしておく。

vi /etc/sysctl.d/40-ipv6.conf

# Disable IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.all.disable_ipv6 = 1
ミラーサーバ設定
vi /etc/pacman.d/mirrorlist

台湾、シンガポールの Server をファイル先頭にコピーし、
コメントアウトしておく。 アップデートして、リブートする。

pacman -Syu
reboot
sudo設定
pacman -S sudo

インストール後、wheelグループの権限を設定する。

visudo

「%wheel ALL=(ALL) ALL」のコメントアウトを外す。

ユーザ作成
useradd -m -g wheel XXXX
passwd XXXX

XXXX にユーザ名を入力する。

後書き

無線LAN設定をして置きたかったのだが、
設定すると Raspberry Pi の再起動時に異常終了する。
いくつか設定を試したがいずれも原因不明の異常終了が発生した。
(無線アダプターの相性とかあるのか?)
有線LANが繋がるのでとりあえずよしとする。