« 12月18日のMDN翻訳ミートアップ | トップページ | tuxonice を Linux kernel 5.14 に合わせようとする試み »

2022年1月 5日 (水)

tuxonice を kernel 4.19 より上のバージョンに対応させるための手順を考える

(コマンドラインは、記憶で書いている部分もあるので、間違いが含まている可能性あり。)

Debian のカーネルは、stable が 5.10, Backports が 5.14。

Nigelのリポジトリには、tuxonice-5.14 というブランチがあるが、tuxonice-5.10 はない。

というわけで、まず目標とするカーネルバージョンは 5.14。

手元のリポジトリに、 tuxonice-5.14 と upstream-head  の各ブランチを持ってくる。

git clone -b tuxonice-5.14 https://gitlab.com/nigelcunningham/tuxonice-kernel.git

git checkout -b upstream-head origin/upstream-head

ブランチ upstream-head と、ブランチ tuxonice-5.14 の、それぞれの HEAD を git diff すると、それらしいパッチが取れた。

git diff d5eeab8d7e269e8cfc53b915bccd7bd30485bcbf HEAD > tuxonice-5.14.diff

(1番めのコミットIDは、

git checkout upstream-head ; git log

で表示される最上行のコミットID。)

しかし、このパッチを、Debian の linux-source-5.14 パッケージから取り出したカーネルソースツリーに当てようとしても、
FAILEDが出たり、パッチ先のファイルがないと言われたり(arch/unicore32/kernel/hibernate.c)でうまくいかない。

Debian Backports の 5.14 は、現時点で 5.14.9 を基準にしている。

上のトライで、ないと言われた unicore32 というアーキテクチャは、Linux 5.9 でドロップされたらしい。

つまりは、ブランチ tuxonice-5.14 は、Linux 5.9 の内容にも追いついていない古いものだと言える。

ここまでは、現状の理解として、さて、どう対処すれば良いのか。

  1. とりあえず、エディタで tuxonice-5.14.diff を開いて unicore32/ 以下に変更を加えている部分を削除する。 (結果を書くと、この1ファイル以外はパッチ先がないというエラーはなかった)
  2. FAILED で失敗している箇所は、 rej 拡張子を持つファイルにまとめられているので、地道に内容を確認し、修正していく。
  3. すべての rej の処理が済んだら、別ディレクトリに linux-source-5.14 を展開し直し、作業ツリーとの差分を取る。

理論的には、これで Linux 5.14.9用 の tuxoniceパッチが取れるはず。

 

« 12月18日のMDN翻訳ミートアップ | トップページ | tuxonice を Linux kernel 5.14 に合わせようとする試み »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« 12月18日のMDN翻訳ミートアップ | トップページ | tuxonice を Linux kernel 5.14 に合わせようとする試み »

2026年7月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