From c6e47de04d3c4b0a49152e745e6d864d29cbe530 Mon Sep 17 00:00:00 2001 From: Calin Crisan Date: Mon, 20 Feb 2017 20:27:02 +0200 Subject: [PATCH 1/4] a date init script that doesn't use python --- board/common/overlay/etc/init.d/S50date | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/board/common/overlay/etc/init.d/S50date b/board/common/overlay/etc/init.d/S50date index ab547004dd..be42d6e9e3 100755 --- a/board/common/overlay/etc/init.d/S50date +++ b/board/common/overlay/etc/init.d/S50date @@ -38,22 +38,10 @@ date_interval="900" source $conf -kill_after_timeout() { - sleep $date_timeout - ps aux | grep httplib | grep -v grep | tr -s ' ' | cut -d ' ' -f 2 | xargs -r kill -} - set_current_date_http() { - kill_after_timeout & - - timestamp=$(python -c "import calendar, httplib, email.utils; conn = httplib.HTTPConnection('$date_host'); conn.request('HEAD', '/'); \ - print calendar.timegm(email.utils.parsedate(conn.getresponse().getheader('date')))") - - if [ -n "$timestamp" ]; then - date +%s -s @$timestamp > /dev/null - else - return 1 - fi + date_str=$(curl -v -s -m $date_timeout -X GET http://$date_host 2>&1 | grep Date | sed -e 's/< Date: //') + date -D "%a, %d %b %Y %H:%M:%S" -s "$date_str" > /dev/null + return $? } set_current_date_ntp() { From 5e1085000d16f97f3ee5e23709c11e514c058a6d Mon Sep 17 00:00:00 2001 From: Calin Crisan Date: Mon, 20 Feb 2017 21:37:08 +0200 Subject: [PATCH 2/4] cleanups: remove not-so-useful mongo binaries --- board/common/cleanups.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/board/common/cleanups.sh b/board/common/cleanups.sh index 019b964485..fd6ee76cb3 100755 --- a/board/common/cleanups.sh +++ b/board/common/cleanups.sh @@ -172,6 +172,10 @@ rm -f $TARGET/usr/sbin/ctdb* rm -f $TARGET/usr/sbin/winbindd rm -f $TARGET/usr/share/perl5 +# useless mongodb binaries +rm -f $TARGET/usr/bin/mongos +rm -f $TARGET/usr/bin/mongoperf + # unused python folders rm -rf $TARGET/usr/lib/python2.7/site-packages/samba/ rm -rf $TARGET/usr/lib/python2.7/ensurepip/ From f98b6b9eac4c7555328d791c2aed4bb793a1016c Mon Sep 17 00:00:00 2001 From: Calin Crisan Date: Mon, 20 Feb 2017 22:31:30 +0200 Subject: [PATCH 3/4] fwupdate: use curl instead of wget to download updates --- board/common/overlay/sbin/fwupdate | 36 ++++++++++++++---------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/board/common/overlay/sbin/fwupdate b/board/common/overlay/sbin/fwupdate index 66c8df6170..f9bcd4e7de 100755 --- a/board/common/overlay/sbin/fwupdate +++ b/board/common/overlay/sbin/fwupdate @@ -14,7 +14,7 @@ function exit_usage() { echo "" echo "Statuses:" echo " idle" - echo " downloading : %" + echo " downloading " echo " downloaded " echo " extracting " echo " extracted " @@ -46,8 +46,8 @@ FW_DIR=/data/.fwupdate FW_FILE=firmware.img.gz FW_FILE_EXTR=firmware.img -WGET_LOG_FILE=wget.log -WGET_PID_FILE=wget.pid +CURL_LOG_FILE=curl.log +CURL_PID_FILE=curl.pid GUNZIP_LOG_FILE=gunzip.log GUNZIP_PID_FILE=gunzip.pid @@ -130,28 +130,26 @@ function do_download() { mkdir -p $FW_DIR echo $version > $FW_DIR/$VER_FILE - wget --no-check-certificate -O $FW_DIR/$FW_FILE --quiet --show-progress --progress=dot "$url" &> $FW_DIR/$WGET_LOG_FILE & + curl_opts="-S -f -L" + if [ -n "$os_firmware_username" ]; then + curl_opts+=" --user $os_firmware_username:$os_firmware_password" + fi + + curl $curl_opts -o $FW_DIR/$FW_FILE "$url" &> $FW_DIR/$CURL_LOG_FILE & pid=$! - echo $pid > $FW_DIR/$WGET_PID_FILE + echo $pid > $FW_DIR/$CURL_PID_FILE wait $pid } function download_status() { - if [ -f $FW_DIR/$WGET_PID_FILE ]; then - pid=$(cat $FW_DIR/$WGET_PID_FILE) + if [ -f $FW_DIR/$CURL_PID_FILE ]; then + pid=$(cat $FW_DIR/$CURL_PID_FILE) if kill -0 $pid &>/dev/null; then - progress=$(tail -n2 $FW_DIR/$WGET_LOG_FILE | grep -oe '[[:digit:]]*%') - if [ -z "$progress" ]; then - progress="0%" - fi - - progress=($progress) - - echo ${progress[0]} + echo "running" return fi fi - + if [ -f $FW_DIR/$FW_FILE ]; then echo "done" fi @@ -326,11 +324,11 @@ function show_status() { fi status=$(download_status) - if [ "$status" == "done" ]; then - echo "downloaded $(new_version)" + if [ "$status" == "running" ]; then + echo "downloading $(new_version)" return elif [ -n "$status" ]; then - echo "downloading $(new_version): $status" + echo "downloaded $(new_version)" return fi From d9ad7ac2b43ca353167bbb2e85d76e3cbef6206b Mon Sep 17 00:00:00 2001 From: Calin Crisan Date: Mon, 20 Feb 2017 22:43:25 +0200 Subject: [PATCH 4/4] remove wget as it's no longer used --- configs/bananapi_defconfig | 6 +----- configs/odroidc1_defconfig | 5 +---- configs/odroidc2_defconfig | 7 +------ configs/odroidxu4_defconfig | 6 +----- configs/raspberrypi2_defconfig | 6 +----- configs/raspberrypi3_defconfig | 6 +----- configs/raspberrypi_defconfig | 11 ++--------- 7 files changed, 8 insertions(+), 39 deletions(-) diff --git a/configs/bananapi_defconfig b/configs/bananapi_defconfig index c5d7fde6af..37a37b3a0c 100644 --- a/configs/bananapi_defconfig +++ b/configs/bananapi_defconfig @@ -7,11 +7,9 @@ BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-bananapi" BR2_OPTIMIZE_2=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TARGET_OPTIMIZATION="-pipe" -BR2_TARGET_GENERIC_HOSTNAME="" -BR2_TARGET_GENERIC_ISSUE="" -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_OVERLAY="board/common/overlay board/bananapi/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y @@ -20,7 +18,6 @@ BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.1.27" BR2_LINUX_KERNEL_PATCH="board/bananapi/linux-rtl8192cu.patch.gz board/bananapi/linux-clk-dmesg-flood.patch.gz" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/bananapi/kernel.config" -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x40008000" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-bananapi" BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox.config" @@ -81,7 +78,6 @@ BR2_PACKAGE_NTP=y BR2_PACKAGE_NTP_NTPDATE=y BR2_PACKAGE_OPENSSH=y BR2_PACKAGE_PPPD=y -BR2_PACKAGE_WGET=y BR2_PACKAGE_WIRELESS_TOOLS=y BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_WPA_SUPPLICANT_EAP=y diff --git a/configs/odroidc1_defconfig b/configs/odroidc1_defconfig index 76c9d38c7d..67b1c72460 100644 --- a/configs/odroidc1_defconfig +++ b/configs/odroidc1_defconfig @@ -17,11 +17,9 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y BR2_TARGET_OPTIMIZATION="-pipe" -BR2_TARGET_GENERIC_HOSTNAME="" -BR2_TARGET_GENERIC_ISSUE="" -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_OVERLAY="board/common/overlay board/odroidc1/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y @@ -86,7 +84,6 @@ BR2_PACKAGE_NTP=y BR2_PACKAGE_NTP_NTPDATE=y BR2_PACKAGE_OPENSSH=y BR2_PACKAGE_PPPD=y -BR2_PACKAGE_WGET=y BR2_PACKAGE_WIRELESS_TOOLS=y BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_WPA_SUPPLICANT_EAP=y diff --git a/configs/odroidc2_defconfig b/configs/odroidc2_defconfig index d329491e9a..b476252fcb 100644 --- a/configs/odroidc2_defconfig +++ b/configs/odroidc2_defconfig @@ -3,12 +3,8 @@ BR2_DL_DIR="$(TOPDIR)/.download" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-odroidc2" BR2_OPTIMIZE_2=y -BR2_KERNEL_HEADERS_3_14=y -BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_EXTERNAL=y BR2_TARGET_OPTIMIZATION="-pipe" -BR2_TARGET_GENERIC_HOSTNAME="" -BR2_TARGET_GENERIC_ISSUE="" -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" BR2_ROOTFS_OVERLAY="board/common/overlay board/odroidc2/overlay" @@ -75,7 +71,6 @@ BR2_PACKAGE_NTP=y BR2_PACKAGE_NTP_NTPDATE=y BR2_PACKAGE_OPENSSH=y BR2_PACKAGE_PPPD=y -BR2_PACKAGE_WGET=y BR2_PACKAGE_WIRELESS_TOOLS=y BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_WPA_SUPPLICANT_EAP=y diff --git a/configs/odroidxu4_defconfig b/configs/odroidxu4_defconfig index e478f8d505..6315b8fc5b 100644 --- a/configs/odroidxu4_defconfig +++ b/configs/odroidxu4_defconfig @@ -7,18 +7,15 @@ BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-odroidxu4" BR2_OPTIMIZE_2=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TARGET_OPTIMIZATION="-pipe" -BR2_TARGET_GENERIC_HOSTNAME="" -BR2_TARGET_GENERIC_ISSUE="" -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_OVERLAY="board/common/overlay board/odroidxu4/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/e337a208d84d60456e3ad1c1ad77b2801a94a90a.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="odroidxu3" -BR2_LINUX_KERNEL_ZIMAGE=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="exynos5422-odroidxu3" BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox.config" @@ -77,7 +74,6 @@ BR2_PACKAGE_NTP=y BR2_PACKAGE_NTP_NTPDATE=y BR2_PACKAGE_OPENSSH=y BR2_PACKAGE_PPPD=y -BR2_PACKAGE_WGET=y BR2_PACKAGE_WIRELESS_TOOLS=y BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_WPA_SUPPLICANT_EAP=y diff --git a/configs/raspberrypi2_defconfig b/configs/raspberrypi2_defconfig index 53d286b279..06310765f5 100644 --- a/configs/raspberrypi2_defconfig +++ b/configs/raspberrypi2_defconfig @@ -7,18 +7,15 @@ BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-raspberrypi2" BR2_OPTIMIZE_2=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TARGET_OPTIMIZATION="-pipe" -BR2_TARGET_GENERIC_HOSTNAME="" -BR2_TARGET_GENERIC_ISSUE="" -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_OVERLAY="board/common/overlay board/raspberrypi2/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/03f35fe498e5516091e4fd66d1700e8d0b0f4915.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" -BR2_LINUX_KERNEL_ZIMAGE=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2709-rpi-2-b" BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox.config" @@ -80,7 +77,6 @@ BR2_PACKAGE_NTP=y BR2_PACKAGE_NTP_NTPDATE=y BR2_PACKAGE_OPENSSH=y BR2_PACKAGE_PPPD=y -BR2_PACKAGE_WGET=y BR2_PACKAGE_WIRELESS_TOOLS=y BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_WPA_SUPPLICANT_EAP=y diff --git a/configs/raspberrypi3_defconfig b/configs/raspberrypi3_defconfig index da79d13f44..31277f9fbf 100644 --- a/configs/raspberrypi3_defconfig +++ b/configs/raspberrypi3_defconfig @@ -7,18 +7,15 @@ BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-raspberrypi3" BR2_OPTIMIZE_2=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TARGET_OPTIMIZATION="-pipe" -BR2_TARGET_GENERIC_HOSTNAME="" -BR2_TARGET_GENERIC_ISSUE="" -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_OVERLAY="board/common/overlay board/raspberrypi3/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/03f35fe498e5516091e4fd66d1700e8d0b0f4915.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" -BR2_LINUX_KERNEL_ZIMAGE=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b" BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox.config" @@ -80,7 +77,6 @@ BR2_PACKAGE_NTP=y BR2_PACKAGE_NTP_NTPDATE=y BR2_PACKAGE_OPENSSH=y BR2_PACKAGE_PPPD=y -BR2_PACKAGE_WGET=y BR2_PACKAGE_WIRELESS_TOOLS=y BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_WPA_SUPPLICANT_EAP=y diff --git a/configs/raspberrypi_defconfig b/configs/raspberrypi_defconfig index 22e1a5e103..6e2a398258 100644 --- a/configs/raspberrypi_defconfig +++ b/configs/raspberrypi_defconfig @@ -4,25 +4,19 @@ BR2_DL_DIR="$(TOPDIR)/.download" BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-raspberrypi" BR2_OPTIMIZE_2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -BR2_GLIBC_VERSION_2_23=y -BR2_BINUTILS_VERSION_2_26_X=y -BR2_GCC_VERSION_5_X=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_OPTIMIZATION="-pipe" -BR2_TARGET_GENERIC_HOSTNAME="" -BR2_TARGET_GENERIC_ISSUE="" -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_OVERLAY="board/common/overlay board/raspberrypi/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/830c04fea80e48ecf1de1fc64c703b495713af17.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" -BR2_LINUX_KERNEL_ZIMAGE=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-cm" BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox.config" @@ -85,7 +79,6 @@ BR2_PACKAGE_NTP=y BR2_PACKAGE_NTP_NTPDATE=y BR2_PACKAGE_OPENSSH=y BR2_PACKAGE_PPPD=y -BR2_PACKAGE_WGET=y BR2_PACKAGE_WIRELESS_TOOLS=y BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_WPA_SUPPLICANT_EAP=y