Gentoo Linuxでインストールされている全てのカーネルのInitramfsを生成する

2022/08/14

新型コロナに感染して陽性になって、家にいて暇なのでGentoo Linuxに再チャレンジしてみている。

Chromeでタブを40個ほど開いてソースコードやらGentoo WikiやらとにらめっこしながらMisskeyで山Dに質問しまくっている。(本当に申し訳ない)

Chrome

そんな中でこのブログの開設のきっかけにもなった切腹倶楽部でGentoo Linuxのebuildの入門記事が公開されており、しかも先日俺があまりにもわからなさすぎたのかいろいろと更新してくれたらしい。

中2くらいでArch Linuxを初めて触った頃にも同じ感じだった気がする...成長がまったくない。

本題

んで本題はGentoo LinuxのInitramfsの更新が面倒だということ。dracutコマンドで更新するのだが、新しくカーネルをインストールしたあとだとdracut /boot/hoge.img 5.15.xxみたいな感じで指定しないといけないので非常に面倒だった。

dracutは全く詳しくないので、何か便利にやってくれるオプションがあるのかもしれないがmanページを見るのも面倒だったので即席でラッパースクリプトを作ってしまった。

/boot以下と/lib/modules以下を調べて、カーネル本体とモジュールディレクトリの療法が存在していたらInitramfsを生成してくれる。

こういう短いラッパースクリプトでこそシェルスクリプトの真価を発揮できるなぁと思いました🍊