|
@@ -17,6 +17,9 @@ export VERBOSE=1
|
|
|
export CONFFILES=/tmp/sysupgrade.conffiles
|
|
|
export CONF_TAR=/tmp/sysupgrade.tgz
|
|
|
|
|
|
+RAMFS_COPY_BIN= # extra programs for temporary ramfs root
|
|
|
+RAMFS_COPY_DATA= # extra data files
|
|
|
+
|
|
|
|
|
|
[ -f "$CONF_TAR" ] || export SAVE_CONFIG=0
|
|
|
[ -f /tmp/sysupgrade.always.overwrite.bootdisk.partmap ] && export SAVE_PARTITIONS=0
|
|
@@ -41,32 +44,20 @@ supivot() { # <new_root> <old_root>
|
|
|
}
|
|
|
|
|
|
switch_to_ramfs() {
|
|
|
- install_bin /bin/busybox /bin/ash /bin/sh /bin/mount /bin/umount \
|
|
|
- /sbin/pivot_root /sbin/reboot /bin/sync /bin/dd /bin/grep \
|
|
|
- /bin/cp /bin/mv /bin/tar /usr/bin/md5sum "/usr/bin/[" /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 /usr/bin/find \
|
|
|
- /bin/mknod /bin/touch /bin/sed
|
|
|
-
|
|
|
- install_bin /sbin/mtd
|
|
|
- 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
|
|
|
- install_bin /usr/sbin/partx
|
|
|
- install_bin /usr/sbin/losetup
|
|
|
- install_bin /usr/sbin/mkfs.ext4
|
|
|
- for file in $RAMFS_COPY_BIN; do
|
|
|
- install_bin ${file//:/ }
|
|
|
+ for binary in \
|
|
|
+ /bin/busybox /bin/ash /bin/sh /bin/mount /bin/umount \
|
|
|
+ pivot_root mount_root reboot sync kill sleep \
|
|
|
+ md5sum hexdump cat zcat bzcat dd tar \
|
|
|
+ ls basename find cp mv rm mkdir rmdir mknod touch chmod \
|
|
|
+ '[' printf wc grep awk sed cut \
|
|
|
+ mtd partx losetup mkfs.ext4 \
|
|
|
+ ubiupdatevol ubiattach ubiblock ubiformat \
|
|
|
+ ubidetach ubirsvol ubirmvol ubimkvol \
|
|
|
+ snapshot snapshot_tool \
|
|
|
+ $RAMFS_COPY_BIN
|
|
|
+ do
|
|
|
+ local file="$(which "$binary" 2>/dev/null)"
|
|
|
+ [ -n "$file" ] && install_bin "$file"
|
|
|
done
|
|
|
install_file /etc/resolv.conf /lib/*.sh /lib/functions/*.sh /lib/upgrade/*.sh $RAMFS_COPY_DATA
|
|
|
|