diff --git a/arch/alpha/busy-config b/arch/alpha/busy-config index c3fbf3f..f6cb230 100644 --- a/arch/alpha/busy-config +++ b/arch/alpha/busy-config @@ -105,7 +105,7 @@ CONFIG_GZIP=y # CONFIG_FEATURE_RPM_BZ2 is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y -# CONFIG_FEATURE_TAR_BZIP2 is not set +CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_LZMA is not set # CONFIG_FEATURE_TAR_FROM is not set CONFIG_FEATURE_TAR_GZIP=y @@ -628,7 +628,7 @@ CONFIG_APP_UDHCPC=y # CONFIG_FEATURE_UDHCP_DEBUG is not set # CONFIG_FEATURE_RFC3397 is not set # CONFIG_VCONFIG is not set -# CONFIG_WGET is not set +CONFIG_WGET=y # CONFIG_FEATURE_WGET_STATUSBAR is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set diff --git a/arch/ia64/busy-config b/arch/ia64/busy-config index c3fbf3f..f6cb230 100644 --- a/arch/ia64/busy-config +++ b/arch/ia64/busy-config @@ -105,7 +105,7 @@ CONFIG_GZIP=y # CONFIG_FEATURE_RPM_BZ2 is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y -# CONFIG_FEATURE_TAR_BZIP2 is not set +CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_LZMA is not set # CONFIG_FEATURE_TAR_FROM is not set CONFIG_FEATURE_TAR_GZIP=y @@ -628,7 +628,7 @@ CONFIG_APP_UDHCPC=y # CONFIG_FEATURE_UDHCP_DEBUG is not set # CONFIG_FEATURE_RFC3397 is not set # CONFIG_VCONFIG is not set -# CONFIG_WGET is not set +CONFIG_WGET=y # CONFIG_FEATURE_WGET_STATUSBAR is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set diff --git a/arch/mips/busy-config b/arch/mips/busy-config index c3fbf3f..f6cb230 100644 --- a/arch/mips/busy-config +++ b/arch/mips/busy-config @@ -105,7 +105,7 @@ CONFIG_GZIP=y # CONFIG_FEATURE_RPM_BZ2 is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y -# CONFIG_FEATURE_TAR_BZIP2 is not set +CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_LZMA is not set # CONFIG_FEATURE_TAR_FROM is not set CONFIG_FEATURE_TAR_GZIP=y @@ -628,7 +628,7 @@ CONFIG_APP_UDHCPC=y # CONFIG_FEATURE_UDHCP_DEBUG is not set # CONFIG_FEATURE_RFC3397 is not set # CONFIG_VCONFIG is not set -# CONFIG_WGET is not set +CONFIG_WGET=y # CONFIG_FEATURE_WGET_STATUSBAR is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set diff --git a/arch/parisc/busy-config b/arch/parisc/busy-config index c3fbf3f..f6cb230 100644 --- a/arch/parisc/busy-config +++ b/arch/parisc/busy-config @@ -105,7 +105,7 @@ CONFIG_GZIP=y # CONFIG_FEATURE_RPM_BZ2 is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y -# CONFIG_FEATURE_TAR_BZIP2 is not set +CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_LZMA is not set # CONFIG_FEATURE_TAR_FROM is not set CONFIG_FEATURE_TAR_GZIP=y @@ -628,7 +628,7 @@ CONFIG_APP_UDHCPC=y # CONFIG_FEATURE_UDHCP_DEBUG is not set # CONFIG_FEATURE_RFC3397 is not set # CONFIG_VCONFIG is not set -# CONFIG_WGET is not set +CONFIG_WGET=y # CONFIG_FEATURE_WGET_STATUSBAR is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set diff --git a/arch/parisc64/busy-config b/arch/parisc64/busy-config index c3fbf3f..f6cb230 100644 --- a/arch/parisc64/busy-config +++ b/arch/parisc64/busy-config @@ -105,7 +105,7 @@ CONFIG_GZIP=y # CONFIG_FEATURE_RPM_BZ2 is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y -# CONFIG_FEATURE_TAR_BZIP2 is not set +CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_LZMA is not set # CONFIG_FEATURE_TAR_FROM is not set CONFIG_FEATURE_TAR_GZIP=y @@ -628,7 +628,7 @@ CONFIG_APP_UDHCPC=y # CONFIG_FEATURE_UDHCP_DEBUG is not set # CONFIG_FEATURE_RFC3397 is not set # CONFIG_VCONFIG is not set -# CONFIG_WGET is not set +CONFIG_WGET=y # CONFIG_FEATURE_WGET_STATUSBAR is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set diff --git a/arch/ppc/busy-config b/arch/ppc/busy-config index c3fbf3f..f6cb230 100644 --- a/arch/ppc/busy-config +++ b/arch/ppc/busy-config @@ -105,7 +105,7 @@ CONFIG_GZIP=y # CONFIG_FEATURE_RPM_BZ2 is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y -# CONFIG_FEATURE_TAR_BZIP2 is not set +CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_LZMA is not set # CONFIG_FEATURE_TAR_FROM is not set CONFIG_FEATURE_TAR_GZIP=y @@ -628,7 +628,7 @@ CONFIG_APP_UDHCPC=y # CONFIG_FEATURE_UDHCP_DEBUG is not set # CONFIG_FEATURE_RFC3397 is not set # CONFIG_VCONFIG is not set -# CONFIG_WGET is not set +CONFIG_WGET=y # CONFIG_FEATURE_WGET_STATUSBAR is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set diff --git a/arch/ppc64/busy-config b/arch/ppc64/busy-config index c3fbf3f..f6cb230 100644 --- a/arch/ppc64/busy-config +++ b/arch/ppc64/busy-config @@ -105,7 +105,7 @@ CONFIG_GZIP=y # CONFIG_FEATURE_RPM_BZ2 is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y -# CONFIG_FEATURE_TAR_BZIP2 is not set +CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_LZMA is not set # CONFIG_FEATURE_TAR_FROM is not set CONFIG_FEATURE_TAR_GZIP=y @@ -628,7 +628,7 @@ CONFIG_APP_UDHCPC=y # CONFIG_FEATURE_UDHCP_DEBUG is not set # CONFIG_FEATURE_RFC3397 is not set # CONFIG_VCONFIG is not set -# CONFIG_WGET is not set +CONFIG_WGET=y # CONFIG_FEATURE_WGET_STATUSBAR is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set diff --git a/arch/sparc/busy-config b/arch/sparc/busy-config index c3fbf3f..f6cb230 100644 --- a/arch/sparc/busy-config +++ b/arch/sparc/busy-config @@ -105,7 +105,7 @@ CONFIG_GZIP=y # CONFIG_FEATURE_RPM_BZ2 is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y -# CONFIG_FEATURE_TAR_BZIP2 is not set +CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_LZMA is not set # CONFIG_FEATURE_TAR_FROM is not set CONFIG_FEATURE_TAR_GZIP=y @@ -628,7 +628,7 @@ CONFIG_APP_UDHCPC=y # CONFIG_FEATURE_UDHCP_DEBUG is not set # CONFIG_FEATURE_RFC3397 is not set # CONFIG_VCONFIG is not set -# CONFIG_WGET is not set +CONFIG_WGET=y # CONFIG_FEATURE_WGET_STATUSBAR is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set diff --git a/arch/sparc64/busy-config b/arch/sparc64/busy-config index c3fbf3f..f6cb230 100644 --- a/arch/sparc64/busy-config +++ b/arch/sparc64/busy-config @@ -105,7 +105,7 @@ CONFIG_GZIP=y # CONFIG_FEATURE_RPM_BZ2 is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y -# CONFIG_FEATURE_TAR_BZIP2 is not set +CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_LZMA is not set # CONFIG_FEATURE_TAR_FROM is not set CONFIG_FEATURE_TAR_GZIP=y @@ -628,7 +628,7 @@ CONFIG_APP_UDHCPC=y # CONFIG_FEATURE_UDHCP_DEBUG is not set # CONFIG_FEATURE_RFC3397 is not set # CONFIG_VCONFIG is not set -# CONFIG_WGET is not set +CONFIG_WGET=y # CONFIG_FEATURE_WGET_STATUSBAR is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set diff --git a/arch/um/busy-config b/arch/um/busy-config index 456bbc4..06bc7db 100644 --- a/arch/um/busy-config +++ b/arch/um/busy-config @@ -47,7 +47,7 @@ CONFIG_GZIP=y # CONFIG_RPM is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y -# CONFIG_FEATURE_TAR_BZIP2 is not set +CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_EXCLUDE is not set CONFIG_FEATURE_TAR_GZIP=y CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY=y @@ -295,7 +295,7 @@ CONFIG_ROUTE=y # CONFIG_TFTP is not set # CONFIG_TRACEROUTE is not set # CONFIG_VCONFIG is not set -# CONFIG_WGET is not set +CONFIG_WGET=y # # udhcp Server/Client diff --git a/arch/x86/busy-config b/arch/x86/busy-config index c3fbf3f..f6cb230 100644 --- a/arch/x86/busy-config +++ b/arch/x86/busy-config @@ -105,7 +105,7 @@ CONFIG_GZIP=y # CONFIG_FEATURE_RPM_BZ2 is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y -# CONFIG_FEATURE_TAR_BZIP2 is not set +CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_LZMA is not set # CONFIG_FEATURE_TAR_FROM is not set CONFIG_FEATURE_TAR_GZIP=y @@ -628,7 +628,7 @@ CONFIG_APP_UDHCPC=y # CONFIG_FEATURE_UDHCP_DEBUG is not set # CONFIG_FEATURE_RFC3397 is not set # CONFIG_VCONFIG is not set -# CONFIG_WGET is not set +CONFIG_WGET=y # CONFIG_FEATURE_WGET_STATUSBAR is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set diff --git a/arch/x86_64/busy-config b/arch/x86_64/busy-config index c3fbf3f..f6cb230 100644 --- a/arch/x86_64/busy-config +++ b/arch/x86_64/busy-config @@ -105,7 +105,7 @@ CONFIG_GZIP=y # CONFIG_FEATURE_RPM_BZ2 is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y -# CONFIG_FEATURE_TAR_BZIP2 is not set +CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_LZMA is not set # CONFIG_FEATURE_TAR_FROM is not set CONFIG_FEATURE_TAR_GZIP=y @@ -628,7 +628,7 @@ CONFIG_APP_UDHCPC=y # CONFIG_FEATURE_UDHCP_DEBUG is not set # CONFIG_FEATURE_RFC3397 is not set # CONFIG_VCONFIG is not set -# CONFIG_WGET is not set +CONFIG_WGET=y # CONFIG_FEATURE_WGET_STATUSBAR is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set diff --git a/defaults/busy-config b/defaults/busy-config index c3fbf3f..f6cb230 100644 --- a/defaults/busy-config +++ b/defaults/busy-config @@ -105,7 +105,7 @@ CONFIG_GZIP=y # CONFIG_FEATURE_RPM_BZ2 is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y -# CONFIG_FEATURE_TAR_BZIP2 is not set +CONFIG_FEATURE_TAR_BZIP2=y # CONFIG_FEATURE_TAR_LZMA is not set # CONFIG_FEATURE_TAR_FROM is not set CONFIG_FEATURE_TAR_GZIP=y @@ -628,7 +628,7 @@ CONFIG_APP_UDHCPC=y # CONFIG_FEATURE_UDHCP_DEBUG is not set # CONFIG_FEATURE_RFC3397 is not set # CONFIG_VCONFIG is not set -# CONFIG_WGET is not set +CONFIG_WGET=y # CONFIG_FEATURE_WGET_STATUSBAR is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set diff --git a/defaults/linuxrc b/defaults/linuxrc index 925d619..c440d64 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -180,6 +180,9 @@ do real_rootflags\=*) REAL_ROOTFLAGS=`parse_opt "${x}"` ;; + tmprootsize\=*) + TMPROOTSIZE=`parse_opt "${x}"` + ;; keymap\=*) keymap=`parse_opt "${x}"` ;; @@ -354,8 +357,49 @@ do continue fi ;; + IMAGE\=http:*|IMAGE\=ftp:*) + + ROOT_DEV=${REAL_ROOT#*=*} + retval=1 + + good_msg "Making tmpfs for ${NEW_ROOT}" + if [ -n "${TMPROOTSIZE}" ]; then + mount -t tmpfs tmpfs ${NEW_ROOT} -o size="${TMPROOTSIZE}" + else + mount -t tmpfs tmpfs ${NEW_ROOT} + fi + + good_msg "Starting retrieval of ${ROOT_DEV}" + case "${ROOT_DEV}" in + *.tgz|*.tar.gz) + wget -O- "${ROOT_DEV}" | tar -xzf- -C ${NEW_ROOT} + retval=$? + ;; + *.tar.bz2) + wget -O- "${ROOT_DEV}" | tar -xjf- -C ${NEW_ROOT} + retval=$? + ;; + *) + bad_msg "Only tgz, tar.gz, tar.bz2 images supported" + exit 1 + ;; + esac + + if [ "${retval}" -eq '0' ] + then + good_msg "Retrieval and unpacking of image successful" + got_good_root=1 + break 2 # tmpfs will be root, doesn't need mounting + else + bad_msg "Retrieval or unpacking failed, will unmount and retry..." + umount ${NEW_ROOT} + sleep 10 + got_good_root=0 + continue + fi + ;; esac - + if [ "${REAL_ROOT}" = '' ] then # No REAL_ROOT determined/specified. Prompt user for root block device.