Linux実験室
FedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)するFedoraCore1のカーネルを再構築(リコンパイル)する

1.FedoraCore1のカーネルを再構築(リコンパイル)する

カーネルには普段使わない機能も含まれているため余計なメモリーを消費しています
カーネルを再構築して自分の環境にあったカーネルに作り変えてみます

FedoraCore1のカーネルを再構築(リコンパイル)する今回はFedora Core 1のカーネルをベースに再構築するだワン!

カーネルの再構築するために使用したマシン
 ThinkPad i1464

Fedora Core 1のカーネルサイズ:vmlinuz-2.4.22-1.2115.nptl 1252277Bytes

@ カーネル再構築の準備

 コンパイルをするために下記のパッケージが導入されている必要があります
 □ カーネル開発環境
 □ アプリケーション開発環境

A 現状のメモリ状況

 再構築によってどのくらいメモリが開放されるのか確認するために起動直後のメモリを確認します
  $free
  43188KBytes

B カーネルの構成変更

 Fedora Core 1のカーネルディレクトリまで移動します
  #cd /usr/src/linux-2.4
 今回はテキストメニューベースのコンフィグレータを使いました
  #make menuconfig

 メニューから要らない機能を削除します
FedoraCore1のカーネルを再構築(リコンパイル)する今回は下記の部分を削除してみるだワン!赤字部分を空白にするだワン!
 自分のPC環境に合わせて削除しましょう!削除しすぎはカーネルパニックの元です

 ☆Processor type and features
  <M>Toshiba Laptop Support
  <M>Dell laptop Support

 ☆Memory Technology Devices(MTD)
  <M>Memory Technology Device(MTD) Support

 ☆Parallel port support
  <M>Parallel port suport

 ☆Multi-device support (RAID and LVM)
  [*]Multiple devices driver support (RAID and LVM)

 ☆Telephony Support
  <M>Linux telephony support

 ☆SCSI Support
  <M>SCSI Support

 ☆IEEE 1394 (Firewire) support (EXPERIMENTAL)
  <M>IEEE 1394 (Firewire) support

 ☆I2O Device support
  <M>I2O support

 ☆Amateur Radio support
  [*]Amateur Radio support

 ☆IrDA (infrared) support
  <M>IrDA subsystem support

 ☆ISDN subsystem
  <M>ISDN support
  [*]Load all symbols for debugging/kksymoops

 ☆Multimedia devices
  <M>Video For Linux

 ☆Bluetooth support
  <M>Bluetooth subsystem support

C Makefileの編集

 MakefileのEXTRAVERSIONを変更します
 今回は「-1.2test」に変更することにします

D カーネルの再構築

  #make dep
  #make clean
  #make -j2 bzImage
  #make modules
  #make modules_install

E カーネルとシステムマップをコピー

  #cp -p arch/i386/boot/bzImage /boot/vmlinuz-2.4.22-1.2test
  #cp -p System.map /boot/System.map-2.4.22-1.2test

F initrdの再構築

  #cd /boot
  #mkinitrd initrd-2.4.22-1.2test.img 2.4.22-1.2test

G grubへ新しいカーネルメニューを登録

  #vi /etc/grub.conf
 下記の4行を追記します

 title Fedora Core (2.4.22-1.2test)
     root (hd0,0) ← ここは環境によって変わります
     kernel /vmlinuz-2.4.22-1.2test ro root=LABEL=/
     initrd /initrd-2.4.22-1.2test.img

H 新しいカーネルで起動

 リブートをして「Fedora Core (2.4.22-1.2test)」を選択し起動する

I 新規カーネルで起動後のメモリ状況確認

  #free
  43136KBytes

 新規カーネルのサイズ:vmlinuz-2.4.22-1.2test 1015268Bytes

FedoraCore1のカーネルを再構築(リコンパイル)するこれ以外にも要らないデバイスドライバーモジュールをコンパイルしないようにするとかPCMCIAはないので削除するとかカーネルの再構築の余地がまだまだあるだワン!

J 最後に

今回の構成だとmodprobeのエラーが出ます。使用している環境によっては何らかの影響があるかもしれませんが今回の環境では特に問題ありませんでした
また、メモリを節約するには「*」の項目を削除したほうが効果があります。「M」はもともとカーネルの外に出るのであまり意味がありません。
いろいろ挑戦して自分の環境にあったカーネルを構築してみてください

FedoraCore1のカーネルを再構築(リコンパイル)する健闘を祈るだワン!


戻る
FedoraCore1のカーネルを再構築(リコンパイル)する