概述
在linux系統中,vmlinux(vmlinuz)是一個包含linux kernel的靜態鏈接的可執行文件,文件類型可能是linux接受的可執行文件格式之一(ELF、COFF或a.out),vmlinux若要用於調試時則必須要在引導前增加symbol table
應用場景:
- 用於調試,但需要包含調試信息
- 編譯出來的內核原始文件,可以被用來制作后面zImage,bzImage等啟動Image
- UBoot不能直接使用vmlinux
相關內容:
- vmlinux是ELF文件。是編譯出來的最原始的文件
- vmlinuz是被壓縮的linux內核,是可以被引導的
- vmlinuz是一個統稱。有兩種詳細的表現形式:zImage和bzImage(big zImage)。
- zImage是vmlinuz經過gzip壓縮后的文件,適用於小內核
- bzImage是vmlinuz經過gzip壓縮后的文件,適用於大內核
vmlinuz的位置
wsk@wsk:/boot$ ll
total 71848
drwxr-xr-x 4 root root 4096 Nov 20 2021 ./
drwxr-xr-x 24 root root 4096 Nov 20 2021 ../
-rw-r--r-- 1 root root 217414 Aug 19 22:30 config-4.15.0-156-generic
drwxr-xr-x 5 root root 4096 Nov 19 23:49 grub/
-rw-r--r-- 1 root root 60783850 Nov 20 2021 initrd.img-4.15.0-156-generic
drwx------ 2 root root 16384 Nov 20 00:10 lost+found/
-rw------- 1 root root 4083154 Aug 19 22:30 System.map-4.15.0-156-generic
-rw------- 1 root root 8453792 Aug 19 22:35 vmlinuz-4.15.0-156-generic
參考
https://www.coder.work/article/7292764
https://zh.wikipedia.org/wiki/Vmlinux
https://blog.csdn.net/zhongbeida_xue/article/details/106627042