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
This commit is contained in:
parent
22cf8e824b
commit
58b5607004
15
elements/uboot/README.md
Normal file
15
elements/uboot/README.md
Normal file
@ -0,0 +1,15 @@
|
||||
Perform kernel/initrd post-processing for UBoot.
|
||||
|
||||
This element helps post-process the kernel/initrd
|
||||
for use with uboot. It works with ramdisk images
|
||||
as well as user images.
|
||||
|
||||
This element needs u-boot-tools to be installed
|
||||
on the host.
|
||||
|
||||
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
|
34
elements/uboot/cleanup.d/98-uboot
Executable file
34
elements/uboot/cleanup.d/98-uboot
Executable file
@ -0,0 +1,34 @@
|
||||
#!/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
|
Loading…
Reference in New Issue
Block a user