-   Linux - Software (
-   -   file type for the Linux kernel image file, (vmlinuz) is unknown (

james2b 11-09-2009 09:07 PM

file type for the Linux kernel image file, (vmlinuz) is unknown
The file type for the Linux kernel image file, (vmlinuz) is shown as unknown, in most major distro's. Some Linux show the initial ram disk file, (initrd) as a GZip file type, but when I right click a kernel file and select properties, it says unknown file type, so can that be changed, or is it best to just let it be ? Thanks in advance.

jschiwal 11-09-2009 09:16 PM

There are two types of initrd files. One type is a compressed ext2 filesystem. The other is a compressed cpio archive. The latter seems to be what I've seen lately.

Copy your initrd file to your home directory. The use the file command to examine it.


> cp /boot/initrd- ~                                                             
> mv initrd- initrd-
> gunzip initrd-                       

> file initrd-
initrd- ASCII cpio archive (SVR4 with no CRC)
> mkdir initrd                                   
> cd initrd
> cpio -vid < ../initrd-
> ls
bin  boot  bootsplash  config  dev  etc  init  lib  lib64  mkinitrd.config  proc  root  sbin  sys  tmp  usr  var

Elv13 11-09-2009 09:44 PM

Filetype can be determined using file header, but the extension is normally the "safest" way to do it. The fact that your image is not seen as a gunzip file do not affect vmlinuz behavior in any way, so I recommand to just ignore it. After all, you don't have to play in this file by yourself frequently.

EDIT: Removed a comment

jschiwal 11-09-2009 09:49 PM

I did suggest using the "file" command to examine it. It will use the files contents (signature) rather than relying on the extension. It will also analyze files containing filesystems such as an image file.

james2b 11-10-2009 12:43 AM

Thanks for the information, also is there a way to remove older versions of the vmlinuz kernel, (such as when the package updates installs a new kernel version, and some Linux will keep several older versions) ? It may work with a search with the package manager ?

jschiwal 11-11-2009 01:07 AM

You could use your package manager. You could also use your package manager (e.g. rpm -ql in openSuSE in your list of distros) to find the files installed and remove them. Of course if you compiled your own kernel, you may not have this information in your package manager.

Deleting the vmlinuz-<version> and initrd-<version> files in /boot, and the files in /lib/modules/<version>/ will free up a lot of space. Be sure you remove the entry from /boot/grub/menu.lst. If you use the filelist of a package, don't remove /boot/vmlinuz and /boot/initrd which are shortcuts to the newest kernel. Don't delete the /etc/modprobe.d/module-renames file. It contains module name changes such as e1000-new -> e1000. This file would have been updated by subsequent kernel installs.

james2b 11-12-2009 02:39 PM

Each of the major Linux installs I have, do handle the kernel and initrd updates differently, as far as how many previous versions to keep. Some will just keep 1 or 2 older versions, and some like Ubuntu keeps all the older kernels and initial ram disks files. I think Fedora does it best, by just allowing 2 older versions to remain, so 3 total with the new. It would be better if all Linux can be more consistent with this, or have a tool with the package manager, to remove versions as needed. Thanks.

All times are GMT -5. The time now is 11:02 AM.