Raspberry Pi 4にArch Linux 64bit入れられなかった件

Arch Linux

約 12 分で読めます。



我が家には2台のラズパイがあり、以下の通り運用しています。

①Nextcloudサーバー
②WordPressサーバー、sambaサーバー、ウィルススキャンサーバー



両方ともRaspberry Pi OSなのですが、Arch Linuxにしてみようと思い立ちました。
 Arch Linuxは結構好きだったりする。
 このPCもEndeavour OSだし。

いまのRaspberry Pi OSが64bitなので、Arch Linuxも当然64bitで、と思ったのですが、kernel起動できずで、泣く泣く諦めた、という記事です。
一応今後再チャレンジするときの備忘録にもなるので、書き残しておきます。

2023/05/10
原因がわかりました。
↓に書いてあるsed -i ...をやる必要がありませんでした。

ページ最下部に記載の通り、64bitの場合はこちらの作業が追加になります。



後日談としてインストール・設定手順はこちらの記事に載せています。

やったこと

まずこのサイトの手順に従い、Arch Linux 64bitをラズパイにインストールします。

Raspberry Pi 4 | Arch Linux ARM



このInstallationに書いてあるとおりやれば問題なくインストール作業が完了すると思います。


ページ最下部に記載の通り、64bitの場合はこちらの作業が追加になります。

2023/05/10
冒頭にも書きましたが、自分の環境では↑に書いてあるsed -i ...での書換が不要でした。
もし類似の現象に出くわした場合は、これをやらないほうがいいかもです。



microSDを装着してさあ起動!

と思ったのですが、



こんな表示が出続けてしまいます。

error -5 whlist initialising SD card

エラーが出ているし、文字列から推測するにmicroSDを正常に認識できていないってことかと。

それなら、なぜlinux kernelをmicroSDから読み込むことができたのか?

という疑問はありますが、いったんそこは踏み込まないでおいて。



ぐぐってみると、似た症状で困っている人が他にもいるみたいです。

Arch Linux ARM • View topic - "error -5 whilst initializing SD card"@20220315 aarch64 img

↑の質問者は3つのラズパイのうち1つがダメだった、とのことなので、個体不良かもとのこと。

こちらのYoutubeでも同じようです。



↑の動画コメント欄に

the arch kernel doesn't use the same one as rpi. plug the sdcard into another os, sudo mount /dev/sdbX root && sudo mount /dev/sdbX boot. then git clone rpi-update from hexxeh and run that on your mounted directories. the command will look like sudo ROOT_PATH=$HOME/root BOOT_PATH=$HOME/boot ./rpi-update. 

that's it, enjoy!

ps. if you want 3d GPU acceleration too you'll need to flash grayskys kernel. goodluck :))

ということで、
 rpi-updateを適用したらできたぞ!
という書き込みがありました。
 rpi-updateはRaspberry Piのファームウェアを更新するプログラム

自分も試してみます。

bootとrootにファイルをコピーした後に以下を実行しました。

$ git clone https://github.com/Hexxeh/rpi-update
$ cd rpi-update
$ sudo BOOT_PATH=$HOME/boot ROOT_PATH=$HOME/root ./rpi-update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** Performing self-update
 *** Relaunching after update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
FW_REV:ecb31dc9a698ff9d17d9a5a24550ea5b9aaea7eb
 *** We're running for the first time
 *** Backing up files (this will take a few minutes)
 *** Remove old firmware backup
 *** Backing up firmware
 *** Backing up modules 6.1.21-v8+
WANT_32BIT:0 WANT_64BIT:1 WANT_PI4:1
#############################################################
WARNING: This update bumps to rpi-6.1.y linux tree
See: https://forums.raspberrypi.com/viewtopic.php?t=344246

'rpi-update' should only be used if there is a specific
reason to do so - for example, a request by a Raspberry Pi
engineer or if you want to help the testing effort
and are comfortable with restoring if there are regressions.

DO NOT use 'rpi-update' as part of a regular update process.
##############################################################
Would you like to proceed? (y/N)
 *** Downloading specific firmware revision (this will take a few minutes)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  116M    0  116M    0     0   9.9M      0 --:--:--  0:00:11 --:--:-- 10.9M
 *** Updating firmware
 *** Updating kernel modules
 *** depmod 6.1.25-v8+
 *** Updating VideoCore libraries
 *** Using SoftFP libraries
 *** Updating SDK
 *** Running ldconfig
 *** Storing current firmware revision
 *** Deleting downloaded files
 *** Syncing changes to disk
 *** If no errors appeared, your firmware was successfully updated to ecb31dc9a698ff9d17d9a5a24550ea5b9aaea7eb

うまくいったようです。

ちなみに、一回目はbootが200MBしかなかったので、

Partition size 200M may not be sufficient for new Pi4 files
This could result in a system that will not boot.
256M FAT partition is recommended. Ensure you have a backup if continuing.
Would you like to proceed? (y/N)

と警告が出ました。
結果的には200MBでも変わらなかったですが、一応256MBで作り直してからやっています。

で、結果がこれです。
最初はいい感じなのですが、systemd-rfkill.serviceとsystemd-timesyncd.serviceでエラーになりました。
 /etc/systemd/system/にsystemd-rfkill.serviceとsystemd-timesyncd.serviceはなかった。
またemergency modeとなっていますので、やはり正常起動していない様子。
ただ、rpi-updateやる前に出ていたmicroSDのエラーはなくなったので、前進しています。



さらにmicroSDはRead Onlyでマウントされていたので正常でないことは確かでした。



もう少し調査が必要みたいです。

終わりに

いかがでしたか。

「このやり方でうまくいったよ」など、情報大歓迎です!

この記事を書いた人

組込ソフト歴15年の外資系エンジニア。
前職で組込Linuxを使った商品設計/品質確保の業務に従事。
Raspberry Piが好き。
株式投資で年50万円を稼ぐ。
妻は香港人(国際結婚)。

Please follow me
Arch LinuxRaspberry Pi
Please follow me
世界Linux新聞

Comments

タイトルとURLをコピーしました