Debianでのカーネルの構築とインストール

ここでは、Linuxカーネルのコンパイルだけでなく、カーネルのコンパイルとdebパッケージへのコンパイルについても説明します。 その後、このデボムを友人と共有したり、ガールフレンド/ボーイフレンドに自慢したり、必要に応じて再利用したりできます。



開始するには、パッケージfakeroot、カーネルパッケージ、libncurses5-devをインストールします。

  aptitude install fakeroot kernel-package libncurses5-dev 


すべての依存関係は自動的に強化されます...

次に、 kernel.orgから目的のアーカイブを取得し、/ usr / srcにマージして展開します(たとえば、カーネル2.6.31.4を使用します)。

  $ cd / usr / src
 $ sudo -s
 #wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.4.tar.bz2
 #tar xjf linux-2.6.31.4.tar.bz2
 #if [-d linux];  rm linux;  fi  ln -s linux-2.6.31.4 linux
 #cd linux 


一つのポイントがあります。 インストール済みのシステムに既に動作中のカーネルがあるため、新しいカーネルの構成にすべてのチェックマークを最初から入れたくない場合は、/ bootまたは/ procから既成の構成を取得します。

  #cp / boot / config-$(uname -r).config
 #zcat /proc/config.gz> .config 


その結果、新しいコアの構成の準備ができました。



ここで、特定の目的のためにカーネルを設定するか、新しいモジュールのオプションを追加するか、...つまり、創造性:

  #menuconfigを作成 


ここで、メニューをすぐに終了すると、次のようなものが表示されることに注意してください。

  .config:903:警告:シンボル値 'm'はRFKILL_INPUTに対して無効です
 .config:2920:警告:DRAGONRISE_FFのシンボル値 'm'は無効です
 .config:2937:警告:GREENASIA_FFのシンボル値 'm'は無効です
 .config:2939:警告:THRUSTMASTER_FFのシンボル値 'm'は無効です
 .config:2940:警告:ZEROPLUS_FFのシンボル値 'm'は無効です 


新しいカーネルを構成するときにこれらのオプションを見つけて、何がそうなのかを見るのは理にかなっています

または、 プロンプトが表示されたので、次を使用します:

  #oldconfigを作成 


一致するすべてのオプションに影響を与えず、変更された残りの部分について尋ねる新しいバージョンをコンパイルするには、質問してください。

ちなみに、Xsでの設定に興味がある人は、これを行うことができます。

  #xconfigを作成 


重要! 「ロード可能なモジュールのサポート」で「カーネルモジュールローダー」と言うことを忘れないでください。オプションがあります。

まあ、それだけです。 Pimpochkiがマークされ、ボタンが押され、ウィンドウが閉じ、新しい構成が保存されました。アセンブリに進みましょう。 最初に、次のことを行います。

  #make-kpkg clean 


次のようなものが表示されます。

  exec make kpkg_version = 12.021 -f /usr/share/kernel-package/ruleset/minimal.mk clean
 ======ターゲットをminimal_cleanにする[新しい前提条件:] ======
これはカーネルパッケージバージョン12.021です。
テスト!  -f .config ||  cp -pf .config config.precious
テスト!  -eスタンプ作成||  rm -fスタンプ作成
テスト!  -f Makefile ||  \
            ARCH = i386 distcleanを作成します
 make [1]:ディレクトリ `/usr/src/linux-2.6.31.4に入る '
 クリーンスクリプト/基本
  CLEANスクリプト/ kconfig
 クリーンインクルード/設定
  CLEAN .config .config.old include / linux / autoconf.h
 make [1]:ディレクトリ `/usr/src/linux-2.6.31.4を離れる '
テスト!  -f config.precious ||  mv -f config.precious .config
 rm -fモジュール/ modversions.hモジュール/ ksyms.verスクリプト/ cramfs / cramfsckスクリプト/ cramfs / mkcramfs 


さて、実際には、カーネルを構築しています。

  #fakeroot make-kpkg --initrd --revision = og.091015.00 kernel_image 


og.091015.00-アセンブリのリビジョンのみを意味します(文字数は少なくなりますが、それ以外の場合はアセンブリの最後でエラーが発生し、最初からすべてを繰り返す必要があります)。

前のコマンドが正常に実行された後、このような「紳士のセット」を与えることもできます。

  #fakeroot make-kpkg --initrd --revision = og.091015.00 kernel_headers
 #fakeroot make-kpkg --initrd --revision = og.091015.00 kernel_manual
 #fakeroot make-kpkg --initrd --revision = og.091015.00 kernel_doc
 #fakeroot make-kpkg --initrd --revision = og.091015.00 kernel_source 


その後、次のdebパッケージのセットを取得します。



それらは/ usr / srcにあります。

これらはdpkgを介してのみインストールできます。

  #cd / usr / src
 #dpkg -i ./linux-image-2.6.31.4_og.091015.00_i386.deb 


など

GRUBへの構成は、initrdビルドと同様に自動的に行われる必要があります。

最後のステップ:

  #再起動 



All Articles