
TurboLinux10Desktopでカーネルの再構築を実行してみました。
結論から言うと、
kernel (hd0,0)/vmlinuz_usb root=0303
Error 13 :Invalid or unsupported executable format
というエラーが出て起動できませんでした。
このエラーが出そうな要因を教えてください。
インストール時のgrub.confには、
title turbolinux
kernel (hd0,0)/vmlinuz root=0303
initrd (hd0,0)/initrd
と書かれており、
これに従って、
title turbolinux_usb
kernel (hd0,0)/vmlinuz_usb root=0303
initrd (hd0,0)/initrd_usb
と記述しました。
vmlinuz_usb、initrd_usbは、
日付から見て今回の再構築の過程でできたであろうファイルへのシンボリックリンクです。
grub.confに書かれたもともとのvmlinuz、initrdのリンク先を見て作りました。
再構築時のパラメータの設定はmake xconfigで行い、USB関連の1項目にチェックを入れただけです。
その後のmakeのコマンドは、
http://www.atmarkit.co.jp/flinux/rensai/linuxtip …
を参考にしました。
今回のエラーは、単純に「今回のxconfigによるパラメータではOSは起動できない」という意味なのでしょうか?
make dep ~ make installの間、特にエラーは出ませんでしたが。
make xconfigを開いた時に既に多くのパラメータが設定済みに見えたので、
参考サイトにあるようにxconfigの前に./SetupKernelSource.sh i386を実行しなかったのですが、
これがまずかったのでしょうか?
今回の再構築の手順は以下の通りです。
cd /usr/src/linux
make xconfig
→設定後保存し、.configができた
make dep
make clean
make bzImage
make modules
make modules_install
make install
→/usr/src/linuxにvmlinuxができた
cp vmlinux /boot
/bootを見ると、
initrd-2.6.0.img、System.mapが今日の日付になっていた
ln -fs vmlinux vmlinuz_usb
ln -fs initrd-2.6.0.img initrd_usb
前述したようにgrub.confを書き換えて再起動→Error13
この再構築手順で間違った部分があればそれも教えてください。

No.2ベストアンサー
- 回答日時:
カーネルの再構築では起動できなくなる場合が多々あるので
旧カーネルイメージで起動できるようにしておく必要があります。
kernel-2.6系ならば、
# make xconfig
# make bzImage && make modules && make modules_install
現在のイメージを保存する
# cp -i /boot/vmlinuz /boot/vmlinuz.old
# cp -i /boot/System.map /boot/System.map.old
新しいカーネルを配置
# cp -i arch/i386/boot/bzImage /boot/vmlinuz
# cp -i System.map /boot/System.map
とし、vmlinuz と vmlinuz.old で起動するエントリを grub.conf に記述する。
cpの行の部分はmake installで同じことを行っていますが、
何回か再構築を繰り返すと起動できないイメージをvmlinuz.oldにコピーしてしまう可能性があります。
新しいカーネルを vmlinuz にコピーしたあとvmlinuz_usb にリンクして、
vmlinuzとvmlinuz_usbを記述する意味が全くわかりません。
どちらも同じものが起動するのではないでしょうか???
/usr/src/linux/vmlinux については、
/usr/src/linux/REAMDE を読んでください。
この回答への補足
System.mapも必要なんですね、これは上書きされてしまいました。
たまたま今回は起動したから助かりましたが、以降気をつけます。
>vmlinuzとvmlinuz_usbを記述する意味が全くわかりません。
申し訳ありません、記述ミスです。
実際に行った操作は、
make install
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz_sisaku
cd /boot
ln -fs vmlinuz_sisaku vmlinuz_usb
ln -fs initrd-2.6.0.img initrd_usb
で、bzImageは/bootのvmlinuzに上書きしていません。
ls -l で見ると、
vmlinuz -> vmlinuz-2.6.0
vmlinuz_usb -> vmlinuz_sisaku
と表示されます。
この後grub.confを修正しました。
インストール時に書かれていた(=起動することが確認されている)
title turbolinux
kernel (hd0,0)/vmlinuz root=0303
initrd (hd0,0)/initrd
の下に、今回作ったモノ(カーネル?)を、
title turbolinux_usb
kernel (hd0,0)/vmlinuz_usb root=0303
initrd (hd0,0)/initrd_usb
と追記しました。
ln -fs~、でリンクを張る意味はいまいちわからないのですが、
そういうものなんだろう、程度の意識で行いました。

No.1
- 回答日時:
起動するカーネルイメージが違うのでしょう。
make bzImage で作成されるカーネルイメージは、
/usr/src/linux/arch/i386/boot/bzImage
にできているはずので、
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz
とするか、
# make install
を実行したのならば、すでに /boot/vmlinuz にコピーされていると思います。
make -n install でインストール先を確認してみてください
あとは、/dev/hda1 は /boot にマウントされているのでしょうか?
/dev/hda1 が / にマウントされている場合は、
grub.conf は、
kernel (hd0,0)/boot/vmlinuz_usb
になると思います。
回答ありがとうございます。
起動しました!
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz後、
vmlinuzへリンクを張り、それをgrub.confに書き込んだところ、起動しました。
いじった箇所はほんの一部なので変化はわかりませんが。
make -n installの意味はわかりませんでした。
man make で調べたところ「make を実行せずに内容を表示」などと書かれており、
実行したら色々表示されていましたが、多すぎて何がなんだか…。
/usr/src/linuxにてmake install後、
同ディレクトリにできたvmlinuxを使って起動できなかったのですが、
これは全く関係ないのでしょうか?
再構築の手順としては、
cd /usr/src/linux
make xconfig → .config作成
make dep
make clean
make bzImage
make modules
make modules_install
make install
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz
cd /boot
ln -fs vmlinuz vmlinuz_usb
ln -fs initrd-2.6.0.img initrd_usb
grub.conf修正、でOKということでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SolarisとLinuxの違い
-
LinuxのDMA転送でのメモリ操作...
-
XPが再起動ばかりを繰り返します
-
romfsってなんですか?
-
パフォーマンスモニタの%Proces...
-
CentOS6 の画面サイズの設定
-
エラー”Illegal seek”はどんな...
-
*長文となっております、予めご...
-
ラズパイ3bのgpuを使いたいので...
-
kernel 2.4.XX.ELsmp のELって?
-
ubuntu 初期化について
-
パソコンでゲームをプレイしよ...
-
Ubuntu on Xorgのログインについて
-
2003server評価版でHDを認識し...
-
Windows から Linux へ複数人が...
-
1枚でも「1枚”組”」なのですか?
-
メールソフトBecky!について
-
configure error
-
PUTTYでログインしたコンソール...
-
Canonのインクジェットプリンタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SolarisとLinuxの違い
-
パフォーマンスモニタの%Proces...
-
/dev/nvme0n1p2 clean と表示さ...
-
モジュールの場所を確認できま...
-
Linuxって何?
-
カーネルアップグレード後、una...
-
アップデートをかけたら、ブー...
-
カーネル更新
-
pppoe
-
カーネルの再構築について
-
LINUXはどうして普及したのでし...
-
重厚長大なOSは必要か。
-
「モジュールの場所を確認でき...
-
基本ソフトと応用ソフトの仕事...
-
XPが再起動ばかりを繰り返します
-
最近、よくOpenWall という言葉...
-
RHL7.2でカーネルの再構築
-
Linuxカーネルは誰が動かしてい...
-
*長文となっております、予めご...
-
boot領域のlvmについて
おすすめ情報