Saya ingin menggunakan gambar kernel yang tidak terkompresi dan mem-boot BeagleBoard. Secara umum saya menggunakan uImage untuk mem-boot kernel yang dalam format terkompresi. Bagaimana cara saya menggunakan image kernel yang tidak dikompres?
Saya ingin menggunakan gambar kernel yang tidak terkompresi dan mem-boot BeagleBoard. Secara umum saya menggunakan uImage untuk mem-boot kernel yang dalam format terkompresi. Bagaimana cara saya menggunakan image kernel yang tidak dikompres?
Jawaban:
Sejauh yang saya tahu, U-Boot tidak bisa langsung mem-boot image ELF "mentah" ( vmlinux
). Anda perlu mengubahnya menjadi uImage
format, yang berisi vmlinux
metadata terkompresi plus beberapa byte tambahan yang menggambarkan alamat kernel load. U-Boot FAQ 2.19 menjelaskan cara menghasilkan uImage
; itu cukup mudah, menggunakan mkimage
utilitas di pohon sumber U-Boot:
mkimage -A arm -O linux -T kernel -C gzip … -d vmlinux uImage
(Anda mungkin perlu parameter tambahan yang menunjukkan alamat muat.)
Jika Anda menggunakan Buildroot, pilih uImage
file keluaran kernel ( BR2_LINUX_KERNEL_UIMAGE=y
). Kompilasi secara normal dan Buildroot juga akan membuat vmlinux
file dalam langkah perantara. Walaupun vmlinux
file tersebut tidak disalin ke /output/images
direktori itu dapat ditemukan di ./output/build/linux-custom/
(atau dengan menjalankan find . -name "vmlinux"
).