58b5607004
UBoot needs the kernel and ramdisk to be post processed using mkimage utility. This element helps user do it as part of the DIB process. This element needs u-boot-tools to be installed. The load address and entry point for UBoot kernel can be specified as shown in the example below. Example: export UBOOT_KERNEL_ADDR=0x80000 export UBOOT_KERNEL_EP=0x80000 Change-Id: I0e1039bf57d1ef11a3f9831d82e24b1ec2136c13
35 lines
862 B
Bash
Executable File
35 lines
862 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eux
|
|
set -o pipefail
|
|
|
|
function post_process()
|
|
{
|
|
mkimage -A $1 -O linux -T kernel -C none -a $UBOOT_KERNEL_ADDR -e $UBOOT_KERNEL_EP -n "Kernel" -d $KERNEL uImage
|
|
mv uImage $KERNEL
|
|
mkimage -A $1 -O linux -T ramdisk -a 0 -n "RAMdisk" -C gzip -d $RAMDISK uInitrd
|
|
mv uInitrd $RAMDISK
|
|
}
|
|
|
|
UBOOT_KERNEL_ADDR=${UBOOT_KERNEL_ADDR:-0x80000}
|
|
UBOOT_KERNEL_EP=${UBOOT_KERNEL_EP:-0x80000}
|
|
[ -n "$TARGET_ROOT" ]
|
|
|
|
# Check if RAMDISK is being built.
|
|
if [ -f "$TARGET_ROOT/tmp/ramdisk" ] ; then
|
|
KERNEL="$TARGET_ROOT/tmp/kernel"
|
|
RAMDISK="$TARGET_ROOT/tmp/ramdisk"
|
|
else
|
|
source "$_LIB/img-functions"
|
|
# Dig up the initrd and kernel to use.
|
|
select_boot_kernel_initrd "$TARGET_ROOT"
|
|
KERNEL="$TARGET_ROOT/boot/$KERNEL"
|
|
RAMDISK="$TARGET_ROOT/boot/$RAMDISK"
|
|
fi
|
|
|
|
case "$ARCH" in
|
|
arm*)
|
|
post_process arm
|
|
;;
|
|
esac
|