banner
ximalaya

ximalaya

这里是openkava 的blog,关注程序开发的一切技术。 ZZ 表示转载的文章,如涉及版权,请和我联系删除。 在这里你可以看到关于以下技术的文章: 移动开发技术,ANDROID ,IOS,WINDOWS PHONE平台开发,企业ERP开发,动态脚本PYTHON ,OPENGL ES 3D技术,游戏开发技术,HTML5 ,JAVASCRIPT ,MYSQL,AMAZON EC2 ,GOOGLE GAE ,GOOGLE CLOUD SQL 等 。 本站发展历程: 2010年,正式把所有的blog移到这里,租用godaddy的空间,记录生活和工作上的一些心得。 下面是关于我的个人介绍,写在这里权当凑字数啦。 职业:软件开发,开发经验6年,管理经验3年; 工作上使用的技术:C#, SQL SERVER 个人使用的技术:PYTHON,PHP, CSS, JAVA ,ANDROID ,object-c 等等 联系我请发邮件:<a href="http://blog.openkava.com/openkava@gmail.png"><img class="alignnone size-full wp-image-96" title="邮箱" src="http://blog.openkava.com/openkava@gmail.png" alt="" width="174" height="24" /></a>

Linuxカーネルのコンパイル

CentOS にファイルをインストールするために、カーネルがサポートされていない場合は、カーネルをコンパイルする必要があります。

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-3.1-rc2.tar.bz2
tar jxvf linux-3.1-rc2.tar.bz2
cd linux-3.1-rc2
make menuconfig # ncurse が必要です apt-get install ncurses-dev
make defconfig oldconfig xconfig

 

 


  1. 準備作業

私は ubuntu10.04 をインストールしていますが、カーネルのコンパイルを完了するためには、以下のパッケージもインストールする必要があります。

apt-get install gcc#

apt-get install make#

apt-get install bzip2#

apt-get install libc6-dev#

apt-get install ncurse-dev#

apt-get install initrd-tools #### mkinitrd コマンドを使用して initrd.img-XXX を生成するために必要です#

initrd-tools をインストールする際に、パッケージが見つからない場合がありますが、これは新しいバージョンの ubuntu や debian が新しいソフトウェアでそれを置き換えたためです。
この場合、mkinitramfs、mkinitramfs-kpkg コマンドが含まれていることを確認してください。
apt-get install kernel-package
2. ソースコードのダウンロード

公式ウェブサイト www.kernel.org から対応するソースコードをダウンロードすることができます(完全版 F をダウンロードすることもできます)、または wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.tar.bz2 コマンドを使用して取得することもできます。
#wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.tar.bz2

#tar xjf linux-2.6.39.tar.bz2 -C /usr/src
3. 設定ファイル

自分のマシンのハードウェアに応じて、カーネルのコンパイル設定オプションを選択します。ここではデフォルトの設定を使用しています(make menuconfig を実行して直接保存して終了し、.config ファイルを生成します)。具体的な設定は、金步国氏による翻訳資料を参考にしてください:Linux 2.6.19.x カーネルのコンパイル設定オプション、参考 URL:http://lamp.linux.gov.cn/Linux/kernel_options.html

#cd /usr/src/linux-2.6.39

#make menuconfig

 

  1. カーネルのコンパイル

#make clean #### 初回のコンパイルでは省略できます

#make mrproper #### 初回のコンパイルでは省略できます

#make

 

  1. モジュールのコンパイルとインストール

#make modules

make modules_install#

 

  1. カーネルイメージの生成
    #makinitramfs -o /boot/initrd-2.6.39.img/lib/modules/2.6.39 ## 起動、モジュールのロード

cp arch/i386/boot/bzImage/boot/vmlinuz-2.6.39 ## 起動可能な、圧縮されたカーネル#

cp System.map/boot/System.map-2.6.39 ## カーネルインデックス#

cp .config/boot/config-2.6.39 # カーネル設定ファイル#

  1. 起動項目の設定
    起動項目は /boot/grub/grub.cfg ファイルであり、このファイルを変更する必要があります。具体的な手順は以下の通りです:

まず、以下の内容をコピーします。
menuentry 'Ubuntu, with Linux 2.6.32-32-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,4)'
search --no-floppy --fs-uuid --set 8450af8f-090b-4eae-a123-6f1e3604fa9e
linux /boot/vmlinuz-2.6.32-32-generic root=UUID=8450af8f-090b-4eae-a123-6f1e3604fa9e ro quiet splash
initrd /boot/initrd.img-2.6.32-32-generic
}

次に、上記の内容を適切に変更します(赤い部分)。
menuentry 'Ubuntu_Test, with Linux 2.6.39' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,4)'
search --no-floppy --fs-uuid --set 8450af8f-090b-4eae-a123-6f1e3604fa9e
linux /boot/vmlinuz-2.6.39 root=UUID=8450af8f-090b-4eae-a123-6f1e3604fa9e ro quiet splash
initrd /boot/initrd.img-2.6.39
}
grub-mkconfig update-grub

  1. テスト
    再起動し、Ubuntu_Test, with Linux 2.6.39 を選択して ubuntu システムに入り、最後に uname -a コマンドでシステムのカーネル情報を確認します。

結果はまだうまくいきませんでした。これは一般の人が遊ぶものではないようです。Linux システムをアップグレードするしかありません。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。