base-files: add upgraded to the list of daemons not killed
[openwrt/openwrt.git] / package / base-files / files / lib / upgrade / common.sh
index 824a099801211a08644115bfd2366deec9b45f3d..2e92b5a0a3467a114f19d52ce304aade2f10b54b 100644 (file)
@@ -53,14 +53,28 @@ run_ramfs() { # <command> [...]
        install_bin /bin/busybox /bin/ash /bin/sh /bin/mount /bin/umount        \
                /sbin/pivot_root /usr/bin/wget /sbin/reboot /bin/sync /bin/dd   \
                /bin/grep /bin/cp /bin/mv /bin/tar /usr/bin/md5sum "/usr/bin/[" \
-               /bin/vi /bin/ls /bin/cat /usr/bin/awk /usr/bin/hexdump          \
-               /bin/sleep /bin/zcat /usr/bin/bzcat /usr/bin/printf /usr/bin/wc
+               /bin/dd /bin/vi /bin/ls /bin/cat /usr/bin/awk /usr/bin/hexdump  \
+               /bin/sleep /bin/zcat /usr/bin/bzcat /usr/bin/printf /usr/bin/wc \
+               /bin/cut /usr/bin/printf /bin/sync /bin/mkdir /bin/rmdir        \
+               /bin/rm /usr/bin/basename /bin/kill /bin/chmod
 
        install_bin /sbin/mtd
+       install_bin /sbin/ubi
+       install_bin /sbin/mount_root
+       install_bin /sbin/snapshot
+       install_bin /sbin/snapshot_tool
+       install_bin /usr/sbin/ubiupdatevol
+       install_bin /usr/sbin/ubiattach
+       install_bin /usr/sbin/ubiblock
+       install_bin /usr/sbin/ubiformat
+       install_bin /usr/sbin/ubidetach
+       install_bin /usr/sbin/ubirsvol
+       install_bin /usr/sbin/ubirmvol
+       install_bin /usr/sbin/ubimkvol
        for file in $RAMFS_COPY_BIN; do
-               install_bin $file
+               install_bin ${file//:/ }
        done
-       install_file /etc/resolv.conf /lib/functions.sh /lib/functions.sh /lib/upgrade/*.sh $RAMFS_COPY_DATA
+       install_file /etc/resolv.conf /lib/functions.sh /lib/functions/*.sh /lib/upgrade/*.sh $RAMFS_COPY_DATA
 
        supivot $RAM_ROOT /mnt || {
                echo "Failed to switch over to ramfs. Please reboot."
@@ -99,7 +113,7 @@ kill_remaining() { # [ <signal> ]
 
                case "$name" in
                        # Skip essential services
-                       *procd*|*ash*|*init*|*watchdog*|*ssh*|*dropbear*|*telnet*|*login*|*hostapd*|*wpa_supplicant*|*nas*) : ;;
+                       *procd*|*upgraded*|*ash*|*init*|*watchdog*|*ssh*|*dropbear*|*telnet*|*login*|*hostapd*|*wpa_supplicant*|*nas*) : ;;
 
                        # Killable process
                        *)
@@ -168,11 +182,11 @@ get_image() { # <source> [ <command> ]
 }
 
 get_magic_word() {
-       get_image "$@" | dd bs=2 count=1 2>/dev/null | hexdump -v -n 2 -e '1/1 "%02x"'
+       (get_image "$@" | dd bs=2 count=1 | hexdump -v -n 2 -e '1/1 "%02x"') 2>/dev/null
 }
 
 get_magic_long() {
-       get_image "$@" | dd bs=4 count=1 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
+       (get_image "$@" | dd bs=4 count=1 | hexdump -v -n 4 -e '1/1 "%02x"') 2>/dev/null
 }
 
 jffs2_copy_config() {