1*4882a593Smuzhiyun# fitImage kernel compression algorithm 2*4882a593SmuzhiyunFIT_KERNEL_COMP_ALG ?= "gzip" 3*4882a593SmuzhiyunFIT_KERNEL_COMP_ALG_EXTENSION ?= ".gz" 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun# Kernel image type passed to mkimage (i.e. kernel kernel_noload...) 6*4882a593SmuzhiyunUBOOT_MKIMAGE_KERNEL_TYPE ?= "kernel" 7*4882a593Smuzhiyun 8*4882a593Smuzhiyunuboot_prep_kimage() { 9*4882a593Smuzhiyun if [ -e arch/${ARCH}/boot/compressed/vmlinux ]; then 10*4882a593Smuzhiyun vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux" 11*4882a593Smuzhiyun linux_suffix="" 12*4882a593Smuzhiyun linux_comp="none" 13*4882a593Smuzhiyun elif [ -e arch/${ARCH}/boot/vmlinuz.bin ]; then 14*4882a593Smuzhiyun rm -f linux.bin 15*4882a593Smuzhiyun cp -l arch/${ARCH}/boot/vmlinuz.bin linux.bin 16*4882a593Smuzhiyun vmlinux_path="" 17*4882a593Smuzhiyun linux_suffix="" 18*4882a593Smuzhiyun linux_comp="none" 19*4882a593Smuzhiyun else 20*4882a593Smuzhiyun vmlinux_path="vmlinux" 21*4882a593Smuzhiyun # Use vmlinux.initramfs for linux.bin when INITRAMFS_IMAGE_BUNDLE set 22*4882a593Smuzhiyun # As per the implementation in kernel.bbclass. 23*4882a593Smuzhiyun # See do_bundle_initramfs function 24*4882a593Smuzhiyun if [ "${INITRAMFS_IMAGE_BUNDLE}" = "1" ] && [ -e vmlinux.initramfs ]; then 25*4882a593Smuzhiyun vmlinux_path="vmlinux.initramfs" 26*4882a593Smuzhiyun fi 27*4882a593Smuzhiyun linux_suffix="${FIT_KERNEL_COMP_ALG_EXTENSION}" 28*4882a593Smuzhiyun linux_comp="${FIT_KERNEL_COMP_ALG}" 29*4882a593Smuzhiyun fi 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun [ -n "${vmlinux_path}" ] && ${OBJCOPY} -O binary -R .note -R .comment -S "${vmlinux_path}" linux.bin 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun if [ "${linux_comp}" != "none" ] ; then 34*4882a593Smuzhiyun if [ "${linux_comp}" = "gzip" ] ; then 35*4882a593Smuzhiyun gzip -9 linux.bin 36*4882a593Smuzhiyun elif [ "${linux_comp}" = "lzo" ] ; then 37*4882a593Smuzhiyun lzop -9 linux.bin 38*4882a593Smuzhiyun fi 39*4882a593Smuzhiyun mv -f "linux.bin${linux_suffix}" linux.bin 40*4882a593Smuzhiyun fi 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun echo "${linux_comp}" 43*4882a593Smuzhiyun} 44