--- a/package/base-files/files/etc/rc.common +++ b/package/base-files/files/etc/rc.common @@ -28,7 +28,10 @@ restart() { } boot() { - start "$@" + name="$(basename "${initscript}")" + name="${name##S[0-9][0-9]}" + [[ "$(uci -q get $name.$name[0].enabled)" == 0 || "$(uci -q get $name.config.enabled)" == 0 || "$(uci -q get $name.$name.enabled)" == 0 || "$(uci -q get $name.main.enabled)" == 0 || "$(uci -q get $name.$name[0].enable)" == 0 || "$(uci -q get $name.config.enable)" == 0 || "$(uci -q get $name.$name.enable)" == 0 || "$(uci -q get $name.main.enable)" == 0 ]] || start "$@"; + } shutdown() { --- a/package/base-files/files/lib/functions.sh +++ b/package/base-files/files/lib/functions.sh @@ -283,10 +283,13 @@ default_postinst() { if [ "$PKG_UPGRADE" != "1" ]; then "$i" enable fi - "$i" start + if "$i" enabled; then + "$i" start + fi fi done + [ -x /etc/init.d/ucitrack ] && /etc/init.d/ucitrack reload return $ret } --- a/package/base-files/files/etc/shinit +++ b/package/base-files/files/etc/shinit @@ -2,6 +2,8 @@ [ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi alias ll='ls -alF --color=auto' +alias reboot='(/bin/busybox reboot &);sleep 3;/bin/busybox reboot -f' +PS1='\[\e[32m\][\[\e[m\]\[\e[31m\]\u\[\e[m\]\[\e[33m\]@\[\e[m\]\[\e[32m\]\h\[\e[m\]:\[\e[m\]\[\e[32m\]\[\e[1;32m\]\@\[\e[36m\] \w\[\e[m\]\[\e[32m\]]\[\e[0m\] \$\[\e[m\] ' [ -z "$KSH_VERSION" -o \! -s /etc/mkshrc ] || . /etc/mkshrc --- a/package/base-files/files/sbin/sysupgrade +++ b/package/base-files/files/sbin/sysupgrade @@ -231,24 +231,15 @@ do_save_conffiles() { ask_bool 0 "Edit config file list" && vi "$CONFFILES" if [ "$SAVE_INSTALLED_PKGS" -eq 1 ]; then - echo "${INSTALLED_PACKAGES}" >> "$CONFFILES" - mkdir -p "$ETCBACKUP_DIR" - # Avoid touching filesystem on each backup - RAMFS="$(mktemp -d -t sysupgrade.XXXXXX)" - mkdir -p "$RAMFS/upper" "$RAMFS/work" - mount -t overlay overlay -o lowerdir=$ETCBACKUP_DIR,upperdir=$RAMFS/upper,workdir=$RAMFS/work $ETCBACKUP_DIR && - UMOUNT_ETCBACKUP_DIR=1 || { - echo "Cannot mount '$ETCBACKUP_DIR' as tmpfs to avoid touching disk while saving the list of installed packages." >&2 - ask_bool 0 "Abort" && exit - } - - # Format: pkg-name{rom,overlay,unkown} - # rom is used for pkgs in /rom, even if updated later - find /usr/lib/opkg/info -name "*.control" \( \ - \( -exec test -f /rom/{} \; -exec echo {} rom \; \) -o \ - \( -exec test -f /overlay/upper/{} \; -exec echo {} overlay \; \) -o \ - \( -exec echo {} unknown \; \) \ - \) | sed -e 's,.*/,,;s/\.control /\t/' > ${INSTALLED_PACKAGES} + . /etc/profile.d/opkg.sh && opkg save + [ -f /rom/etc/uci-defaults/zz-asu-defaults ] && { + cp -f /rom/etc/uci-defaults/zz-asu-defaults /etc/uci-defaults/zz-asu-defaults + echo "/etc/uci-defaults/zz-asu-defaults" >> $CONFFILES + } + else + uci -q del opkg.auto + uci -q del opkg.custom + uci commit opkg fi v "Saving config files..." --- a/package/base-files/files/etc/profile +++ b/package/base-files/files/etc/profile @@ -22,7 +23,11 @@ esac [ -n "$FAILSAFE" ] || { for FILE in /etc/profile.d/*.sh; do - [ -e "$FILE" ] && . "$FILE" + if [ "$FILE" == "/etc/profile.d/sysinfo.sh" ]; then + [ "$(which bash)" ] && env -i bash "$FILE" + else + [ -e "$FILE" ] && . "$FILE" + fi done unset FILE } --- a/package/base-files/files/lib/preinit/02_sysinfo +++ b/package/base-files/files/lib/preinit/02_sysinfo @@ -5,6 +5,7 @@ do_sysinfo_generic() { echo "$(strings /proc/device-tree/compatible | head -1)" > /tmp/sysinfo/board_name [ ! -e /tmp/sysinfo/model -a -e /proc/device-tree/model ] && \ echo "$(cat /proc/device-tree/model)" > /tmp/sysinfo/model + sed -i "s/friendlyelec/friendlyarm/" /tmp/sysinfo/board_name } boot_hook_add preinit_main do_sysinfo_generic