X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/75b6ff70318b01f5a7ef2d4d3959ec5f25dc6b03..8ef0e1eb51ad54bbcd21bf22dc3af695120beb2a:/package/base-files/files/lib/upgrade/common.sh?ds=sidebyside diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh index 06c257b63..bf9c40d29 100644 --- a/package/base-files/files/lib/upgrade/common.sh +++ b/package/base-files/files/lib/upgrade/common.sh @@ -21,6 +21,9 @@ 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 + } shift for link in "$@"; do { dest="$RAM_ROOT/$link" @@ -32,7 +35,7 @@ install_bin() { # [ ... ] pivot() { # mount | grep "on $1 type" 2>&- 1>&- || mount -o bind $1 $1 - mkdir -p $1$2 $1/proc $1/dev $1/tmp $1/jffs && \ + mkdir -p $1$2 $1/proc $1/dev $1/tmp $1/overlay && \ mount -o move /proc $1/proc && \ pivot_root $1 $1$2 || { umount $1 $1 @@ -40,7 +43,7 @@ pivot() { # } mount -o move $2/dev /dev mount -o move $2/tmp /tmp - mount -o move $2/jffs /jffs 2>&- + mount -o move $2/overlay /overlay 2>&- return 0 } @@ -60,9 +63,9 @@ run_ramfs() { # [...] mount -o remount,ro /mnt umount -l /mnt - grep /jffs /proc/mounts > /dev/null && { - mount -o remount,ro /jffs - umount -l /jffs + grep /overlay /proc/mounts > /dev/null && { + mount -o remount,ro /overlay + umount -l /overlay } # spawn a new shell from ramdisk to reduce the probability of cache issues @@ -124,7 +127,11 @@ get_image() { # [ ] } get_magic_word() { - get_image "$@" | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"' + get_image "$@" | dd bs=2 count=1 2>/dev/null | hexdump -v -n 2 -e '1/1 "%02x"' +} + +get_magic_long() { + get_image "$@" | dd bs=4 count=1 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"' } refresh_mtd_partitions() {