Only in /tftpboot/initrd/bin: wget
diff -ur ./scripts/live /tftpboot/initrd/scripts/live
--- ./scripts/live	2007-08-16 16:47:52.299132682 +0200
+++ /tftpboot/initrd/scripts/live	2007-08-16 16:24:12.000000000 +0200
@@ -431,19 +431,27 @@
     . /tmp/net-${DEVICE}.conf
     export HOSTNAME
 
-    if [ "${NFSROOT#*:}" = "$NFSROOT" ] && [ "$NETBOOT" != "cifs" ]; then
+    if [ "${NFSROOT#*:}" = "$NFSROOT" ] && [ "$NETBOOT" = "nfs" ]; then
 	NFSROOT=${ROOTSERVER}:${NFSROOT}
     fi
 
     [ "$quiet" != "y" ] && log_begin_msg "Trying netboot from ${NFSROOT}"
 
-    if [ "${NETBOOT}" != "nfs" ] && do_cifsmount ; then
-        rc=0
-    elif do_nfsmount ; then
-        NETBOOT="nfs"
-        export NETBOOT
-        rc=0
-    fi
+    case ${NETBOOT} in
+      samba) NETBOOT=cifs;;
+      smb) NETBOOT=cifs;;
+      http) NETBOOT=wget;;
+      https) NETBOOT=wget;;
+      ftp) NETBOOT=wget;;
+    esac
+
+    case ${NETBOOT} in
+      cifs) do_cifsmount && rc=0 ;;
+      nfs) do_nfsmount && rc=0 ;;
+      wget) do_wget && rc=0 ;;
+    esac
+
+    if [ $rc = 0 ] ; then export NETBOOT ; fi
 
     [ "$quiet" != "y" ] && log_end_msg
     return ${rc}
@@ -465,6 +473,18 @@
     return ${rc}
 }
 
+do_wget() {
+  rc=1
+  if [ -x /bin/wget ] ;then
+    mount -t ramfs ram ${mountpoint}
+    [ "$quiet" != "y" ] && log_begin_msg "Trying to download ${NFSROOT}"
+    dl_dir=${mountpoint}/${LIVE_MEDIA_PATH}
+    mkdir -p ${dl_dir}
+    ( cd ${dl_dir} && wget ${NFSROOT} ) && rc=0
+  fi
+  return ${rc}
+}
+
 do_cifsmount() {
     rc=1
     if [ -x "/sbin/mount.cifs" ]; then
@@ -797,6 +817,7 @@
     exec 7>&2
     exec > live.log
     exec 2>&1
+    tail -f live.log >&7 &
 
     parse_cmdline
 
