▼ 2010/07/28(Wed) Linuxカーネルコンパイル方法
最近カーネルいじり(モジュール開発)をよくやってるので、再々カーネルコンパイルするわけですが、時間が空くと忘れかけるのでメモ。
install系以外はrootで作業しない方が良い。
install系以外はrootで作業しない方が良い。
- 適当な所で、
tar jxf linux-2.6.xxx.xxx.tar.bz2
cd linux-2.6.xxx.xxx
- 設定項目の全てを初期化。
make mrproper
configを消さない場合はmake cleanでよい
- 現在のconfigを引き継ぐ。
cp /boot/config-2.6.yyy.yyy .config
- 上でコピーしたベースのconfigファイルから、現在のカーネルで増えたモジュールのコンパイルオプションを変更
make oldconfig
ncursesやXとqtを入れていれば以下のようなツリー構造で編集するタイプのものも使用可能
make menuconfig(CUIツリー構造編集) make xconfig(X上でのツリー構造編集)
- カーネルコアのコンパイル
make -j2 bzImage
(-jには並列コンパイルするプロセス数を指定。論理CPU数にすると良い)
- カーネルモジュールのコンパイル
make -j2 modules
- カーネルモジュールを最初にインストール
sudo make modules_install
要root権限。/lib/modules/2.6.xxx.xxx/以下にコピーされる。
- カーネルコアのインストール
sudo make install
要root権限。/boot/vmlinuz,initramfs,System.map,config-2.6.xxx.xxxなど。
- (必要に応じて)grubメニューの編集
vim /boot/grub/menu.conf
注意として、hiddenmenuを消すかCtrlを押してないと、timeout値にかかわらず選択メニューが出ない。
参考になった記事や興味深かった記事は、他の人も見つけやすいようにリンクやはてブしていただけると助かります…。
コメントも歓迎です。
▼ コメント(0件)
- TB-URL http://mo.kerosoft.com/0162/tb/
