From 53edda1e3668752d18b2bbf4c3d6edc7e3ab1b6e Mon Sep 17 00:00:00 2001 From: mirko Date: Wed, 19 Dec 2012 16:07:46 +0000 Subject: Do not overload mount-call - trying to reduce confusion The behaviour of calling 'mount' differed depending on whether it called the busybox-mount, the mount of util-linux, the mount defined in /lib/functions.sh and /lib/functions/boot.sh /etc/preinit even included /lib/functions.sh and /lib/functions/boot.sh, both re-defining 'mount'. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34792 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/files/lib/upgrade/common.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'package/base-files/files/lib/upgrade') diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh index e6de34849..e796c7bac 100644 --- a/package/base-files/files/lib/upgrade/common.sh +++ b/package/base-files/files/lib/upgrade/common.sh @@ -36,16 +36,16 @@ install_bin() { # [ ... ] pivot() { # mount | grep "on $1 type" 2>&- 1>&- || mount -o bind $1 $1 mkdir -p $1$2 $1/proc $1/sys $1/dev $1/tmp $1/overlay && \ - mount -o move /proc $1/proc && \ + mount -o noatime,move /proc $1/proc && \ pivot_root $1 $1$2 || { umount $1 $1 return 1 } - mount -o move $2/sys /sys - mount -o move $2/dev /dev - mount -o move $2/tmp /tmp - mount -o move $2/overlay /overlay 2>&- + mount -o noatime,move $2/sys /sys + mount -o noatime,move $2/dev /dev + mount -o noatime,move $2/tmp /tmp + mount -o noatime,move $2/overlay /overlay 2>&- return 0 } @@ -71,7 +71,7 @@ run_ramfs() { # [...] umount -l /mnt grep /overlay /proc/mounts > /dev/null && { - mount -o remount,ro /overlay + mount -o noatime,remount,ro /overlay umount -l /overlay } -- cgit v1.2.3 From 5ca25ac981296646898bc8810dd31e01ebaf84d1 Mon Sep 17 00:00:00 2001 From: mirko Date: Fri, 21 Dec 2012 12:10:21 +0000 Subject: [package/base-files] hot-fix nameclash in sysupgrade: rename pivot() to supivot() in sysupgrade Sysupgrade defines its very own pivot() function. Prior merging boot.sh and functions.sh sysupgrade just included boot.sh, now it includes functions.sh which defines pivot() as well, however slightly different which causes sysupgrade to fail. This is a hot-fix to unbreak sysupgrade, however those two pivot() functions should actually get merged. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34815 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/files/lib/upgrade/common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'package/base-files/files/lib/upgrade') diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh index e796c7bac..2e123ab3c 100644 --- a/package/base-files/files/lib/upgrade/common.sh +++ b/package/base-files/files/lib/upgrade/common.sh @@ -33,7 +33,7 @@ install_bin() { # [ ... ] }; done } -pivot() { # +supivot() { # mount | grep "on $1 type" 2>&- 1>&- || mount -o bind $1 $1 mkdir -p $1$2 $1/proc $1/sys $1/dev $1/tmp $1/overlay && \ mount -o noatime,move /proc $1/proc && \ @@ -62,7 +62,7 @@ run_ramfs() { # [...] done install_file /etc/resolv.conf /lib/functions.sh /lib/functions.sh /lib/upgrade/*.sh $RAMFS_COPY_DATA - pivot $RAM_ROOT /mnt || { + supivot $RAM_ROOT /mnt || { echo "Failed to switch over to ramfs. Please reboot." exit 1 } -- cgit v1.2.3 From 35dde6748e98a2a7725e220c5ea8f63c7d9c185c Mon Sep 17 00:00:00 2001 From: blogic Date: Wed, 13 Mar 2013 18:11:19 +0000 Subject: [base-files] make basefiles aware of procd Signed-off-by: John Crispin git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36003 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/files/lib/upgrade/common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'package/base-files/files/lib/upgrade') diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh index 2e123ab3c..969aecb7f 100644 --- a/package/base-files/files/lib/upgrade/common.sh +++ b/package/base-files/files/lib/upgrade/common.sh @@ -38,7 +38,7 @@ supivot() { # mkdir -p $1$2 $1/proc $1/sys $1/dev $1/tmp $1/overlay && \ mount -o noatime,move /proc $1/proc && \ pivot_root $1 $1$2 || { - umount $1 $1 + umount -l $1 $1 return 1 } -- cgit v1.2.3 From 98636ab77d7e7ce6d4f2d1d977708ad0f1d635e0 Mon Sep 17 00:00:00 2001 From: blogic Date: Thu, 14 Mar 2013 18:43:58 +0000 Subject: [base-files] sysupgrade was broken as procd was getting killed Signed-off-by: John Crispin git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36031 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/files/lib/upgrade/common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'package/base-files/files/lib/upgrade') diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh index 969aecb7f..df842bf92 100644 --- a/package/base-files/files/lib/upgrade/common.sh +++ b/package/base-files/files/lib/upgrade/common.sh @@ -99,7 +99,7 @@ kill_remaining() { # [ ] case "$name" in # Skip essential services - *ash*|*init*|*watchdog*|*ssh*|*dropbear*|*telnet*|*login*|*hostapd*|*wpa_supplicant*) : ;; + *procd*|*ash*|*init*|*watchdog*|*ssh*|*dropbear*|*telnet*|*login*|*hostapd*|*wpa_supplicant*) : ;; # Killable process *) -- cgit v1.2.3 From fbdb365ec23e45cbb1b68bfcffaad1d220400502 Mon Sep 17 00:00:00 2001 From: florian Date: Fri, 22 Mar 2013 10:06:06 +0000 Subject: base-files: sysupgrade fail with eglibc With eglibc, "ldd busybox" give us libcrypt.so.1 => /lib/libcrypt.so.1 (0x774be000) libm.so.6 => /lib/libm.so.6 (0x773e4000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x773c0000) libc.so.6 => /lib/libc.so.6 (0x77276000) /lib/ld.so.1 (0x774fe000) Thus /lib/ld.so.1 is not printed by the libs fonction and isn't copied to the 'new' root before pivot root libs() { ldd $* | awk '{print $3}'; } https://dev.openwrt.org/browser/trunk/package/base-files/files/lib/upgrade/common.sh With uclibc the last line of "ldd busybox" is ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x77ada000) Don't know for musl! This patch replace https://dev.openwrt.org/changeset/19167, as glibc is gone The other way around is to rework libs() Please apply the fix (mine or another) on trunk and AA Might fix https://dev.openwrt.org/ticket/12273 Signed-off-by: Etienne CHAMPETIER Signed-off-by: Florian Fainelli git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36107 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/files/lib/upgrade/common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'package/base-files/files/lib/upgrade') diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh index df842bf92..fbe54a5ee 100644 --- a/package/base-files/files/lib/upgrade/common.sh +++ b/package/base-files/files/lib/upgrade/common.sh @@ -21,8 +21,8 @@ install_bin() { # [ ... ] files=$1 [ -x "$src" ] && files="$src $(libs $src)" install_file $files - [ -e /lib/ld-linux.so.3 ] && { - install_file /lib/ld-linux.so.3 + [ -e /lib/ld.so.1 ] && { + install_file /lib/ld.so.1 } shift for link in "$@"; do { -- cgit v1.2.3 From 6b897bcdc144439050e38d82e506fc9d8d1827d3 Mon Sep 17 00:00:00 2001 From: blogic Date: Sun, 5 May 2013 12:41:42 +0000 Subject: sysupgrade: fixes broken pipe error during sysupgade Signed-off-by: John Crispin git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36548 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/files/lib/upgrade/common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'package/base-files/files/lib/upgrade') diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh index fbe54a5ee..6bb36db48 100644 --- a/package/base-files/files/lib/upgrade/common.sh +++ b/package/base-files/files/lib/upgrade/common.sh @@ -157,14 +157,14 @@ get_image() { # [ ] *) cmd="cat";; esac if [ -z "$conc" ]; then - local magic="$(eval $cmd $from | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"')" + local magic="$(eval $cmd $from 2>/dev/null | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"')" case "$magic" in 1f8b) conc="zcat";; 425a) conc="bzcat";; esac fi - eval "$cmd $from ${conc:+| $conc}" + eval "$cmd $from 2>/dev/null ${conc:+| $conc}" } get_magic_word() { -- cgit v1.2.3