CentOSカーネルのコンパイルとインストールの簡単な例の共有
一番上はユーザー(またはアプリケーション)スペースです。これはユーザーアプリケーションが実行する場所です。ユーザースペースの下にはカーネルスペースがあり、Linuxカーネルはここにあります。
GNU C Library(glibc)もここにあります。カーネルを接続するシステム呼び出しインタフェースを提供し、ユーザー空間アプリケーションとカーネルの間で変換するメカニズムも提供します。カーネルとユーザ空間のアプリケーションは、異なる保護アドレス空間を使用しているため、この点は非常に重要です。各ユーザ空間のプロセスは独自の仮想アドレス空間を使用し、カーネルは個別のアドレス空間を占有します。Linuxカーネルはさらに3層に分けることができる。一番上はシステム呼び出しインタフェースで、readやwriteなどの基本的な機能を実現しています。システム呼び出しインタフェースの下にはカーネルコードがあり、アーキテクチャから独立したカーネルコードとしてより正確に定義できます。これらのコードはLinuxがサポートするすべてのプロセッサアーキテクチャに共通しています。これらのコードの下にはアーキテクチャに依存するコードがあり、通常BSP(Board Support Package)と呼ばれる部分を構成している。これらのコードは、所与のアーキテクチャのプロセッサおよびプラットフォーム固有のコードとして使用されます。
Linuxカーネルは多くの重要なアーキテクチャ属性を実現しています。カーネルは、高い階層または低い階層で複数のサブシステムに分割されます。Linuxは、これらの基本的なサービスをすべてカーネルに統合するため、全体と見なすこともできます。これは、マイクロカーネルのアーキテクチャとは異なり、通信、I/O、メモリ、プロセス管理などの基本的なサービスを提供し、より具体的なサービスはマイクロカーネル層に挿入されます。カーネルのダウンロード
コードのコピーコードのコピー
cd /usr/src
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.13.7.tar.xz
xz -d linux-*.tar.xz
tar xf linux-*.tar
cd linux-3.13.7
ソースツリーと.config
make mrproper
この時、あなたは間違っているかもしれませんが、次のようにヒントを与えます。
#centos
yum install ncurses-devel -y
#ubuntu
apt-get install ncurses-dev
コードのコピー
make menuconfig#は少なくともネットカード、ファイルシステムとサウンドカード駆動を選択し、構成説明は下の付録を参照してください。
#2.6以前のバージョンはですが、現在のカーネルにはmake depは必要ありません。
make dep
make bzlmage