diff --git a/lib/makeboarddeb.sh b/lib/makeboarddeb.sh index 8dac34389..98f6cf082 100644 --- a/lib/makeboarddeb.sh +++ b/lib/makeboarddeb.sh @@ -145,9 +145,10 @@ create_board_package() if [ ! -f /boot/$bootscript_dst ]; then echo "Recreating boot script" cp /usr/share/armbian/$bootscript_dst /boot >/dev/null 2>&1 - uuid=\$(awk -F'"' '/^setenv rootdev / {print \$2}' /boot/boot.ini) - [ -n \$uuid ] && cp /usr/share/armbian/armbianEnv.txt /boot >/dev/null 2>&1 - echo "rootdev="\$uuid >> /boot/armbianEnv.txt + rootdev=\$(sed -e 's/^.*root=//' -e 's/ .*$//' < /proc/cmdline) + cp /usr/share/armbian/armbianEnv.txt /boot >/dev/null 2>&1 + echo "rootdev="\$rootdev >> /boot/armbianEnv.txt + sed -i "s/setenv rootdev.*/setenv rootdev \\"\$rootdev\\"/" /boot/boot.ini [ -f /boot/boot.cmd ] && mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr >/dev/null 2>&1 fi diff --git a/patch/kernel/odroidc1-default/packaging-3.10-DEFAULT-with-postinstall-scripts.patch b/patch/kernel/odroidc1-default/packaging-3.10-DEFAULT-with-postinstall-scripts.patch index f847ba086..5c35f830e 100644 --- a/patch/kernel/odroidc1-default/packaging-3.10-DEFAULT-with-postinstall-scripts.patch +++ b/patch/kernel/odroidc1-default/packaging-3.10-DEFAULT-with-postinstall-scripts.patch @@ -27,7 +27,7 @@ index 3001ec5..dc76d3c @@ -61,8 +63,30 @@ create_package() { forcearch="-DArchitecture=$debarch" fi - + + # Create preinstall and post install script to remove dtb + if [[ "$1" == *dtb* ]]; then + echo "if [ -d /boot/dtb-$version ]; then mv /boot/dtb-$version /boot/dtb-$version.old; fi" >> $pdir/DEBIAN/preinst @@ -42,20 +42,20 @@ index 3001ec5..dc76d3c + echo "exit 0" >> $pdir/DEBIAN/postinst + chmod 775 $pdir/DEBIAN/postinst + fi -+ ++ + # Create postinstall script for headers + if [[ "$1" == *headers* ]]; then + echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; find -type f -exec touch {} +;make -s scripts >/dev/null 2>&1" >> $pdir/DEBIAN/postinst + echo "exit 0" >> $pdir/DEBIAN/postinst + chmod 775 $pdir/DEBIAN/postinst + fi -+ ++ # Create the package - dpkg-gencontrol -isp $forcearch -Vkernel:debarch="${debarch:-$(dpkg --print-architecture)}" -p$pname -P"$pdir" + dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch:-$(dpkg --print-architecture)}" -p$pname -P"$pdir" dpkg --build "$pdir" .. } - + @@ -78,49 +102,76 @@ tmpdir="$objtree/debian/tmp" fwdir="$objtree/debian/fwtmp" kernel_headers_dir="$objtree/debian/hdrtmp" @@ -72,11 +72,11 @@ index 3001ec5..dc76d3c +dtb_packagename=linux-dtb"$LOCALVERSION" +libc_headers_packagename=linux-libc-dev"$LOCALVERSION" +dbg_packagename=$packagename-dbg - + if [ "$ARCH" = "um" ] ; then packagename=user-mode-linux-$version fi - + +# Not all arches have the same installed path in debian +# XXX: have each arch Makefile export a variable of the canonical image install +# path instead @@ -116,7 +116,7 @@ index 3001ec5..dc76d3c + mkdir -p "$dbg_dir/usr/share/doc/$dbg_packagename" + mkdir -m 755 -p "$dbg_dir/DEBIAN" +fi - + # Build and install the kernel if [ "$ARCH" = "um" ] ; then $MAKE linux @@ -125,7 +125,7 @@ index 3001ec5..dc76d3c + cp $KCONFIG_CONFIG "$tmpdir/usr/share/doc/$packagename/config" gzip "$tmpdir/usr/share/doc/$packagename/config" - cp $KBUILD_IMAGE "$tmpdir/usr/bin/linux-$version" --else +-else +else cp System.map "$tmpdir/boot/System.map-$version" - cp .config "$tmpdir/boot/config-$version" @@ -143,7 +143,7 @@ index 3001ec5..dc76d3c +else + cp arch/$ARCH/boot/$KBUILD_IMAGE "$tmpdir/$installed_image_path" fi - + -if grep -q '^CONFIG_MODULES=y' .config ; then +if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then INSTALL_MOD_PATH="$tmpdir" $MAKE KBUILD_SRC= modules_install @@ -172,10 +172,10 @@ index 3001ec5..dc76d3c + cp $objtree/arch/arm/boot/dts/*.dtb $dtb_dir/boot/dtb-$version + #INSTALL_DTBS_PATH="$dtb_dir/boot/dtb" $MAKE KBUILD_SRC= dtbs_install fi - + if [ "$ARCH" != "um" ]; then @@ -137,8 +206,15 @@ fi - + # Install the maintainer scripts # Note: hook scripts under /etc/kernel are also executed by official Debian -# kernel packages, as well as kernel packages built using make-kpkg @@ -193,11 +193,11 @@ index 3001ec5..dc76d3c cat < "$tmpdir/DEBIAN/$script" @@ -147,14 +223,61 @@ for script in postinst postrm preinst prerm ; do set -e - + # Pass maintainer script parameters to hook scripts + export DEB_MAINT_PARAMS="\$*" - + -test -d $debhookdir/$script.d && run-parts --arg="$version" $debhookdir/$script.d +# Tell initramfs builder whether it's wanted + @@ -208,16 +208,16 @@ index 3001ec5..dc76d3c EOF chmod 755 "$tmpdir/DEBIAN/$script" done - + +## +## Create sym link to kernel image +## +kernel_tmp_version="${installed_image_path////\\/}" +sed -e "s/set -e//g" -i $tmpdir/DEBIAN/postinst +sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst -+cat >> $tmpdir/DEBIAN/postinst <> $tmpdir/DEBIAN/postinst < /dev/null 2>&1 || mv /$kernel_tmp_version /boot/zImage -+ ++rm -f /boot/.next + +exit 0 +EOT @@ -226,7 +226,7 @@ index 3001ec5..dc76d3c +## +sed -e "s/set -e//g" -i $tmpdir/DEBIAN/preinst +sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/preinst -+cat >> $tmpdir/DEBIAN/preinst <> $tmpdir/DEBIAN/preinst <> $tmpdir/DEBIAN/preinst ++echo "exit 0" >> $tmpdir/DEBIAN/preinst + + # Try to determine maintainer and email values @@ -257,7 +257,7 @@ index 3001ec5..dc76d3c @@ -172,9 +299,19 @@ else fi maintainer="$name <$email>" - + +# Try to determine distribution +if [ -n "$KDEB_CHANGELOG_DIST" ]; then + distribution=$KDEB_CHANGELOG_DIST @@ -272,13 +272,13 @@ index 3001ec5..dc76d3c cat < debian/changelog -linux-upstream ($packageversion) unstable; urgency=low +linux-upstream ($packageversion) $distribution; urgency=low - + * Custom built Linux kernel. - + @@ -242,21 +379,32 @@ EOF - + fi - + -# Build header package -(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl > "$objtree/debian/hdrsrcfiles") -(cd $srctree; find arch/$SRCARCH/include include scripts -type f >> "$objtree/debian/hdrsrcfiles") @@ -304,11 +304,11 @@ index 3001ec5..dc76d3c +(cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to be where it's expected to be ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" - + +(cd "$destdir"; make M=scripts clean) + cat <> debian/control - + Package: $kernel_headers_packagename -Provides: linux-headers, linux-headers-2.6 +Provides: linux-headers @@ -316,9 +316,9 @@ index 3001ec5..dc76d3c Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} @@ -282,6 +430,16 @@ fi - + cat <> debian/control - + +Package: $dtb_packagename +Architecture: any +Description: Linux DTB, version $version @@ -333,15 +333,15 @@ index 3001ec5..dc76d3c Section: devel Provides: linux-kernel-headers @@ -293,9 +451,35 @@ EOF - + if [ "$ARCH" != "um" ]; then create_package "$kernel_headers_packagename" "$kernel_headers_dir" - create_package "$libc_headers_packagename" "$libc_headers_dir" +# create_package "$libc_headers_packagename" "$libc_headers_dir" fi - + create_package "$packagename" "$tmpdir" - + -exit 0 +if [ -n "$BUILD_DEBUG" ] ; then + # Build debug package diff --git a/patch/kernel/odroidc2-default/packaging-3.14-DEFAULT-with-postinstall-scripts.patch b/patch/kernel/odroidc2-default/packaging-3.14-DEFAULT-with-postinstall-scripts.patch index 45acfe93f..1fb77ee78 100644 --- a/patch/kernel/odroidc2-default/packaging-3.14-DEFAULT-with-postinstall-scripts.patch +++ b/patch/kernel/odroidc2-default/packaging-3.14-DEFAULT-with-postinstall-scripts.patch @@ -17,7 +17,7 @@ index ae7e607..a989768 100644 @@ -63,8 +63,30 @@ create_package() { forcearch="-DArchitecture=$debarch" fi - + + # Create preinstall and post install script to remove dtb + if [[ "$1" == *dtb* ]]; then + echo "if [ -d /boot/dtb-$version ]; then mv /boot/dtb-$version /boot/dtb-$version.old; fi" >> $pdir/DEBIAN/preinst @@ -32,20 +32,20 @@ index ae7e607..a989768 100644 + echo "exit 0" >> $pdir/DEBIAN/postinst + chmod 775 $pdir/DEBIAN/postinst + fi -+ ++ + # Create postinstall script for headers + if [[ "$1" == *headers* ]]; then + echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; find -type f -exec touch {} +;make -s scripts >/dev/null 2>&1" >> $pdir/DEBIAN/postinst + echo "exit 0" >> $pdir/DEBIAN/postinst + chmod 775 $pdir/DEBIAN/postinst + fi -+ ++ # Create the package - dpkg-gencontrol -isp $forcearch -Vkernel:debarch="${debarch:-$(dpkg --print-architecture)}" -p$pname -P"$pdir" + dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch:-$(dpkg --print-architecture)}" -p$pname -P"$pdir" dpkg --build "$pdir" .. } - + @@ -80,11 +102,13 @@ tmpdir="$objtree/debian/tmp" fwdir="$objtree/debian/fwtmp" kernel_headers_dir="$objtree/debian/hdrtmp" @@ -62,11 +62,11 @@ index ae7e607..a989768 100644 +dtb_packagename=linux-dtb"$LOCALVERSION" +libc_headers_packagename=linux-libc-dev"$LOCALVERSION" dbg_packagename=$packagename-dbg - + if [ "$ARCH" = "um" ] ; then @@ -108,13 +132,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" @@ -90,7 +90,7 @@ index ae7e607..a989768 100644 - cp arch/$ARCH/boot/$KBUILD_IMAGE "$tmpdir/$installed_image_path" + cp arch/$ARCH/boot/Image "$tmpdir/$installed_image_path" fi - + if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then @@ -152,21 +180,25 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then rmdir "$tmpdir/lib/modules/$version" @@ -120,7 +120,7 @@ index ae7e607..a989768 100644 + done fi fi - + +if grep -q '^CONFIG_OF=y' $KCONFIG_CONFIG ; then + mkdir -p "$tmpdir/boot/dtb-""$version" + cp $objtree/arch/$SRCARCH/boot/dts/*.dtb $dtb_dir/boot/dtb-$version @@ -136,31 +136,31 @@ index ae7e607..a989768 100644 cat < "$tmpdir/DEBIAN/$script" -#!/bin/sh +#!/bin/bash - + 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 @@ -202,6 +236,47 @@ EOF chmod 755 "$tmpdir/DEBIAN/$script" done - + +## +## Create sym link to kernel image +## +kernel_tmp_version="${installed_image_path////\\/}" +sed -e "s/set -e//g" -i $tmpdir/DEBIAN/postinst +sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst -+cat >> $tmpdir/DEBIAN/postinst <> $tmpdir/DEBIAN/postinst < /dev/null 2>&1 || mv /$kernel_tmp_version /boot/zImage -+ ++rm -f /boot/.next +exit 0 +EOT + @@ -169,7 +169,7 @@ index ae7e607..a989768 100644 +## +sed -e "s/set -e//g" -i $tmpdir/DEBIAN/preinst +sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/preinst -+cat >> $tmpdir/DEBIAN/preinst <> $tmpdir/DEBIAN/preinst <> $tmpdir/DEBIAN/preinst ++echo "exit 0" >> $tmpdir/DEBIAN/preinst + # Try to determine maintainer and email values if [ -n "$DEBEMAIL" ]; then @@ -199,7 +199,7 @@ index ae7e607..a989768 100644 @@ -219,9 +294,20 @@ else fi maintainer="$name <$email>" - + +# Try to determine distribution +if [ -n "$KDEB_CHANGELOG_DIST" ]; then + distribution=$KDEB_CHANGELOG_DIST @@ -215,26 +215,26 @@ index ae7e607..a989768 100644 cat < debian/changelog -linux-upstream ($packageversion) unstable; urgency=low +linux-upstream ($packageversion) $distribution; urgency=low - + * Custom built Linux kernel. - + @@ -235,10 +321,10 @@ This is a packacked upstream version of the Linux kernel. The sources may be found at most Linux ftp sites, including: ftp://ftp.kernel.org/pub/linux/kernel - + -Copyright: 1991 - 2009 Linus Torvalds and others. +Copyright: 1991 - 2015 Linus Torvalds and others. - + The git repository for mainline kernel development is at: -git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git +git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git - + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -289,22 +375,36 @@ EOF - + fi - + -# Build header package -(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl > "$objtree/debian/hdrsrcfiles") -(cd $srctree; find arch/$SRCARCH/include include scripts -type f >> "$objtree/debian/hdrsrcfiles") @@ -264,11 +264,11 @@ index ae7e607..a989768 100644 (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to be where it's expected to be ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" - + +(cd "$destdir"; make M=scripts clean) + cat <> debian/control - + Package: $kernel_headers_packagename -Provides: linux-headers, linux-headers-2.6 +Provides: linux-headers @@ -276,9 +276,9 @@ index ae7e607..a989768 100644 Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} @@ -330,6 +430,16 @@ fi - + cat <> debian/control - + +Package: $dtb_packagename +Architecture: any +Description: Linux DTB, version $version @@ -293,11 +293,11 @@ index ae7e607..a989768 100644 Section: devel Provides: linux-kernel-headers @@ -341,7 +451,7 @@ EOF - + if [ "$ARCH" != "um" ]; then create_package "$kernel_headers_packagename" "$kernel_headers_dir" - create_package "$libc_headers_packagename" "$libc_headers_dir" +# create_package "$libc_headers_packagename" "$libc_headers_dir" fi - + create_package "$packagename" "$tmpdir"