diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2007-05-01 10:20:20 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-05-02 20:04:31 +1000 |
commit | a6afacb6b8ba3d2eed6406a018e604d6f9c0f97d (patch) | |
tree | a51e62feed1fc59f9379deb4a2d87cea960cceeb /arch/powerpc/boot/wrapper | |
parent | 0cd74f398a1b86eab9d56224f3469235b2097e3c (diff) |
[POWERPC] Small cleanups to the cuboot bootwrapper code
This patch makes a few small cleanups to the cuboot code.
- It removes the double layered selection of images, via
cuboot-plat-y, instead having the cuboot platforms directly select a
suitable image-y (this changes the name of the final cuboot image from
plain cuImage to cuImage.<platform>).
- Factors out some code in the wrapper that's potentially
useful to platforms other than uboot.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/boot/wrapper')
-rwxr-xr-x | arch/powerpc/boot/wrapper | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index 5cedd901201..1ea208096b1 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper @@ -163,20 +163,19 @@ fi vmz="$vmz$gzip" -case "$platform" in -uboot|cuboot*) - version=`${CROSS}strings "$kernel" | grep '^Linux version [-0-9.]' | \ - cut -d' ' -f3` - if [ -n "$version" ]; then - version="-n Linux-$version" - fi -esac +# Extract kernel version information, some platforms want to include +# it in the image header +version=`${CROSS}strings "$kernel" | grep '^Linux version [-0-9.]' | \ + cut -d' ' -f3` +if [ -n "$version" ]; then + uboot_version="-n Linux-$version" +fi case "$platform" in uboot) rm -f "$ofile" mkimage -A ppc -O linux -T kernel -C gzip -a 00000000 -e 00000000 \ - $version -d "$vmz" "$ofile" + $uboot_version -d "$vmz" "$ofile" if [ -z "$cacheit" ]; then rm -f "$vmz" fi @@ -212,25 +211,24 @@ if [ "$platform" != "miboot" ]; then rm $tmp fi +# Some platforms need the zImage's entry point and base address +base=0x`${CROSS}nm "$ofile" | grep ' _start$' | cut -d' ' -f1` +entry=`${CROSS}objdump -f "$ofile" | grep '^start address ' | cut -d' ' -f3` + # post-processing needed for some platforms case "$platform" in pseries|chrp) $object/addnote "$ofile" ;; pmaccoff) - entry=`objdump -f "$ofile" | grep '^start address ' | \ - cut -d' ' -f3` ${CROSS}objcopy -O aixcoff-rs6000 --set-start "$entry" "$ofile" $object/hack-coff "$ofile" ;; cuboot*) - base=`${CROSS}nm "$ofile" | grep ' _start$' | cut -d' ' -f1` - entry=`${CROSS}objdump -f "$ofile" | grep '^start address ' | \ - cut -d' ' -f3` mv "$ofile" "$ofile".elf ${CROSS}objcopy -O binary "$ofile".elf "$ofile".bin gzip -f -9 "$ofile".bin mkimage -A ppc -O linux -T kernel -C gzip -a "$base" -e "$entry" \ - $version -d "$ofile".bin.gz "$ofile" + $uboot_version -d "$ofile".bin.gz "$ofile" ;; esac |