ようこそゲストさん

Kerosoft : Modus Operandi

2010/07/28(Wed) Linuxカーネルコンパイル方法

はてブ情報 はてブに登録 はてブ数 2010/07/28 13:02 Software::Linux
最近カーネルいじり(モジュール開発)をよくやってるので、再々カーネルコンパイルするわけですが、時間が空くと忘れかけるのでメモ。
install系以外はrootで作業しない方が良い。
  1. 適当な所で、
    tar jxf linux-2.6.xxx.xxx.tar.bz2

  2. cd linux-2.6.xxx.xxx
  3. 設定項目の全てを初期化。
    make mrproper
    configを消さない場合はmake cleanでよい
  4. 現在のconfigを引き継ぐ。
    cp /boot/config-2.6.yyy.yyy .config
  5. 上でコピーしたベースのconfigファイルから、現在のカーネルで増えたモジュールのコンパイルオプションを変更
    make oldconfig
    ncursesやXとqtを入れていれば以下のようなツリー構造で編集するタイプのものも使用可能
    make menuconfig(CUIツリー構造編集)
    make xconfig(X上でのツリー構造編集)
  6. カーネルコアのコンパイル
    make -j2 bzImage
    (-jには並列コンパイルするプロセス数を指定。論理CPU数にすると良い)
  7. カーネルモジュールのコンパイル
    make -j2 modules
  8. カーネルモジュールを最初にインストール
    sudo make modules_install
    要root権限。/lib/modules/2.6.xxx.xxx/以下にコピーされる。
  9. カーネルコアのインストール
    sudo make install
    要root権限。/boot/vmlinuz,initramfs,System.map,config-2.6.xxx.xxxなど。
  10. (必要に応じて)grubメニューの編集
    vim /boot/grub/menu.conf
    注意として、hiddenmenuを消すかCtrlを押してないと、timeout値にかかわらず選択メニューが出ない。
参考になった記事や興味深かった記事は、他の人も見つけやすいようにリンクはてブしていただけると助かります…。 コメントも歓迎です。

名前:  非公開コメント   

  • TB-URL  http://mo.kerosoft.com/0162/tb/