Merge "Support for UBoot."
This commit is contained in:
commit
c445a6c66a
2 changed files with 49 additions and 0 deletions
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 a new issue