Merge "Support for UBoot."
This commit is contained in:
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
|
||||||
Reference in New Issue
Block a user