Root/target/linux/mpc83xx/patches-3.3/100-powerpc_create_fit_uImages.patch

1--- a/arch/powerpc/Makefile
2+++ b/arch/powerpc/Makefile
3@@ -165,7 +165,9 @@ all: zImage
4 
5 # With make 3.82 we cannot mix normal and wildcard targets
6 BOOT_TARGETS1 := zImage zImage.initrd uImage
7-BOOT_TARGETS2 := zImage% dtbImage% treeImage.% cuImage.% simpleImage.% uImage.%
8+BOOT_TARGETS2 := uImage.fit.% zImage% dtbImage% treeImage.% cuImage.% \
9+ simpleImage.% uImage.%
10+
11 
12 PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2)
13 
14@@ -198,6 +200,7 @@ define archhelp
15   @echo '* zImage - Build default images selected by kernel config'
16   @echo ' zImage.* - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)'
17   @echo ' uImage - U-Boot native image format'
18+ @echo ' uImage.fit.<dt> - U-Boot Flattened Image Tree image format'
19   @echo ' cuImage.<dt> - Backwards compatible U-Boot image for older'
20   @echo ' versions which do not support device trees'
21   @echo ' dtbImage.<dt> - zImage with an embedded device tree blob'
22--- a/arch/powerpc/boot/.gitignore
23+++ b/arch/powerpc/boot/.gitignore
24@@ -18,6 +18,7 @@ kernel-vmlinux.strip.c
25 kernel-vmlinux.strip.gz
26 mktree
27 uImage
28+uImage.fit.*
29 cuImage.*
30 dtbImage.*
31 treeImage.*
32--- a/arch/powerpc/boot/Makefile
33+++ b/arch/powerpc/boot/Makefile
34@@ -326,6 +326,9 @@ $(obj)/uImage.initrd.%: vmlinux $(obj)/%
35 $(obj)/uImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
36     $(call if_changed,wrap,uboot-$*,,$(obj)/$*.dtb)
37 
38+$(obj)/uImage.fit.%: vmlinux $(obj)/%.dtb $(wrapperbits)
39+ $(call if_changed,wrap,uboot.fit,,$(obj)/$*.dtb)
40+
41 $(obj)/cuImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits)
42     $(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
43 
44@@ -363,7 +366,7 @@ install: $(CONFIGURE) $(addprefix $(obj)
45 
46 # anything not in $(targets)
47 clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \
48- zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \
49+ uImage.* zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \
50     zImage.iseries zImage.miboot zImage.pmac zImage.pseries \
51     zImage.maple simpleImage.* otheros.bld *.dtb
52 
53--- a/arch/powerpc/boot/wrapper
54+++ b/arch/powerpc/boot/wrapper
55@@ -47,6 +47,9 @@ CROSS=
56 # mkimage wrapper script
57 MKIMAGE=$srctree/scripts/mkuboot.sh
58 
59+# script to generate an .its file for uImage.fit.* images
60+MKITS=$srctree/scripts/mkits.sh
61+
62 # directory for object and other files used by this script
63 object=arch/powerpc/boot
64 objbin=$object
65@@ -332,6 +335,21 @@ uboot-obs600)
66     if [ -z "$cacheit" ]; then
67     rm -f "$vmz"
68     fi
69+ exit 0
70+ ;;
71+uboot.fit)
72+ rm -f "$ofile"
73+ ${MKITS} -A ppc -C gzip -a $membase -e $membase -v $version \
74+ -d "$srctree/$dtb" -k "$srctree/$vmz" -o "$object/uImage.its"
75+
76+ # mkimage calls dtc for FIT images so use kernel dtc if necessary
77+ export PATH=$PATH:$srctree/scripts/dtc
78+
79+ ${MKIMAGE} -f "$object/uImage.its" "$ofile"
80+ rm "$object/uImage.its"
81+ if [ -z "$cacheit" ]; then
82+ rm -f "$vmz"
83+ fi
84     exit 0
85     ;;
86 esac
87

Archive Download this file



interactive