Raspberry pi の初期設定を楽にしたく、rpi-imagerを動かそうとしたところ動かすまでに色々ハマったので回避策をまとめました。
Workaroundでも良いから動かしたいという人は参考にしてみてください。
発生している問題
snapでインストールした場合
snapでインストールして動かそうとした場合、2つの問題が発生しました。
1つめの問題が、SDカードへ書き込む権限が無く以下のエラーが発生します。
Cannot open storage device '{Device PATH}'.
デバイスへのアクセス権限がないので管理者権限で起動しようとすると、次の問題として以下のエラーが発生して起動しなくなります。
qt.qpa.xcb: could not connect to display :0.0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
環境変数にDISPLAYを設定して試しても起動しませんでした。
debパッケージをインストールした場合
snapでインストールすると管理者権限で起動できないため、次にdebパッケージをダウンロードしてインストールを試してみました。
結果としては、依存関係としてQt5.12を要求されインストールする事ができませんでした。
The following packages have unmet dependencies:
rpi-imager : Depends: libgcc-s1 (>= 3.3.1) but it is not installable
Depends: libqt5core5a (>= 5.12.2) but 5.9.5+dfsg-0ubuntu2.6 is to be installed
Depends: libqt5gui5 (>= 5.10.0) but 5.9.5+dfsg-0ubuntu2.6 is to be installed or
libqt5gui5-gles (>= 5.10.0) but it is not installable
Depends: libqt5qml5 (>= 5.10.0) but 5.9.5-0ubuntu1.1 is to be installed
aptでは依存問題でインストールに失敗するため、試しにdpkgによるインストールを試みましたが、起動する事はできませんでした。
fealone@fealone:~/$ rpi-imager
rpi-imager: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.12' not found (required by rpi-imager)
解決策
Qt5.12の依存が問題のため、Qt5.12を手動でインストールしライブラリのパスを通す事で起動する事ができました。
Qt5.12のインストール
公式ページからインストーラをダウンロードしてインストールします。
現在はOSS版であってもアカウント登録が必要になるようなので、インストールを行う際はアカウント登録をしてください。
wget https://download.qt.io/official_releases/qt/5.12/5.12.12/qt-opensource-linux-x64-5.12.12.run
chmod +x qt-opensource-linux-x64-5.12.12.run
./qt-opensource-linux-x64-5.12.12.run
ライブラリのパスを通す
インストールが完了したら、ライブラリにパスを通します。
デフォルトでホームディレクトリ配下に作成されるので、そこにパスを通して起動します。
ldconfig ~/Qt5.12.12/Tools/QtCreator/lib/Qt/lib
起動
パスを通したら、管理者権限で起動します。
正常にGUIが立ち上がれば、完了です。
sudo rpi-imager
おわりに
調べてもあまり良い方法が見つからなず、Workaround的ではありますが今回の方法を採用しました。
ddコマンドでインストールしてセットアップしてもよいのですが、SSHやWiFiの設定などを画面なしで対応するのが面倒くさかったので、rpi-imagerを使いたかったという背景があります。
困っている人の参考になれば幸いです。