From 560b1bd281a096335c75e26d0ef3385bc6086f4f Mon Sep 17 00:00:00 2001 From: James Westby Date: Tue, 24 Apr 2012 14:34:24 +0530 Subject: Support kernel cross build with deb-pkg Signed-off-by: Avik Sil --- scripts/package/builddeb | 80 ++++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/scripts/package/builddeb b/scripts/package/builddeb index acb86507828..88eabb6120b 100644 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -12,6 +12,43 @@ set -e +# Attempt to find the correct Debian architecture +forcearch="" +debarch="" +case "$UTS_MACHINE" in +i386|ia64|alpha) + debarch="$UTS_MACHINE" ;; +x86_64) + debarch=amd64 ;; +sparc*) + debarch=sparc ;; +s390*) + debarch=s390 ;; +ppc*) + debarch=powerpc ;; +parisc*) + debarch=hppa ;; +mips*) + debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y .config && echo el) ;; +arm*) + debarch=arm$(grep -q CONFIG_AEABI=y .config && echo el) ;; +*) + echo "" >&2 + echo "** ** ** WARNING ** ** **" >&2 + echo "" >&2 + echo "Your architecture doesn't have it's equivalent" >&2 + echo "Debian userspace architecture defined!" >&2 + echo "Falling back to using your current userspace instead!" >&2 + echo "Please add support for $UTS_MACHINE to ${0} ..." >&2 + echo "" >&2 +esac +if [ -n "$KBUILD_DEBARCH" ] ; then + debarch="$KBUILD_DEBARCH" +fi +if [ -n "$debarch" ] ; then + forcearch="-DArchitecture=$debarch" +fi + create_package() { local pname="$1" pdir="$2" @@ -25,42 +62,6 @@ create_package() { chown -R root:root "$pdir" chmod -R go-w "$pdir" - # Attempt to find the correct Debian architecture - local forcearch="" debarch="" - case "$UTS_MACHINE" in - i386|ia64|alpha) - debarch="$UTS_MACHINE" ;; - x86_64) - debarch=amd64 ;; - sparc*) - debarch=sparc ;; - s390*) - debarch=s390 ;; - ppc*) - debarch=powerpc ;; - parisc*) - debarch=hppa ;; - mips*) - debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y .config && echo el) ;; - arm*) - debarch=arm$(grep -q CONFIG_AEABI=y .config && echo el) ;; - *) - echo "" >&2 - echo "** ** ** WARNING ** ** **" >&2 - echo "" >&2 - echo "Your architecture doesn't have it's equivalent" >&2 - echo "Debian userspace architecture defined!" >&2 - echo "Falling back to using your current userspace instead!" >&2 - echo "Please add support for $UTS_MACHINE to ${0} ..." >&2 - echo "" >&2 - esac - if [ -n "$KBUILD_DEBARCH" ] ; then - debarch="$KBUILD_DEBARCH" - fi - if [ -n "$debarch" ] ; then - forcearch="-DArchitecture=$debarch" - fi - # Create the package dpkg-gencontrol -isp $forcearch -p$pname -P"$pdir" dpkg --build "$pdir" .. @@ -252,15 +253,14 @@ mkdir -p "$destdir" (cd $objtree; tar -c -f - -T "$objtree/debian/hdrobjfiles") | (cd $destdir; tar -xf -) ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" -arch=$(dpkg --print-architecture) cat <> debian/control Package: $kernel_headers_packagename Provides: linux-headers, linux-headers-2.6 -Architecture: $arch -Description: Linux kernel headers for $KERNELRELEASE on $arch - This package provides kernel header files for $KERNELRELEASE on $arch +Architecture: $debarch +Description: Linux kernel headers for $KERNELRELEASE on $debarch + This package provides kernel header files for $KERNELRELEASE on $debarch . This is useful for people who need to build external modules EOF -- cgit v1.2.3 From bd8014d16b779ea9bdcd2c73320c8afef26e4493 Mon Sep 17 00:00:00 2001 From: Avik Sil Date: Tue, 24 Apr 2012 14:05:55 +0530 Subject: Add device tree files to deb package Signed-off-by: Avik Sil --- scripts/package/builddeb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 88eabb6120b..7621018a538 100644 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -119,6 +119,11 @@ else else cp arch/$ARCH/boot/$KBUILD_IMAGE "$tmpdir/boot/vmlinuz-$version" fi + # Copy device tree files if generated + stat arch/$ARCH/boot/*.dtb && { + mkdir -p "$tmpdir/boot/dt-$version" + cp arch/$ARCH/boot/*.dtb "$tmpdir/boot/dt-$version" + } fi if grep -q '^CONFIG_MODULES=y' .config ; then -- cgit v1.2.3 From 4b373f54294604198ece478544e83096cba84631 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Mon, 8 Oct 2012 23:15:49 +0400 Subject: Leave the DT blob in the kernel image package, but move to /lib/firmware Signed-off-by: Andrey Konovalov --- scripts/package/builddeb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 7621018a538..22686b9c156 100644 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -119,11 +119,6 @@ else else cp arch/$ARCH/boot/$KBUILD_IMAGE "$tmpdir/boot/vmlinuz-$version" fi - # Copy device tree files if generated - stat arch/$ARCH/boot/*.dtb && { - mkdir -p "$tmpdir/boot/dt-$version" - cp arch/$ARCH/boot/*.dtb "$tmpdir/boot/dt-$version" - } fi if grep -q '^CONFIG_MODULES=y' .config ; then @@ -286,6 +281,12 @@ EOF create_package "$fwpackagename" "$fwdir" fi +# Copy device tree files if generated +stat arch/$ARCH/boot/*.dtb && { + mkdir -p "$tmpdir/lib/firmware/$version/device-tree" + cp arch/$ARCH/boot/*.dtb "$tmpdir/lib/firmware/$version/device-tree" +} + cat <> debian/control Package: $libc_headers_packagename -- cgit v1.2.3 From c54d0ac144b10d010c587e88e3f189f03acf319a Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Mon, 14 Jan 2013 00:09:30 +0400 Subject: deb-pkg: update builddeb to account for the dtb location change Commit 499cd82 "ARM: dt: change .dtb build rules to build in dts directory" changed the location of the generated dtb file. Modify the builddeb script accordingly. Signed-off-by: Andrey Konovalov --- scripts/package/builddeb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 22686b9c156..ed79ca3da88 100644 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -282,9 +282,9 @@ EOF fi # Copy device tree files if generated -stat arch/$ARCH/boot/*.dtb && { +stat arch/$ARCH/boot/dts/*.dtb && { mkdir -p "$tmpdir/lib/firmware/$version/device-tree" - cp arch/$ARCH/boot/*.dtb "$tmpdir/lib/firmware/$version/device-tree" + cp arch/$ARCH/boot/dts/*.dtb "$tmpdir/lib/firmware/$version/device-tree" } cat <> debian/control -- cgit v1.2.3