Qbilinux 日記

Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

linux kernel 5.9 用の utf8 漢字コンソール対応パッチ (cjktty patch)

linux のコンソール画面で utf8 の日本語を表示するために,これまで gentoo あたりでメンテされているパッチ (https://github.com/Gentoo-zh/linux-cjktty) を使っていましたが,最近の kernel では reject が出るようになっていますね.

どうやら kernel からソフトウエアのスクロールバック機能がドロップされて,その影響みたい.

最新カーネルだけではなくってそのパッチが LTS にも適用されているようなので,5.4 系でも最近の kernel では reject が出るようです.

で,仕方ないなと思ってソースコードをざっとチェック.

drivers/video/fbdev/core/fbcon.c 中にあったソフトウエアのスクロールバック機能がごっそりなくなっているだけで,それ以外はあんまり変わっていない雰囲気.fbcon_update_softback / fbcon_redraw_softback / fbcon_softback_note / fbcon_scrolldelta 関数なんかがが削除されて,関連記述に変更が入っている感じか.

そのあたりに適用している箇所だけを削除すればよさそうなのでざっと作業.そんでもってコンパイル.

コンパイルしてるときに,ほかに作業している人がいないのかなぁとちょっと検索したら色々出てきた.

5.9 用のパッチを作られている方もいらっしゃったようなので,その中身を見てみましたが,手元で作業したのと同じ方法で修正している感じですね.コンパイル途中でしたが,手元でデバッグするのも面倒かなぁということで,その方のパッチをもらってくることにしました.gentoo からブランチして修正したって書いているので,権利関係も問題ないかなぁと.

でも,個人的にはそのままでは使えないので,これまで使っていたのと同じ形に修正してコンパイル & 差し替えて動作チェック.

数分触ったくらいだけど,問題なく動作している雰囲気だね.

f:id:toshi-mtk:20201108150354j:plain

ということで,作成したパッチ,コンパイル環境一式を https://github.com/qbilinux/qbilinux/tree/experimental/experimental/kernel59 以下においておきました.

github.com

個人的に作成している Qbilinux ってディストリビューション用のビルドファイルになっているのでご注意を.現状では experimental branch 以下に置いてありますが,そのうち master brnach の方にマージします.

とりあえず,気分転換に久しぶりにカーネルソースをいじってみた話(?),linux kernel 5.9 用の utf8 漢字コンソール対応パッチをいじってみた話でした.