一直以來都有一個困惑到底 bzImage 是由什麼東西所組成的呢? 稍微 trace 了一下 kernel, 雖然還是一大堆困惑 -_-
在 kernel source 的最上層 make V=1 &> make.proc, 可以看到整個 build 的詳細過程. 稍微整理了一下如下所示
Step 1 - 之前的是 kernel 本尊 ( vmlinux ) 保留了 .note, .comment, 和除錯資訊, 藉由 objcopy -R .comment -S vmlinux arch/x86/boot/compressed/vmlinux.bin 去除了 .commnt和除錯資訊 產出了 vmlinux.bin, 這個就是沒有壓縮前的 kernel
Step 2 - gzip -f -9 < arch/x86/boot/compressed/vmlinux.bin > arch/x86/boot/compressed/vmlinux.bin.gz