落書きノート

ふと自分が気になった事を書いてます

Linuxでのカーネルのコンパイルのやり方

Gentoo Linuxなどをたまにアップデートする時、カーネルコンパイルのやり方を忘れるときが結構あるので、なんとなくメモ。専用コマンド以外は、おおよそ他のLinuxでも通用します。

専用コマンドを使う場合。

> eselect kernel list
> eselect kernel set 2
> sudo genkernel --menuconfig all
コンフィグファイルを使いまわす場合。
> sudo genkernel --kernel-config=/usr/src/kernel-xxx/.config all
make oldconfigに相当するやり方。
> sudo genkernel --oldconfig all
nvidiaを使う場合。再コンパイル。
> sudo emerge x11-drivers/nvidia-drivers
これでも行けそう。多分こっちの方が楽かも。
> sudo emerge @module-rebuild

grub-mkconfigはgenkernelがしてくれるので問題なしです。

手動でのやり方。

> cp /usr/src/linux/.config /usr/src/kernel-xxx/
> sudo rm /usr/src/linux
> ln -s /usr/src/kernel-xxx /usr/src/linux
> cd /usr/src/linux
> make menuconfig
もしくは
> make oldconfig
> make modules_prepare
> make && make modules_install
> sudo make install
initramfsが必要な場合
> sudo genkernel --install initramfs
> sudo emerge @module-rebuild
> sudo grub-mkconfig -o /boot/grub/grub.cfg
> sudo emerge -P gentoo-sources