2022年4月22日のメモ
CPU idle time (CPUIdle) Governorの設定方法
$ echo "governor名" | sudo tee /sys/devices/system/cpu/cpuidle/current_governor
Raspberry Piの電源いろいろ
Anker Nano II 30W
低ノイズのGaN電源。通常のGaN電源のような、付帯音の影響と思われるギラッとした感じが控えめ。それでもGaN独特のシャッキリとした音がします。
ダイソー AC充電器(自動判別機能付、USBポート2口、合計最大3.4
なめらかで落ち着いたピラミッド・バランスで聴きやすい。音の傾向からして定位感が緩くなりそうなものですが、その点でも良好。
AC充電器(自動判別機能付、USBポート2口、合計最大3.4
ZENDURE SuperMini
USB-Cポートからバッテリーを充電しつつUSB-Aから給電出来るパススルー充電に対応したモバイル・バッテリー。音の切れ、ふわりと広がる定位感、安定感のある低域と個人的にはこれがいちばん好みでした。
いずれの電源も悪くないので好み次第で使い道がありそう。
2022年4月12日のメモ
MPDのPipeWire plug-in
MPD -> PipeWireで音を出すのに苦労したのでメモ。
- Raspberry Pi OSのapt installで入るMPDはPipeWire非対応、PipeWireをインストールした後自分でMPDをbuildすること
- PipeWireをupgradeした時は一度confファイル類を全削除、テンプレートからコピーすること
- mpd、pipewire共にsystemctl enable --userコマンドでユーザーpiとして実行すること
MacでのLLVMを使ったRaspberry Pi 64bit kernel cross-compile
下記のページによると、基本的にはLLVMをインストールして
が実行出来れば良い。
Clang / LLVMのインストール
下記の手順に沿って実行。特に問題は起きませんでした。
OpenSSLのインストール
$ brew install openssl
大文字と小文字を区別出来るFATのストレージを用意する
MacのOSがインストールされているストレージは大文字と小文字を区別しない仕様でフォーマットされているとのこと…。そのままだとkernelのヘッダなど同じファイル名で大文字と小文字の区別があるものが消えてしまう。
外部ストレージのFATをどうするか迷ったけれど、ジャーナリングを無効にしたHFS+を試してみたところラズパイで問題なくマウント出来た。
byteswap.hとelf.hを/usr/local/includeにコピー
2つのファイルをダウンロードし、/usr/local/includeにコピーする。byteswap.hは最後の2行をコメントアウトすること。
scripts/mod/file2alias.cにpatch適用
Macでのbuildではscripts/mod/file2alias.cのコンパイルでerrorが出るので下記のpatchを適用する。
Kernelのビルド
$ make LLVM=1 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig
$ make LLVM=1 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig
した後
で基本は良いんだけど、最適化オプションを付けたいのでmakeのコマンドは最終的に下記のようになりました。
$ make LLVM=1 ARCH=arm64 \
CROSS_COMPILE=aarch64-linux-gnu- \
KCFLAGS="-O3 -mcpu=cortex-a72+fp+simd+crc" \
HOSTCFLAGS="-O3" \
Image modules dtbs
AppArmorのコンパイルでerrorが出るけれどこれに関しては現状解決策が分からなかった。自宅でオーディオ用途に使うだけなのでAppArmorは無効にして対処しました。
2022年5月28日追記:
インストール
Linuxでマウント出来るストレージで作業しているはずなので
$ mkdir /mnt/usb
$ mount /dev/sdb2 /mnt/usb/root
$ cd /mnt/usb/root/path/to/src
などとすれば後はmake install、make modules_installで普通にインストール出来る。