openSUSE for Raspberry Pi 3 をためしてみた
スポンサーリンク
いつの間にかリリースされていたようです。
openSUSEというのはドイツのLinuxディストリビューション、SUSE Enterprise Linux Server のコミュニティ版です。
RedhatにおけるFedoraに近いイメージでいいのでしょうか。Fedoraよりは安定志向と思いますが。
昨年11月ごろにARM向けのリリースが告知(というか、以前にも対応していたものの、最新版は未提供だった?)が出ていたもの。
何が嬉しいかというと、64ビットモードで動作するという点です。ラズパイ3のCPUはCortex-A53(ARMv8アーキテクチャ)で、ハードウェア的には64 bitモードをサポートしていますが 、公式のOSとしては32ビットのカーネルしか提供されていませんでした。
今回のopenSUSEは非公式のOSイメージを使うとか、もしくは自前でカーネル一式ビルドするという面倒なことをしなくても64bitモードで動くよってのが一番のポイントです。
準備
前提はRaspberry Pi 3 model B、64ビットモードで動作する方のOSイメージ、です。
OSイメージのバリエーションについて
安定版であるopenSUSE Leap 44.2と、ローリングリリスース版である openSUSE Tumbleweedの2つのバージョンがあり、さらにローリングリリスース版には無印のTumbleweed とTumbleweed (non-upstream) で合計3系統。
デスクトップ環境の違いによりトータル14パターンのディスクイメージが提供されているようです。
non-upstream
というのは意味がよくわかりません。普通、OSSでupstreamというのは特定コンポーネントのオリジナルの開発元のことを指すと思うのですが、SUSEにupstreamと言われてもさっぱりです。 CentOSでupstreamといえばRedHat のRHELだったりしますが。
カーネルがSUSE標準のものか、Raspberry 用のカスタム版かのことを言っているのでしょうか?
- JeOS : 仮装環境向けの最小構成版。Just Enough Operating System(JeOS) | SUSE
- E20 : Enlightenment のE20を採用したもの?
- XFce : 軽量デスクトップ環境
- LXQT : 期待の新星LXQt(Tumbleweed 版のみ)
- X11 : XOrgのみで統合デスクトップ環境なし?
※ Leapの方のLXQt版は提供されていないようです。ダイレクトリンクは404 Not Foundになっていますし、general download directoryとやらをチェックしても存在しないようです。
FTPからダウンロードする場合はファイル名がraspberrypi3.aarch64.raw.xz
のものと、efi.aarch64.raw.xz
のものがあるので要注意です。
42.2 Leap、Tumbleweed、Tumbleweed (non-upstream ) のそれぞれ3系統試しましたが、私の環境ではTumbleweed (non-upstream )以外は正常に動作しませんでした。
42.2 Leap に関してはログインプロンプトが表示されるにもかかわらず自動的にGUIに切り替わるタイミングでフリーズ。一方、無印のTumbleweedは起動自体は成功しますが、GUIの起動に失敗してフリーズして使い物にならないです*1。
手持ちのmicroSD 3種類で試してダメだったので、microSDとの相性ではなさそうです。HDMIモニタのせいなのか、ググっても情報がないので諦めモードです。
Tumbleweed (non-upstream )については初回起動時は途中でフリーズしますが、電源オフして再度電源を投入すると起動できました。最初はLXQt 環境で行きたかったのですが、スクリーンショットが取れなかったのでXFceに切り替え。
上記リンク先の、"Installing the 64-bit non-upstream openSUSE Tumbleweed image"という見出しの下にある"XFCE image"からダウンロード。
ファイルのチェック
Linux (Raspbian)で作業しています。macOSの場合はddコマンドのオプションに注意。余計なオプションなしでRaspbianと同様にすればいけるはずです。
まずはダウンロードしたファイルのSHAチェックサムが一致するか確認。チェックサムの記載されたファイルを入手。以下は42.2 Leap の例。
$ get http://download.opensuse.org/repositories/devel:/ARM:/Factory:/Contrib:/RaspberryPi3/images/openSUSE-Tumbleweed-ARM-XFCE-raspberrypi3.aarch64-2017.01.28-Build4.3.raw.xz.sha256 <skip> $ cat openSUSE-Tumbleweed-ARM-XFCE-raspberrypi3.aarch64-2017.01.28-Build4.3.raw.xz.sha256 <skip> $ sha256sum openSUSE-Tumbleweed-ARM-XFCE-raspberrypi3.aarch64-2017.01.28-Build4.3.raw.xz <skip>
目視で比較はスマートではないという場合は、*.sha256
ファイルとチェック対象が同一ディレクトリに存在するものとして*2下記を実行する。「完了」と表示されていれば問題なし(2行目)。警告が出ているのはチェックサムを記録しているファイルに署名がくっついているためだと思う。
$ sha256sum -c openSUSE-Tumbleweed-ARM-XFCE-raspberrypi3.aarch64-2017.01.28-Build4.3.raw.xz.sha256 openSUSE-Tumbleweed-ARM-XFCE-raspberrypi3.aarch64-2017.01.28-Build4.3.raw.xz: 完了 sha256sum: 警告: 書式が不適切な行が 14 行あります
なお、mac環境ではsha256sum
じゃなくてshasum
コマンドを使う。
$ shasum -a 256 openSUSE-Leap42.2-ARM-XFCE-raspberrypi3.aarch64-2017.01.20-Build1.1.raw.xz
*.sha256
ファイルに記載のチェックサムと一致していればOK。よりスマートにやるなら-c
オプションを使う。
$ shasum -a 256 -c openSUSE-Leap42.2-ARM-XFCE-raspberrypi3.aarch64-2017.01.20-Build1.1.raw.xz.sha256 openSUSE-Leap42.2-ARM-XFCE-raspberrypi3.aarch64-2017.01.20-Build1.1.raw.xz: OK shasum: WARNING: 14 lines are improperly formatted
配布元のサイトの、対応するファイルに記載されているチェックサムと一致すればダウンロード成功。
定期的にファイルが更新されるようなのでファイル名に含まれる日付部分はダウンロードしたファイルに合わせて変更する必要あり。
microSDへのデータ書き込み
USB接続のカードリーダーをラズパイにつないで作業。microSDをセットすると勝手にマウントされるのでまずはマウント解除。
まず確実に対象デバイスをマウント解除。XXX
はマウントポイント名。
$ sudo amount /media/pi/XXX
対象ファイルをdd
で書き込み。ラズパイ以外の環境で/dev/sda
はルートパーティションなので注意。
デバイス名はdmesg | grep sd
とmount
の出力を確認すれば特定できるはず。
$ xzcat openSUSE-Tumbleweed-ARM-XFCE-raspberrypi3.aarch64-2017.01.28-Build4.3.raw.xz | sudo dd bs=4M of=/dev/sda iflag=fullblock oflag=direct; sync 906+0 レコード入力 906+0 レコード出力 3800039424 バイト (3.8 GB) コピーされました、 506.372 秒、 7.5 MB/秒
macOSでは4M
を4m
に、デバイス名にiflag
、oflag
は外す。またデバイス名も/dev/rdiskN
のようにr
をつける。
私の環境では10分ぐらいでした。コーヒーでも紅茶でも飲んでのんびり待つだけ。
あとはmicroSDを取り出して、ラズパイ側に差し込んで電源ON。
インストール後の諸設定
初回起動時は普通にGUIの軌道にコケる。画面左上にアンダーバーが表示されてフリーズ。
電源をオフにして再度電源を入れるとしれっとログイン画面が表示される。
初期ユーザー名はroot
でパスワードはlinux
というのがopenSUSEのデフォルトらしい。
デスクトップ環境さえ起動してしまえばあとはGUIのツールからユーザーを追加できる。
atuyosi@localhost:~> uname -a Linux localhost.localdomain 4.4.44-8-default #1 SMP Mon Jan 30 06:03:56 UTC 2017 (345bd0b) aarch64 aarch64 aarch64 GNU/Linux
いいですね、このaarch64
という文字列が見たかった。
ところでこのプロンプトは一体。
まあ別にいいけど。
初回起動時の挙動
初回起動時のみそれなりに時間がかかる。そしてフリーズする。
- パーティション拡張(自動的にmicroSDの全容量を使用するように拡張)
- initrd の再生成(dracut)
- パーティションテーブルをMBRからGPTへの変換(アライメント調整も?)
- いつのまにかswapパーティションを作成
かなりやんちゃなことをやっている印象。三番目はかなり危険だと思うんですけど。
パーティションの拡張とかしてるせいで初回起動時にコケるのかなあと。
また、swapサイズはかなり小さかったはず。500MBぐらい。
色々
画面左下の"openSUSE"というメニューから"Settings"をポイントして展開されるメニューから"Yast"。
Yast から"Language"をクリックして"Primary Language" をJapanese にするだけ。プルダウンポックスの下のチェックボックスを有効にするとキーレイアウトも面倒を見てくれるはず。
初回は追加パッケージをインストールするようなので時間がかかる。再起動してログイン画面から言語とキーボード配列を日本語(ja_JP.UTF-8)にしてログインすればOK。
画面左下のメニューからYast を起動して、"Software Management"をクリックするとGUIでソフトウェアをインストールできる。
fcitx-mozc
をインストールして一旦ログアウトしてログインし直せば、日本語も入力可能。
fcitx 自体の設定は他の環境と同じ。日本語キーボードとmozcを追加して英語キーボードを削除する。
XFce の設定
画面左下の"openSUSE"というメニューから"Settings"をポイントして"Settings Manager"。
デスクトップの外観などの細かい設定はこっちから。
そのほか
- 画面解像度がおかしい(1824x984、変更不能?)
- HDMIモニタのスピーカーが使えない
- 無線LANはデバイスが見えていない?
- 初期状態ではsshは起動していない(というか、sshのホストキーが正常に読み出せていない)
- 初期状態では日本語入力用のソフトウェアはインストールされていない
まだベータ版なんでしょうか。そもそもユーザー数が少ないのかな。
まとめ
ベンチマークは面倒だし省略。体感速度は結局、microSDの性能次第だという印象です。
デバイスドライバ完備の Raspbian と比べると常用は厳しそう。Fedora 26に期待。
それではまた。