Rozmiar: 8938 bajtów


Vmlinux



On Linux systems, vmlinux is a statically linked executable file that contains the Linux kernel (computer science) in one of the executable file formats supported by linux, including Executable_and_Linkable_Format, COFF and a.out. The ''vmlinux'' file might be required for kernel debugging, generating symbol table or other operations, but must be made bootable before being used as an operating system kernel by adding a multiboot header, bootsector and setup routines. == Location == Traditionally, the kernel is located in the root directory of the filesystem hierarchy, however, as the bootloader must use BIOS drivers to access the hard disk, limitations on some i386 systems meant only the first Cylinder 1024 cylinders of the hard disk were addressable. To overcome this, linux distributors encouraged users to create a partition at the beginning of their drives specifically for storing bootloader and kernel related files. GRUB and LILO (boot loader) are two common bootloaders. By convention, this partition is mounted on the filesystem hierarchy as /boot. This was later standardised by the Filesystem Hierarchy Standard, or ''FHS'', which now requires the linux kernel image to be located in either / or /boot, although there is no technical restriction enforcing this. See [http://www.pathname.com/fhs/pub/fhs-2.3.html#BOOTSTATICFILESOFTHEBOOTLOADER section 3.5.2 of FHS 2.3] == Compression == When creating a bootable kernel image, the kernel is also compressed using the zlib algorithm, which requires a very small decompression stub to be included in the resulting image. The stub decompresses the kernel code, on some systems printing dots to the console to indicate progress, and then continues the boot process. The decompression routine is a negligible factor in boot time, and prior to the development of the ''bzImage'', the size constraints of some architectures, notably i386, were extremely limiting, making compression a necessity. The filename of the bootable image is not important, but by convention it is called vmlinuz or zImage. == bzImage == As the Linux kernel matured, the size of the kernels generated by users grew beyond the limits imposed by some architectures, where the space available to store the compressed kernel code is limited. The ''bzImage'' (''big zImage'') format was developed to overcome this limitation by cleverly splitting the kernel over discontiguous computer storage regions. The ''bzImage'' format is still compressed using the zlib algorithm. Although, there is the popular misconception that the ''bz-'' prefix means that bzip2 compression is used (the bzip2 package is often distributed with tools prefixed with bz-, such as bzless, bzcat, etc.), this is not the case. == Etymology == Traditionally, UNIX platforms called the kernel image /unix. With the development of Virtual Memory, kernels that supported this feature were given the vm- prefix to differentiate them, the name ''vmlinux'' is a mutation of vmunix. == Executable format == This is the ELF header from an i386 2.6.7 executable kernel image.
$ readelf -h vmlinux
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           Intel 80386
  Version:                           0x1
  Entry point address:               0xc019d000
  Start of program headers:          52 (bytes into file)
  Start of section headers:          3135092 (bytes into file)
  Flags:                             0x0
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         3
  Size of section headers:           40 (bytes)
  Number of section headers:         33
  Section header string table index: 30
== See also == * Linux kernel * Module (Linux) === External Links === * [http://www.faqs.org/docs/Linux-HOWTO/Kernel-HOWTO.html#kernel_files_info Kernel HOWTO] * [http://www.faqs.org/docs/kernel_2_4/lki-1.html Boot process] Linux

Vmlinux



I've tried to destub this article a bit, please revert any mistakes. I didn't think it was nescessary to create seperate articles on vmlinuz, bzImage, zImage, etc, so I removed any links like that, perhaps we should redir them here? -- User:Taviso 02:49, 28 Jan 2005 (UTC) :Nevermind, User:Andrevan took care of it...Thanks!. -- User:Taviso 15:04, 1 Feb 2005 (UTC)


See other meanings of words starting from letter:

V



Words begining with Vmlinux:

Vmlinux
Vmlinux


These materials are based on Wikipedia and licensed under the GNU FDL



YouTube.com videos better site than Turbo Tax 2007
encyklopedia online