diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst old mode 100644 new mode 100755 index 909ed7a..f69e726 --- a/scripts/Makefile.dtbinst +++ b/scripts/Makefile.dtbinst @@ -23,8 +23,8 @@ include $(srctree)/$(obj)/Makefile PHONY += __dtbs_install_prep __dtbs_install_prep: ifeq ("$(dtbinst-root)", "$(obj)") - $(Q)if [ -d $(INSTALL_DTBS_PATH).old ]; then rm -rf $(INSTALL_DTBS_PATH).old; fi - $(Q)if [ -d $(INSTALL_DTBS_PATH) ]; then mv $(INSTALL_DTBS_PATH) $(INSTALL_DTBS_PATH).old; fi + #$(Q)if [ -d $(INSTALL_DTBS_PATH).old ]; then rm -rf $(INSTALL_DTBS_PATH).old; fi + #$(Q)if [ -d $(INSTALL_DTBS_PATH) ]; then mv $(INSTALL_DTBS_PATH) $(INSTALL_DTBS_PATH).old; fi $(Q)mkdir -p $(INSTALL_DTBS_PATH) endif diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 5972624..272d558 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -80,10 +80,12 @@ tmpdir="$objtree/debian/tmp" fwdir="$objtree/debian/fwtmp" kernel_headers_dir="$objtree/debian/hdrtmp" libc_headers_dir="$objtree/debian/headertmp" +dtb_dir="$objtree/debian/dtbtmp" dbg_dir="$objtree/debian/dbgtmp" packagename=linux-image-$version fwpackagename=linux-firmware-image-$version kernel_headers_packagename=linux-headers-$version +dtb_packagename=linux-dtb-$version libc_headers_packagename=linux-libc-dev dbg_packagename=$packagename-dbg @@ -108,13 +110,17 @@ esac BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)" # Setup the directory structure -rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" +rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" "$dtb_dir" mkdir -m 755 -p "$tmpdir/DEBIAN" mkdir -p "$tmpdir/lib" "$tmpdir/boot" "$tmpdir/usr/share/doc/$packagename" mkdir -m 755 -p "$fwdir/DEBIAN" mkdir -p "$fwdir/lib/firmware/$version/" "$fwdir/usr/share/doc/$fwpackagename" mkdir -m 755 -p "$libc_headers_dir/DEBIAN" mkdir -p "$libc_headers_dir/usr/share/doc/$libc_headers_packagename" + +mkdir -m 755 -p "$dtb_dir/DEBIAN" +mkdir -p "$dtb_dir/boot/dtb" "$dtb_dir/usr/share/doc/$dtb_packagename" + mkdir -m 755 -p "$kernel_headers_dir/DEBIAN" mkdir -p "$kernel_headers_dir/usr/share/doc/$kernel_headers_packagename" mkdir -p "$kernel_headers_dir/lib/modules/$version/" @@ -165,6 +171,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then fi fi +if grep -q '^CONFIG_OF=y' $KCONFIG_CONFIG ; then + #mkdir -p "$tmpdir/boot/dtb" + INSTALL_DTBS_PATH="$dtb_dir/boot/dtb" $MAKE KBUILD_SRC= dtbs_install +fi + if [ "$ARCH" != "um" ]; then $MAKE headers_check KBUILD_SRC= $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr" @@ -189,9 +200,11 @@ for script in postinst postrm preinst prerm ; do set -e # Pass maintainer script parameters to hook scripts + export DEB_MAINT_PARAMS="\$*" # Tell initramfs builder whether it's wanted + export INITRD=$want_initrd test -d $debhookdir/$script.d && run-parts --arg="$version" --arg="/$installed_image_path" $debhookdir/$script.d @@ -200,6 +213,14 @@ EOF chmod 755 "$tmpdir/DEBIAN/$script" done +## +## Create sym link to kernel image +## +kernel_tmp_version="${installed_image_path////\\/}" +sed -e "s/exit 0/ln -sf \/$kernel_tmp_version \/boot\/zImage/g" -i $tmpdir/DEBIAN/postinst +echo "exit 0" >> $tmpdir/DEBIAN/postinst + + # Try to determine maintainer and email values if [ -n "$DEBEMAIL" ]; then email=$DEBEMAIL @@ -330,6 +351,16 @@ fi cat <> debian/control +Package: $dtb_packagename +Architecture: any +Description: Linux DTB, version $version + This package contains device blobs from the Linux kernel, version $version. +EOF + +create_package "$dtb_packagename" "$dtb_dir" + +cat <> debian/control + Package: $libc_headers_packagename Section: devel Provides: linux-kernel-headers