diskimage-builder/elements/uboot/cleanup.d/98-uboot
Om Kumar 58b5607004 Support for UBoot.
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
2014-07-25 11:14:37 +05:30

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