※現在は解消されているようです。linux-image-5.10.0-24-amd64でパッチ適用なしで起動する事を確認しています。(これより前のバージョンで解消している可能性があります)
hp社が販売したシンクライアントです。今となっては古い機器ですが、消費電力が10Wを切る省電力性を備えており、オークションサイトなどで安価に入手できます。私も秋葉原のジャンク屋で2000円未満で購入しましたが、その後パッとする用途もなくタンスの肥やしとなっていました。一応、HDDを搭載する事ができるのですが専用スロットの為アダプターなどの入手が難しく、また仮に入手したとしてもHDDそのものの入手性があまりよくありません。この機種はカバーを外した所にUSBの隠しポートが用意されており、私はUSBメモリをメインストレージとして利用しています。
今回VPNボックスを構築するにあたって使えないか検証していました。
手順に従ってインストール用のUSBを作成し、起動します。キーボードやロケールの設定までは問題ないのですが、その後画面が固まってしまいます。Ctrl+Alt+F3なども反応しません。シリアルコンソールなどで確認するとkernel panicていました。
このpanicはインストーラーの起動時に下記のオプションを加える事でこのkernel panicは回避できます。
しかしインストールの全ての行程が完了して再起動を実行するタイミングでpanicを引き起こしてしまいます。
その後電源を強制リセットするとOSは問題なく起動しました。これで大丈夫かなとおもいきや、先程同様にrebootやshutdownの時にpanicしてしまいました。オプションにacpi=offなどを加えてもこの症状は改善しません。
下記はpanic時のメッセージの一例です。
調査の結果VIAのCPUの実装が怪しい事による物のようです。これを修正するにはkernelにパッチ当てをする必要があります。ここではその手順を紹介します。
Kernel再構築はそれなりの時間がかかります。t5570は非力な為別のマシンを用意する事をオススメします。今回はVMwareの仮想マシンを用意しました。今回用意した仮想マシンの設定です。
この仮想マシンにdebian11を最小構成でインストールしておきます。
# apt update # apt install build-essential libncurses-dev fakeroot linux-source libssl-dev bison flex rsync libelf-dev
現在利用可能なバージョンなどを念の為確認しておきましょう。
# apt search ^linux-source Sorting... Done Full Text Search... Done linux-source/stable,now 5.10.46-4 all Linux kernel source (meta-package) linux-source-5.10/stable,now 5.10.46-4 all Linux kernel source for version 5.10 with Debian patches
apt経由でソースを入手できます。
# apt install linux-source-5.10
ソースは/usr/srcに配置されます。
# cd /usr/local/src # tar xf /usr/src/linux-source-5.10.tar.xz # mv linux-source-5.10 linux-source-5.10-via-custom # cd linux-source-5.10-via-custom # xzcat /usr/src/linux-config-5.10/config.amd64_none_amd64.xz > .config
設定ファイルを編集します。
# vi .config
今回下記を確認してください。
CPUの問題を修正するパッチを当てます。
# wget -O via_cpu.patch https://note.nogisawa.net/files/2021/0826_t5570/_F/via_cpu.patch # patch -p0 < via_cpu.patch
# make oldconfig (いくつか対話で聞かれるので全部Enter)
# time make deb-pkg -j 8 LOCALVERSION=-via-custom real 36m47.844s user 168m7.911s sys 15m37.244s
手元の環境では40分弱ほどかかりました。
コンパイルが完了すると/usr/local/srcにdebパッケージが生成されています。そのうち下記の3つをdpkgでインストールしましょう。
# dpkg -i linux-headers-5.10.46-via-custom_5.10.46-via-custom-1_amd64.deb \ linux-image-5.10.46-via-custom_5.10.46-via-custom-1_amd64.deb \ linux-libc-dev_5.10.46-via-custom-1_amd64.deb
インストールが完了したらgrubのアップデートを実行して次回から新しいKernelが起動するようにします。
# update-grub
また、インストール時に指定していたnolapicはもう外しても大丈夫です。
BTF: .tmp_vmlinux.btf: pahole (pahole) is not available Failed to generate BTF for vmlinux Try to disable CONFIG_DEBUG_INFO_BTF make[3]: *** [Makefile:1167: vmlinux] Error 1 make[2]: *** [debian/rules:7: build-arch] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 make[1]: *** [scripts/Makefile.package:77: deb-pkg] Error 2 make: *** [Makefile:1573: deb-pkg] Error 2