vmLinux、vmlinuz、vmlinux.bin、zimage、bzimageなどのカーネルMakefile用語の違いは何ですか?

vmLinux、vmlinuz、vmlinux.bin、zimage、bzimageなどのカーネルMakefile用語の違いは何ですか?

カーネルのMakefileを探索する際に、これらの用語を見つけました。だから、、、、vmlinux&の違いが何であるかを知りたいvmlinuzです。vmlinux.binzimagebzimage

ベストアンサー1

仮想マシンLinux

これはLinuxカーネルの静的にリンクされた実行可能ファイル形式です。一般的に言えば、このファイルについて心配する必要はありません。これは起動プロセスの中間段階です。

ネイティブvmlinuxファイルはデバッグ目的で役に立ちます。

仮想マシンlinux.bin

vmlinuxと同じですが、起動可能な生のバイナリ形式です。すべてのシンボルおよび再配置情報は削除されます。vmlinuxによって生成されたobjcopy -O binary vmlinux vmlinux.bin

仮想デバイス

vmlinuxファイルは通常使用されます。zlib2.6.30から利用可能LZMAですbzip2。 vmlinuzに起動および解凍機能を追加すると、このイメージを使用してvmlinuxカーネルを含むシステムを起動できます。 vmlinuxの圧縮はzImageまたはbzImageを介して実行できます。

この関数はdecompress_kernel()起動時にvmlinuzの解凍を処理し、次のメッセージが表示されます。

Decompressing Linux... done
Booting the kernel.

ジイメージ( make zImage)

これは小さなカーネル(圧縮、512KB未満)の以前の形式です。起動時に、イメージはサブメモリ(RAMの最初の640 KB)にロードされます。

bz画像( make bzImage)

bzip2カーネルが成長し、より大きな画像(圧縮された512 KB以上)を処理すると、大きなzImage(これには関係ありません)が生成されます。画像は大容量メモリ(1 MB RAM以上)にロードされます。今日のカーネルは512 KBよりはるかに大きいので、通常この方法が好まれます。


Ubuntu 10.10を確認すると、次のようになります。

ls -lh /boot/vmlinuz-$(uname -r)
-rw-r--r-- 1 root root 4.1M 2010-11-24 12:21 /boot/vmlinuz-2.6.35-23-generic

file /boot/vmlinuz-$(uname -r)
/boot/vmlinuz-2.6.35-23-generic: Linux kernel x86 boot executable bzImage, version 2.6.35-23-generic (buildd@rosea, RO-rootFS, root_dev 0x6801, swap_dev 0x4, Normal VGA

おすすめ記事