У меня есть модифицированное ядро linux, которое я хочу запустить поверх гипервизора. До сих пор я всегда использовал uImage, но скрипт в гипервизоре требует исполняемый файл. Как создать исполняемый файл из исходного кода linux? Создается ли vmlinux после сборки, окончательный исполняемый файл?
решение1
vmlinux — это файл ELF, а не двоичный файл.
Сборка ядра может создать zImage, то есть двоичный файл. Вы можете найти его в
$kernel/arch/arm/boot/zImage
случае ARM. Помните, что zImage — это сжатый zip-файл двоичного файла, и заголовок прикреплен в верхней части zImage. С этим заголовком zImage может распаковываться самостоятельно.
Чтобы запустить zImage, необходимо переместить pc (счетчик программ) в первую точку zImage.