[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 2.4.20 is huge!



On Sat, 12 Apr 2003 20:26:25 -0400
Emma Jane Hogbin <emmajane@xtrinsic.com> wrote:

> Also, at some point today I found a web site that
> explained what each of: bzImage, .config, System.map (etc) were. Does
> anyone know which site I may have been looking at? It may have been a
> wiki, but I can't remember now. All I'm finding in google now is old
> mailing list posts with problems concerning these files.

I don't know about web sites, but here it is.

/usr/src/linux/vmlinux is the kernel, uncompressed.

/usr/src/linux/System.map is the kernel symbol table, a hex table of
contents to the kernel.

/usr/src/linux/arch/i386/boot/compressed/bvmlinux.out is the kernel with
symbols, comments, and notes stripped out, and the result gzipped. (NOT
bzip2'd!)

/usr/src/linux/arch/i386/boot/bzImage consists of the following three files:
/usr/src/linux/arch/i386/boot/bbootsect.o
/usr/src/linux/arch/i386/boot/bsetup.o
/usr/src/linux/arch/i386/compressed/bvmlinux.out

bbootsect is (surprisingly enough) the boot sector. It's presence is the
reason you can just dd bzImage to a floppy and boot with the floppy.

bsetup handles the footwork of copying the kernel to the right places in
memory and expanding it, then passing control to it.

bvmlinux.out is the actual OS kernel.

I'll cc this to you with an attached slide I made to illustrate this.

Kevin

Attachment: Anatomy of bzImage.png
Description: PNG image


Reply to: