merge branches
authorMichael Prokop <mika@grml.org>
Thu, 16 Nov 2006 15:24:49 +0000 (16:24 +0100)
committerMichael Prokop <mika@grml.org>
Thu, 16 Nov 2006 15:24:49 +0000 (16:24 +0100)
1  2 
linuxrc

diff --cc linuxrc
+++ b/linuxrc
@@@ -2,7 -2,7 +2,11 @@@
  # Filename: /linuxrc
  # Purpose:  minirt for kernel 2.6 running on grml live-cd
  # Authors:  (c) Klaus Knopper <knoppix@knopper.net>, (c) Michael Prokop <mika@grml.org>
++<<<<<<< /home/mika/grml/hg/grml-terminalserver/linuxrc
 +# Latest change: Don Nov 16 14:46:00 CET 2006 [mika]
++=======
+ # Latest change: Mon Sep 18 23:19:53 CEST 2006 [mika]
++>>>>>>> /tmp/linuxrc~other.LuZLNY
  #######################################################################################
  
  # hardcoded configurable options
@@@ -264,20 -264,20 +268,37 @@@ echo "${GREEN}DONE.${NORMAL}
  
  # Ask user for modules
  askmodules(){
++<<<<<<< /home/mika/grml/hg/grml-terminalserver/linuxrc
 + TYPE="$1"; shift
 + echo "${TYPE} modules available:${WHITE}"
 + c=""
 + for m in "$@"; do
 +  if test -f "/modules/scsi/$m"; then
 +   test -z "$c"  && { echo -n " $m"; c="1"; } || { echo "               $m"; c=""; }
 +  fi
 + done
 + [ -n "$c" ] && echo ""
 + echo "Load ${TYPE} Modules?"
 + echo "[Enter full filename(s) (space-separated), Return for autoprobe, n for none] "
 + echo -n "insmod module(s)> "
 + read MODULES
 + case "$MODULES" in n|N) MODULES=""; ;; y|"")  MODULES="$*"; ;; esac
++=======
+  TYPE="$1"; shift
+  echo "${TYPE} modules available:${WHITE}"
+  c=""
+  for m in "$@"; do
+   if test -f "/modules/scsi/$m"; then
+    test -z "$c"  && { echo -n "       $m"; c="1"; } || { echo "               $m"; c=""; }
+   fi
+  done
+  [ -n "$c" ] && echo ""
+  echo "Load ${TYPE} Modules?"
+  echo "[Enter full filename(s) (space-separated), Return for autoprobe, n for none] "
+  echo -n "insmod module(s)> "
+  read MODULES
+  case "$MODULES" in n|N) MODULES=""; ;; y|"")  MODULES="$*"; ;; esac
++>>>>>>> /tmp/linuxrc~other.LuZLNY
  }
  
  # Try to load the given modules (full path or current directory)
@@@ -508,54 -508,17 +529,63 @@@ esa
  
  stage=2
  rundebugshell
- echo "before NFS"
- for i in $cmdline; do case "$i" in nfsdir=*|NFSDIR=*) eval $i;; esac; done
- [ -n "$nfsdir" ] && NFS="$nfsdir"
- echo "nfsdir=$NFS"
  # NFS
++<<<<<<< /home/mika/grml/hg/grml-terminalserver/linuxrc
 +if [ -n "$NFS" ]; then
 +  tmp_="$(getbootparam nfsdir)"
 +  echo -n "checkbootparam nfsdir   "
 +  checkbootparam "nfsdir" && echo "OK" || echo "FAILED"
 +  echo "getbootparam nfsdir=\"$tmp_\""
 +
 +  # put the mylibs into /lib for discover and udhcpc
 +  cdir
 +
 +  # starting hw-detection for network card
 +  echo "Starting hw-detection"
 +  kernel_version_=`uname -r`
 +  modules_to_load=$(/static/discover --disable-bus all --enable-bus pci --type network --normalize-whitespace --data-path=linux/module/name --data-version=$kernel_version_ | grep -v '^ $' | uniq)
 +  echo "trying to load the following network modules:  \"$modules_to_load\""
 +
 +  # FIXME modprobe is buggy from busybox
 +  modules_to_load=`echo $modules_to_load | xargs`
 +  modLoad()
 +  {
 +    for mod in $@ ; do
 +      tmp_="`modprobe -vn $mod`"
 +      if [ $? -ne 0 ]; then
 +        continue
 +      fi
 +      eval "$tmp_"
 +    done
 +  }
 +  modLoad "$modules_to_load"
 +
 +  # loading additional modules
 +  modLoad sunrpc lockd af_packet nfs
 +
 +  /static/udhcpc --foreground --quit --script=/static/udhcp-config.sh
 +  #echo "press <enter> to start a system shell and configure your system"
 +  #sh
 +
 +  # recreate the old dir structures
 +  rdir
 +  #rm -rf /myusr /mylib
 +
 +  log_begin_msg "${RED}Debug: NFS = ${NFS}${NORMAL}"
 +  log_begin_msg -n "${CRE}${BLUE}Looking for GRML in: ${MAGENTA}$NFS${NORMAL}   "
 +  if mount -t nfs "$NFS" -o "async,ro,nolock" /cdrom #>/dev/null 2>&1
++=======
+ if checkbootparam "nfsdir" ; then
+   NFS="$(getbootparam nfsdir)"
+ #  if test -z $NFS
+ #    then
+ #    NFS=192.168.0.1
+ #    echo "${CRE}${BLUE}No NFS-server given, assuming default $NFS${NORMAL}"
+ #  fi
+   echo "${RED}Debug: NFS = ${NFS}${NORMAL}"
+   log_begin_msg "${CRE} ${GREEN}*${NORMAL} Looking for CD-ROM in: ${MAGENTA}$NFS${NORMAL}"
+   if mountit -t nfs $NFS "-o ro" >/dev/null 2>&1
++>>>>>>> /tmp/linuxrc~other.LuZLNY
      then
      if test -f /cdrom/$GRML_DIR/$GRML_NAME
        then
@@@ -690,20 -652,20 +719,37 @@@ copy_to(
        TARGET_DEV=$(echo $CMDLINE | /usr/bin/tr ' ' '\n' | /bin/sed -n '/tohd=/s/.*=//p' | /usr/bin/tail -1)
        TARGET_DEV_DESC="$TARGET_DEV"
        # load filesystems
++<<<<<<< /home/mika/grml/hg/grml-terminalserver/linuxrc
 +      /GRML/sbin/modprobe fuse
 +      /GRML/sbin/modprobe ntfs
 +      FS="ext3 ext2 reiserfs reiser4 vfat ntfs"
 +
 +      MOUNTED=""
 +      for i in $FS; do
 +       if /GRML/bin/mount -o rw -t "$i" "$TARGET_DEV" "$TARGET"; then
 +        MOUNTED="true"
 +        break
 +       fi
 +      done
 +      if test -z "$MOUNTED"; then
 +        log_failure_msg "Copying grml CD-ROM failed. ${MAGENTA}$TARGET_DEV_DESC${NORMAL} is not mountable."
 +        sleep 2
++=======
+       /GRML/sbin/modprobe fuse
+       /GRML/sbin/modprobe ntfs
+       FS="ext3 ext2 reiserfs reiser4 vfat ntfs"
+       MOUNTED=""
+       for i in $FS; do
+        if /GRML/bin/mount -o rw -t "$i" "$TARGET_DEV" "$TARGET"; then
+         MOUNTED="true"
+         break
+        fi
+       done
+       if test -z "$MOUNTED"; then
+         echo -n "${CRE} ${RED}Copying grml CD-ROM failed. ${MAGENTA}$TARGET_DEV_DESC${RED} is not mountable.${NORMAL}"
+         sleep 2
++>>>>>>> /tmp/linuxrc~other.LuZLNY
          return 1
        fi
        # check for enough free space
    fi
  
    # do the real copy
++<<<<<<< /home/mika/grml/hg/grml-terminalserver/linuxrc
 +
 +  log_begin_msg "Copying grml CD-ROM to ${TARGET_DEV_DESC}... Please be patient."
 +  echo
++=======
+   echo "${CRE} ${GREEN}Copying grml CD-ROM to ${MAGENTA}$TARGET_DEV_DESC${GREEN}... Please be patient. ${NORMAL}"
++>>>>>>> /tmp/linuxrc~other.LuZLNY
    if [ -z "$use_cp" -a -x /usr/bin/rsync ]
    then
      # first cp the small files
      return 1
    fi
    # remount r/o
++<<<<<<< /home/mika/grml/hg/grml-terminalserver/linuxrc
 +  /bin/mount -n -o remount,ro $TARGET 1>/dev/null 2>&1
++=======
+   /bin/mount -n -o remount,ro $TARGET
++>>>>>>> /tmp/linuxrc~other.LuZLNY
    remount_grml
  }
  
@@@ -780,19 -734,19 +835,35 @@@ if  test -n "$DO_REMOUNT" -a -n "$FOUND
  
    SOURCE="/cdrom"
    TARGET="/cdrom2"
++<<<<<<< /home/mika/grml/hg/grml-terminalserver/linuxrc
 +
 +  # first copy_to, then boot_from
 +  if [ -n "$COPYTO" ]; then
 +     copy_to $COPYTO && REAL_TARGET="$TARGET"
 +  fi
 +  if [ -n "$BOOTFROM" ]; then
 +     boot_from
 +     if [ "$?" -eq "0" ]; then
 +        # set new source / target paths
 +        REAL_TARGET="$TARGET"
 +        SOURCE2="$LOOP_SOURCE"
 +        SOURCE="/cdrom2"
 +        TARGET="/cdrom3"
