/ 雑記帳

[ Tags :: 11:20:10 ]

ArchlinuxをRaspberryPi4へインストール(4) まとめ?

1.Archlinux最初の段階でこのパッケージを参考ページの方法でインストールする。
wget http://jp.mirror.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz
Archlinuxなのでそのまますんなりは起動しない。もちろんsshで接続出来ない。
HDMI端子を接続して起動画面に表示されるエラーメッセージから何処に問題があるか?判断する。
自分の場合はエラーメッセージからSDカードのパーテーション名が見つからないと訴えていた様だったので
fdisk -l コマンドで調べた。
※fstabの記述が実際のパーテーションと合致していないので修正する必要有り。
そのままでは起動するだけで有り難い。Audioなんてまったく無理な状態である。

2.すべての不具合の原因はkernelだと思われたので入れ替えをする事にした。
ちょうどrt-kernelをイジっていたのでそれを組み込んで見る事にした。
そのためArchlinuxが動作しているデスクトップPC上にクロスコンパイル環境を構築する。
以前に上げたページが参考になるがこれはDebian環境のものなのでArchlinux環境に置き換えて作業する。
ビルドユーティリティの互換性は無い。

3.以前に上げたソースとパッチの組み合わせでrt-kernelを構築する。この際に使うconfigは
1.でインストールしたArchlinuxから引っこ抜いたモノをベースとして作成する。

4.コンパイルが終了したらRaspberryPi4本体へコピーとモジュールインストールを行う。
たぶんこの作業後の起動時に再度fstabを修正する必要がある。
無事に起動したらpacmanで更新を行いめでたく完成となる。

※細かい作業内容のアップの希望があったが...あぁでも無いこうでも無いと色々やって(笑)
 正確な記述は難しいのでご勘弁...
 一度でも完成すればclonezillaでimgを作って後は短時間でクローンSDカードが作れるので
 面倒な再度の検証しないからまともに書けないというのが理由だったりする。 

余談 こんなに苦労しても Archlinux に拘るのは自分が Archlinux 信者だからである。
   理屈も根拠も全く無いが Archlinux は音が良いと多くの人々に信じられているのである(笑)

— posted by くま at 07:43 pm  

 

ArchlinuxをRaspberryPi4へインストール(3) 設定編

固定アドレスにする。
[root@alarm network]# cat eth0.network
[Match]
Name=eth0

[Network]
DHCP=No
DNSSEC=no
Address=192.168.1.23
Gateway=192.168.11.1
DNS=8.8.8.8
DNS=8.8.4.4

ドライバーがロードされる様に
[root@alarm boot]# cat config.txt
enable_uart=1

gpu_mem=32
initramfs initramfs-linux.img followkernel
max_usb_current=1
disable_splash=1
disable_overscan=1
dtparam=krnbt=on
#dtparam=audio=on
dtparam=i2s=on
dtoverlay=allo-digione
#dtoverlay=rpi-dac

なんでこんな設定が...
[root@alarm etc]# cat fstab
# Static information about the filesystems.
# See fstab(5) for details.

#
/dev/mmcblk0p1 /boot vfat defaults 0 0
/dev/mmcblk0p2 / ext4 defaults 0 0

snd関連モジュール
[root@alarm etc]# lsmod | grep snd
snd_soc_wm8804_i2c 16384 1
snd_soc_rpi_wm8804_soundcard 16384 1
snd_soc_bcm2835_i2s 16384 2
snd_soc_wm8804 20480 1 snd_soc_wm8804_i2c
snd_soc_core 253952 3 snd_soc_rpi_wm8804_soundcard,snd_soc_bcm2835_i2s,snd_soc_wm8804
snd_compress 20480 1 snd_soc_core
regmap_i2c 16384 1 snd_soc_wm8804_i2c
snd_pcm_dmaengine 20480 1 snd_soc_core
snd_pcm 135168 6 snd_soc_bcm2835_i2s,snd_soc_wm8804,snd_compress,snd_soc_core,snd_pcm_dmaengine
snd_timer 36864 1 snd_pcm
snd 98304 5 snd_timer,snd_compress,snd_soc_core,snd_pcm

— posted by くま at 12:39 pm  

ArchlinuxをRaspberryPi4へインストール(2)

元カーネルはモジュールが使用出来ない状態なのか?
Audio用に使えない様だったので思い切ってrt-kernelに置き換えをした。
トラブルの内容はここに書かれている内容そのものだった。
https://archlinuxarm.org/forum/viewtopic.php?f=65&t=15090
一番不可解であった部分...
overlaysディレクトリーはrt-kernelをビルドしたときにソースツリー内に出来たので
それを所定の位置に丸ごとコピーしてconfig.txtに追記する事でロード出来た。

それで結果としては
[root@alarm ~]# uname -a
Linux alarm 5.16.0-rc3-rt7-v8 #2 SMP PREEMPT_RT Thu Dec 16 11:20:10 JST 2021 aarch64 GNU/Linux

[root@alarm ~]# al
**** List of PLAYBACK Hardware Devices ****
card 0: b1 [bcm2835 HDMI 1], device 0: bcm2835 HDMI 1 [bcm2835 HDMI 1]
Subdevices: 4/4
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
Subdevices: 4/4
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
card 2: sndrpirpidac [snd_rpi_rpi_dac], device 0: RPi-DAC HiFi pcm1794a-codec-0 [RPi-DAC HiFi pcm1794a-codec-0]
Subdevices: 0/1
Subdevice #0: subdevice #0

Archlinux 64bit rt-kernel とりあえず起動!
まずは音出し成功!! 時間がかかりました^^;
ああこれから仕事です。残念...もっと聴きたい。
DebianベースOSと比較して明確に音が違います。
嬉しくなって来ました(笑)

追記:今回の成功の鍵は...aarch64-linux-gnu-binutils-2.37-1-x86_64.pkg.tar.zst
   これですね。
最初にrt-kernelを作った時に使ったツール(Debian系)とArchlinuxのkernelを作るツールは互換性が無いという...

— posted by くま at 02:07 pm  

<< 2024.3 >>
SMTWTFS
     12
3456 7 89
10 11 1213141516
17 1819 20 21 2223
24 25 26 27 282930
31      
 
























T: Y: ALL: Online:
ThemePanel
Created in 0.0658 sec.