linuxカーネルを設定したりする📓
この記事を書いた動機 最近linuxのカーネルパラメータとか、コンフィグをいじる機会があったって、どうやっていじるんだっけとなったので、メモを残そうということになった。 いつものように、基本は自分のために書いてるというのもあって、他人が見るためのコンテンツとしてはクオリティは終わってるので、そこは承知ください。。。。 環境 ここには、簡易的にどんな環境でやることについて書いているか、記録してみる。 arch linux linux kernel version: 6.9.7 UEFIに対応したハードウェア環境 grub をブートローダーとして使っている x86 系列の 64 bit CPU (Intel の core i シリーズとか、ryzenとか、、、) カーネルをビルドする 今使っているlinuxのバージョンを確認 uname -r 6.9.7 作業用のフォルダを作成 いろいろ、コンフィグだのカーネル本体だのをいじくりまわして散らかるので、一つのフォルダにそれらをまとめる。 mkdir ~/kernel cd ~/kernel linux をダウンロード linux archivesから、自分の使っているlinuxのバージョンに合った、linux をダウンロードしてくる。私の場合は、以下のように、リンクを改変することで、バージョンを合わせた。 改変前 https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.11.7.tar.xz 改変後 https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.9.7.tar.xz linuxのダウンロードには、ブラウザから直接ダウンロードボタンを押したり、リンクを踏むことでできたり、gitが使えたりする。いろいろあるが、めんどくさかったので、wgetコマンドを使った。 wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.9.7.tar.xz ダウンロードしたカーネルを展開する tarコマンドで以下のようにして、適当に中身を展開する。 tar xfv linux-6.9.7.tar.xz cd linux-6.9.7 # オプションのヒント # x: extract (抽出) # f: file (展開するファイルを指定する) # v: verbose (途中経過の表示ができる) カーネル設定ファイルをコピー linuxでは、何も設定がないところからスタートする場合は、たぶん自分で以下のようにして、一つ一つコンフィグを設定していくっぽいが、そんなことを一からしていたら日が暮れてしまうので、今動いているカーネルの設定を使いまわす。 make menuconfig ... # 何かしらのメニューがしばらくすると表示され、圧倒的な量の設定項目があることに圧倒されるまでがセット。。。 linuxカーネルのバージョンを合わせたのは、バージョンがあっていないと、新たにカーネルの設定が追加されていたりして、その設定をするのが面倒だし、それで動かなかったらさらに面倒だからである。arch linuxの場合だと以下のようにして、設定をコピーできる。 ...