Raspberry pi に Alpine Linux(64ビット)をインストールする方法


1. はじめに

今回は、自分自身への備忘録を兼ねて、Raspberry Pi にAlpine Linux(64ビット:aarch64)をインストールする方法を、お伝えしたいと思います。

参考:Raspberry Piにdiskless modeのalpine linuxを導入してみる
参考:RaspberryPiで「alpinelinux」
参考:Alpine Linuxの使い方
参考:Ansibleでホスト名を利用する
参考:Raspberry PiにAlpine Linux入れてデスクトップ環境を構築した…い (2)

2. この記事を読んでできること

  • Raspberry Pi に Alpine Linux(aarch64)をインストールできるようになる。

3. 注意事項

  • 標準ではCUIのみの操作となります。別途GUIをインストールすることで、GUIでも操作はできるようです。
  • ssh接続は設定を有効化した後でないと使えません。

4. 必要なもの

  • Raspberry Pi(この記事では Raspberry Pi3 を利用)
  • SDカード(8GBもあれば十分だと思いますたぶん)
  • インターネット環境(有線LAN推奨)
  • キーボード
  • マウス
  • HDMIディスプレイ

5. Alpine Linux aarch64 の入手

AlpineLinuxaarch64ダウンロードサイトURL
https://alpinelinux.org/downloads/

参考:この記事作成時のファイルバージョン:alpine-rpi-3.11.3-aarch64.tar.gz

6. microSDカードのフォーマット

  • SD Formatter for Windowsなどのソフトを用いて、使用するmicroSDカードをフォーマットする。
  • フォーマット形式は「FAT32」を選択することを推奨します。

  • 参考:参考画面

7. .tar.gz拡張子の解凍展開

  • OSイメージファイル(alpine-rpi-3.11.3-aarch64.tar.gz)は、.tar.gz形式で圧縮されているため、7-Zipなどの解凍ソフトで圧縮ファイルの中身が参照できるよう解凍する。
  • 7-Zipの場合は、連続2回(1回目で.gzを解凍、2回目で.tarを展開)解凍することで、圧縮ファイルの中身が参照できる状態になります。

8. microSDカードへOSイメージをコピー&ペースト(所要時間:5分)

  • 通常よく用いるEtcherなどのソフトは用いずに、解凍展開した圧縮ファイルの中身を、そのままmicroSDカードへコピー&ペーストします。

9. Alpine Linuxの起動

  • Raspberry PiにmicroSDカードを挿入し、Alpine Linuxを起動する。
  • 1分もしないうちにOSが起動すると思います。

10. rootユーザでログイン

  • 初期起動時は、ssh接続はできないため、キーボード&マウスを接続して、rootユーザでログインする。
デフォルトユーザ名/パスワード
ユーザ名 :root
パスワード:なし

11. 初期設定の実行

  • 以下のコマンドを実行し、対話式で答えながら設定をすすめる。
  • デフォルト選択肢が表示されている場合は、ENTERキー押下にてデフォルトを選択することが可能です。
コマンドプロンプト
// 初期設定の実行(対話式で答えながら設定していく)
# setup-alpine

// キーボードレイアウトの設定
Select keyboad layout [none]: jp

Select variant: jp

// ホスト名の設定(ご自由に設定してください)
Enter system hostname [localhost]: alpine-pi

// ネットワークの設定
Which one do you want to initialize? [eth0] ENTEREキー押下

Ip addres for eth0? [dhcp] ENTEREキー押下

Which one do you want to initialize? [wlan0] ENTEREキー押下

// 無線LANのSSID
Type the wireless network name to connect to: xxxxxxxx

// 無線LANのパスワード
Type the "xxxxxxxx" network Pre-Shared Key: xxxxxxxx

Ip address for wlan0? [dhcp] ENTEREキー押下

Do you want to do any manual network configuration? [no] ENTEREキー押下

// rootパスワードの設定
New password: xxxxxxxx

Retype password: xxxxxxxx

// タイムゾーンの設定
Which timezone are you in? [UTC] Japan

// プロキシの設定
HTTP/FTP proxy URL? [none] ENTEREキー押下

// NTPの設定
Which NTP client to run? [chrony] ENTEREキー押下

// パッケージを取得するミラーサイトの設定
// rはランダム、fはファステストまたは番号指定
Enter mirror number (1-46) or URL to add (or r/f/e/done) [1]: 1

// SSHの設定
Which SSH server? [openssh] ENTEREキー押下

// データの保存先
Enter where to store configs [mmcblk0p1]: ENTEREキー押下

Enter apk cache directory [/media/mmcblk0p1/cache]: ENTEREキー押下

12. IPアドレスの確認

  • 現時点では、ホスト名の名前解決ができないため、IPアドレスを調べておく。
コマンドプロンプト
// IPアドレスの確認
# ip a

13. 設定の保存

  • local backup commitをしないと設定が保存されずに失われるため、設定変更した際は必ず実施すること。
コマンドプロンプト
// 設定の保存
# lbu commit

// OS再起動
# reboot

14. パッケージを最新にして保存

コマンドプロンプト
// パッケージの更新
# apk update
# apk upgrade

// 設定の保存
# lbu commit

// OS再起動
# reboot

15. sudoパッケージの導入例

コマンドプロンプト
// sudoコマンドのインストール
# apk search sudo
# apk add sudo

16. wpa_supplicantサービスの起動設定有効化

コマンドプロンプト
// wpa_supplicantサービスの起動設定有効化
# rc-update add wpa_supplicant boot

17. ホスト名の名前解決ができるよう設定

コマンドプロンプト
// ホスト名の名前解決ができるよう設定
# apk add avahi
# apk add dbus
# rc-update add dbus
# rc-update add avahi-daemon
# service avahi-daemon restart

18. rootユーザでのssh接続できるよう許可

コマンドプロンプト
// sshd_configを編集
# vi /etc/ssh/sshd_config

==追記内容==
PermitRootLogin yes
========

// 編集内容を反映
# /etc/init.d/sshd restart

// 設定の保存
# lbu commit

// OS再起動
# reboot

19. Broadcomファームウェアの導入

コマンドプロンプト
// Broadcomファームウェアの導入
# apk add linux-firmware-brcm

20. 電源オフ

コマンドプロンプト
// 電源オフ
# poweroff

21. おわりに

いかがでしたでしょうか?秘められたRaspberry piの64ビットCPUパワーが解放され、CUI好きにはたまらなく軽い操作性を体感できたのではないかなと思います。
今回の記事が、みなさまの学習の参考になれば幸いです。

2020/02/23 TAKAHIRO NISHIZONO