++=======
+   # first copy_to, then boot_from
+   if [ -n "$COPYTO" ]; then
+    copy_to $COPYTO && REAL_TARGET="$TARGET"
+   fi
+   if [ -n "$BOOTFROM" ]; then
+     boot_from
+     if [ "$?" -eq "0" ]; then
+       # set new source / target paths
+       REAL_TARGET="$TARGET"
+       SOURCE2="$LOOP_SOURCE"
+       SOURCE="/cdrom2"
+       TARGET="/cdrom3"
++>>>>>>> /tmp/linuxrc~other.LuZLNY
      fi
    fi
  fi
@@@ -827,9 -781,10 +898,16 @@@ export PAT
  # From here, we should have all essential commands available.
  hash -r
  
++<<<<<<< /home/mika/grml/hg/grml-terminalserver/linuxrc
 +# Did we remount the source media?
 +if  test -n "$REAL_TARGET"; then
 +  /bin/mount -n --move $REAL_TARGET /cdrom # move it back and go on to normal boot
++=======
+ # Did we remount the source media ?
+ if  test -n "$REAL_TARGET";
+ then
+    /bin/mount -n --move $REAL_TARGET /cdrom # move it back and go on to normal boot
++>>>>>>> /tmp/linuxrc~other.LuZLNY
  fi
  
  # Clean up /etc/mtab (and - just in case - make a nice entry for looped ISO)
@@@ -948,50 -904,50 +1026,98 @@@ rm -f /linuxr
  exit 0
  
  else
++<<<<<<< /home/mika/grml/hg/grml-terminalserver/linuxrc
 + log_failure_msg "Error: Can't find grml filesystem, sorry."
 + echo "
 +Are you booting via USB or firewire?
 +====================================
 +Try to boot with bootparam scandelay which delays the
 +bootup sequence so modules should have enough time
 +to initialize devices.
 +
 +Usage examples on bootprompt of grml-iso:
 +
 +grml scandelay       -> adds the default delay of 10 seconds
 +grml scandelay=13    -> adds a delay of 13 seconds
 +
 +Are you booting via SCSI?
 +====================================
 +Use the bootparam scsi.
 +Usage examples on bootprompt of grml-iso:
 +
 +grml scsi=probe      -> autoprobing of scsi modules
 +grml scsi=ask        -> list modules and prompt for module which should be loaded
 +grml scsi=modulename -> loads specified module (without .ko extension)
 +expert               -> activate expert mode, similar to scsi=ask
 +
 +Are you getting SquashFS/zlib errors?
 +=====================================
 +Try to boot with \"grml nodma\"
 +
 +Still problems?
 +===============
 +Make sure the ISO itself is ok.
 +Check the md5sum of downloaded ISO.
 +Used a CD-RW? Make sure the medium is ok!
 +
 +Please report any problems you notice to the grml-team!
 +http://grml.org/contact/
 +"
 + echo "${RED}Now dropping you to the busybox shell.${NORMAL}"
 + echo "${RED}Press reset button to quit.${NORMAL}"
 + echo ""
 + PS1="grml# "
 + export PS1
 + echo "6" > /proc/sys/kernel/printk
 + # Allow signals
 + trap 1 2 3 15
 + exec /static/sh
++=======
+  echo "${CRE}${RED}Can't find grml filesystem, sorry.${NORMAL}"
+  echo "
+ Are you booting via USB or firewire?
+ ====================================
+ Try to boot with bootparam scandelay which delays the
+ bootup sequence so modules should have enough time
+ to initialize devices.
+ Usage examples on bootprompt of grml-iso:
+ grml scandelay       -> adds the default delay of 10 seconds
+ grml scandelay=13    -> adds a delay of 13 seconds
+ Are you booting via SCSI?
+ ====================================
+ Use the bootparam scsi.
+ Usage examples on bootprompt of grml-iso:
+ grml scsi=probe      -> autoprobing of scsi modules
+ grml scsi=ask        -> list modules and prompt for module which should be loaded
+ grml scsi=modulename -> loads specified module (without .ko extension)
+ expert               -> activate expert mode, similar to scsi=ask
+ Are you getting SquashFS/zlib errors?
+ =====================================
+ Try to boot with \"grml nodma\"
+ Still problems?
+ ===============
+ Make sure the ISO itself is ok.
+ Check the md5sum of downloaded ISO.
+ Used a CD-RW? Make sure the medium is ok!
+ Please report any problems you notice to the grml-team!
+ http://grml.org/contact/
+ "
+  echo "${RED}Now dropping you to the busybox shell.${NORMAL}"
+  echo "${RED}Press reset button to quit.${NORMAL}"
+  echo ""
+  PS1="grml# "
+  export PS1
+  echo "6" > /proc/sys/kernel/printk
+  # Allow signals
+  trap 1 2 3 15
+  exec /static/sh
++>>>>>>> /tmp/linuxrc~other.LuZLNY
  fi
  # EOF