== The not so secret history of vmlinuz By convention, Linux kernels are called _vmlinuz_ (usually with a version suffix and found in _/boot_, although Debian is in love with a _/vmlinuz_ symlink). This name has an interesting history that probably stretches back to the early days of Unix. (I say probably because I'm just guessing at some of the Linux history, as it predates my involvement with Linux.) Originally, Unix kernels were just called _/unix_; this is the name Bell Labs used for the original versions up through V7. These early Unixes ran on PDP-11s and only had whole-process swapping, not paging. (I'm not sure if PDP-11s even had paging hardware.) When UC Berkeley moved V7 to the new DEC VAX series, they added paged virtual memory (among other things). To mark this, UCB changed the conventional kernel name to _/vmunix_. Mutating this to _vmlinux_ for *Linux* kernel images is a small step (especially given the old commotion about 'Linux is not Unix'). Even today, _vmlinux_ is the name used for the uncompressed kernel executable that's created as part of the kernel build process. When it became necessary to compress kernel images in order to make them fit into the available early boot memory, _vmlinux_ was transmogrified to today's _vmlinuz_, with the 'z' marking the use of compression. (The _vmlinux_ name dates from Linux 0.99, if not earlier; _vmlinuz_ came in slightly later. The very earliest Linux kernel source just called the bootable kernel file '_Image_'.) === Sidebar: Linux kernel image names (on PClone hardware) * _Image_: as mentioned, the original name for the bootable kernel image. Uncompressed. * _zImage_: a gzip-compressed image, with a decompresser et al glued on the front. * _bzImage_: contrary to popular legend, *not* compressed with bzip2 instead of gzip; instead it stands for 'big zImage', and is a new format that allows for much bigger kernel images. Apparently one reason bzip2 compression is not used for kernel images is that the bzip2 decompresser requires a significant amount of memory. In theory Linux could go back to uncompressed kernel images now, but compressed ones are much smaller and thus load much faster; a recent kernel build on my 64-bit Athlon created an 8 megabyte _vmlinux_ file (with 4 megabytes of real content) that compressed into a 1.75 megabyte _vmlinuz_.