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 uImageformat, yang berisi vmlinuxmetadata terkompresi plus beberapa byte tambahan yang menggambarkan alamat kernel load. U-Boot FAQ 2.19 menjelaskan cara menghasilkan uImage; itu cukup mudah, menggunakan mkimageutilitas 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 uImagefile keluaran kernel ( BR2_LINUX_KERNEL_UIMAGE=y). Kompilasi secara normal dan Buildroot juga akan membuat vmlinuxfile dalam langkah perantara. Walaupun vmlinuxfile tersebut tidak disalin ke /output/imagesdirektori itu dapat ditemukan di ./output/build/linux-custom/(atau dengan menjalankan find . -name "vmlinux").