2011年04月06日
Linux Kernelの取得(2)
前回からの続きです。
1. カーネルの取得
2. ファイルの解凍
3. .configの作成
4. コンパイル
5. grub.confの編集
4. コンパイル
3までの処理で.configが出来上がったので、kernelをコンパイルします。
下記4つのコマンドを順番に実行します。
# make
# make modules
# make modules_install
# make install
makeはソースファイルのコンパイルです(一番時間がかかります)。
make modulesはモジュールを作成します。
make module_installで作成したモジュールをインストールし、
最後にmake installで作成したkernel imageファイルなどを/bootに移動します。
5. grub.confの編集
次回から作成したkernelで起動するために/boot/grub/grub.confを編集します。
下記のようにmake installした後は作成したkernelが一番先頭に挿入されます。
このままだとdefault=1であるため、次回起動時には
2.6.35.11-83.fc14.x86_64が自動的に選択されます。
default=0に変更する事で作成した2.6.39-rc1が選択されることになります。
# 起動時にカーソルで選択してもよいのですが、あらかじめ編集しておいたほうが
うっかり違うkerelで起動することが防げます。
次回はこれらの作業を自動化する方法について紹介したいと思います。
Linux Kernelの取得(1)へ戻る
1. カーネルの取得
2. ファイルの解凍
3. .configの作成
4. コンパイル
5. grub.confの編集
4. コンパイル
3までの処理で.configが出来上がったので、kernelをコンパイルします。
下記4つのコマンドを順番に実行します。
# make
# make modules
# make modules_install
# make install
makeはソースファイルのコンパイルです(一番時間がかかります)。
make modulesはモジュールを作成します。
make module_installで作成したモジュールをインストールし、
最後にmake installで作成したkernel imageファイルなどを/bootに移動します。
5. grub.confの編集
次回から作成したkernelで起動するために/boot/grub/grub.confを編集します。
下記のようにmake installした後は作成したkernelが一番先頭に挿入されます。
このままだとdefault=1であるため、次回起動時には
2.6.35.11-83.fc14.x86_64が自動的に選択されます。
default=0に変更する事で作成した2.6.39-rc1が選択されることになります。
# 起動時にカーソルで選択してもよいのですが、あらかじめ編集しておいたほうが
うっかり違うkerelで起動することが防げます。
[root@localhost LATEST]# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,0)
# kernel /boot/vmlinuz-version ro root=/dev/sda1
# initrd /boot/initrd-[generic-]version.img
#boot=/dev/sda
default=1
timeout=3
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.39-rc1)
root (hd0,0)
kernel /boot/vmlinuz-2.6.39-rc1 ro root=UUID=e86f9902-facc-479c-b6d6-e36ea4565151 rd_NO_LUKS rd_
NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYTABLE=jp106 rhgb quiet
initrd /boot/initramfs-2.6.39-rc1.img
title Fedora (2.6.35.11-83.fc14.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.35.11-83.fc14.x86_64 ro root=UUID=e86f9902-facc-479c-b6d6-e36ea4565151 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYTABLE=jp106 rhgb quiet
initrd /boot/initramfs-2.6.35.11-83.fc14.x86_64.img
title Fedora (2.6.35.10-74.fc14.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.35.10-74.fc14.x86_64 ro root=UUID=e86f9902-facc-479c-b6d6-e36ea4565151 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYTABLE=jp106 rhgb quiet
initrd /boot/initramfs-2.6.35.10-74.fc14.x86_64.img
次回はこれらの作業を自動化する方法について紹介したいと思います。
Linux Kernelの取得(1)へ戻る
【Linuxの最新記事】
この記事へのコメント