]> git.sur5r.net Git - bacula/rescue/commitdiff
Get rescue boot working
authorKern Sibbald <kern@sibbald.com>
Sat, 14 May 2005 19:43:54 +0000 (19:43 +0000)
committerKern Sibbald <kern@sibbald.com>
Sat, 14 May 2005 19:43:54 +0000 (19:43 +0000)
rescue/linux/cdrom/README
rescue/linux/cdrom/makebinaries
rescue/linux/cdrom/makeinitrd
rescue/linux/cdrom/makekernel
rescue/linux/cdrom/mkbootdisk [deleted file]
rescue/linux/cdrom/mkinitrd [deleted file]
rescue/linux/cdrom/rootsbin.list
rescue/linux/cdrom/roottree/init [deleted file]
rescue/linux/cdrom/roottree/init.new [deleted file]
rescue/linux/cdrom/roottree/linuxrc
rescue/linux/cdrom/yaird-0.0.5.tar.gz [deleted file]

index e2023e42ea36608f0c3bf42f14343241355ad2c5..dbb9f2d2e506f35f133f0781486a87b76dbc9775 100644 (file)
@@ -137,6 +137,8 @@ The boot process works as follows:
   select, it will boot.
 - The whole roottree is in the initrd.img and will be loaded in
   memory. It may take more time than you are used to to load.
+- isolinux also loads the kernel and starts it. The kernel finds
+  the initial ramdisk.
 - The script "linuxrc" in /roottree is run. This script is *very*
   simple and doesn't do much other than mounting /proc and
   remounting the root (/) read/write.
index ed6af5e1b60be4d38248d4be963d4cf36218f5b6..f026ffb100199f92e958ab32fdd8beae8de86e8d 100755 (executable)
@@ -62,6 +62,7 @@ for lib in `find roottree/sbin/ -type f -exec ldd {} \; | awk '{print $3}' | sor
      fi
   fi
 done
+cp -fp /lib/ld-linux.so.2 roottree/lib/
 strip `find roottree/lib/ -maxdepth 1 -type f` 2>/dev/null
 
 
index e5e87dc1bab4f9f7878fba500f466eecc8b8c2fe..6209a121abee54cdb2716364c4799edb53c69b02 100755 (executable)
@@ -2,7 +2,7 @@
 
 TOPDIR=`pwd`
 
-mkdir -p /mnt/loop1 /mnt/loop2
+mkdir -p /mnt/loop1 /mnt/loop2
 
 # we need to set aside a few loop devices. I chose (in reverse order of their appearance)
 # -- loop1 for the boot image
@@ -74,8 +74,8 @@ echo "Compressing the RAM disk image.... "
 rm -f cdtree/boot/isolinux/initrd.img
 
 # and gzip our RAM disk image and put it in the right place.
-gzip -9 -c root >cdtree/boot/isolinux/initrd.img
-gzip -9 < root >cdtree/boot/isolinux/initrd.img
+gzip -9 -c root >cdtree/boot/isolinux/initrd.img
+gzip -9 < root >cdtree/boot/isolinux/initrd.img
 if [ $? != 0 ] ; then
   echo "Build failed"
   exit 1
index eee2e23bf9fe753579998d3c575b11cd885b20b5..f2aaab5e1c72d5114724bce16c308c99adb8ddc2 100755 (executable)
@@ -6,7 +6,7 @@
 
 TOPDIR=`pwd`
 KERNEL=`uname -r` 
-KERNEL=2.6.10-1.770_FC3
+KERNEL=2.6.11-1.14_FC3
 
 rm -rf roottree/dev
 tar xfz dev.tar.gz -C roottree
@@ -24,12 +24,33 @@ rm -rf roottree/lib/modules
 mkdir -p roottree/lib/modules
 cp -af /lib/modules/$KERNEL/ roottree/lib/modules/
 # clean up just a bit
-rm -rf roottree/lib/modules/build
-rm -rf roottree/lib/modules/kernel/drivers/bluetooth
-rm -rf roottree/lib/modules/kernel/drivers/pcmcia
-rm -rf roottree/lib/modules/kernel/drivers/usb
-rm -rf roottree/lib/modules/kernel/drivers/video
-rm -rf roottree/lib/modules/kernel/drivers/isdn
+rm -rf roottree/lib/modules/$KERNEL/build
+rm -rf roottree/lib/modules/$KERNEL/kernel/drivers/bluetooth
+rm -rf roottree/lib/modules/$KERNEL/kernel/drivers/pcmcia
+rm -rf roottree/lib/modules/$KERNEL/kernel/drivers/usb
+rm -rf roottree/lib/modules/$KERNEL/kernel/drivers/video
+rm -rf roottree/lib/modules/$KERNEL/kernel/drivers/isdn
+rm -rf roottree/lib/modules/$KERNEL/kernel/sound
+rm -rf roottree/lib/modules/$KERNEL/kernel/drivers/sound
+rm -rf roottree/lib/modules/$KERNEL/kernel/drivers/crypto
+rm -rf roottree/lib/modules/$KERNEL/kernel/drivers/net/wireless
+rm -rf roottree/lib/modules/$KERNEL/kernel/drivers/net/appletalk
+rm -rf roottree/lib/modules/$KERNEL/kernel/drivers/net/tokenring
+rm -rf roottree/lib/modules/$KERNEL/kernel/drivers/net/irda
+rm -rf roottree/lib/modules/$KERNEL/kernel/drivers/media
+rm -rf roottree/lib/modules/$KERNEL/kernel/drivers/infiniband
+rm -rf roottree/lib/modules/$KERNEL/kernel/drivers/crypto
+rm -rf roottree/lib/modules/$KERNEL/kernel/net/appletalk
+rm -rf roottree/lib/modules/$KERNEL/kernel/net/bluetooth
+rm -rf roottree/lib/modules/$KERNEL/kernel/net/ipv6
+rm -rf roottree/lib/modules/$KERNEL/kernel/net/irda
+rm -rf roottree/lib/modules/$KERNEL/kernel/net/atm
+rm -rf roottree/lib/modules/$KERNEL/kernel/net/bridge
+rm -rf roottree/lib/modules/$KERNEL/kernel/net/sunrpc
+rm -rf roottree/lib/modules/$KERNEL/kernel/net/wanrouter
+rm -rf roottree/lib/modules/$KERNEL/kernel/net/tux
+
+
 
 kernel="/boot/vmlinuz-$KERNEL"
 echo "Coping $kernel to $TOPDIR/cdtree/boot/isolinux/vmlinuz"
diff --git a/rescue/linux/cdrom/mkbootdisk b/rescue/linux/cdrom/mkbootdisk
deleted file mode 100755 (executable)
index 243a77e..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-#!/bin/bash
-
-# mkbootdisk
-#
-# Written by Erik Troan <ewt@redhat.com>
-
-pause=yes
-unset kernel
-device=bootcd.iso
-unset verbose
-unset kernelargs
-unset mountopts
-unset isoimage
-unset realdev
-size=1440
-failed=0
-isoimage=1
-verbose=1
-
-MOUNTDIR=`mktemp -d /tmp/mkbootdisk.XXXXXX`
-PATH=/sbin:$PATH
-export PATH
-
-VERSION=1.5.2
-
-usage () {
-    cat >&2 <<EOF
-usage: `basename $0` [--version] [--noprompt] [--device <devicefile>] 
-       [--verbose -v] [--iso] [--kernelargs <args>] [--size <size>]  <kernel>
-       (ex: `basename $0` --device /dev/fd1 2.0.31)
-EOF
-    exit $1
-}
-
-while [ $# -gt 0 ]; do
-    case $1 in
-        --device)
-            shift
-            device=$1
-            ;;
-        --kernelargs)
-            shift
-            kernelargs=$1
-            ;;
-        --help)
-            usage 0
-            ;;
-        --iso)
-            isoimage=1
-            ;;
-        --size)
-            shift
-            size=$1
-            ;;
-        --noprompt)
-            unset pause
-            ;;
-        -v)
-            verbose=true
-            ;;
-        --verbose)
-            verbose=true
-            ;;
-        --version)
-            echo "mkbootdisk: version $VERSION"
-            exit 0
-            ;;
-        *)
-            if [ -z "$kernel" ]; then
-                kernel=$1
-            else
-                usage
-            fi
-            ;;
-    esac
-
-    shift
-done
-
-[ -z "$kernel" ] && usage 1
-
-[ -d /lib/modules/$kernel ] || {
-    echo "/lib/modules/$kernel is not a directory." >&2
-    exit 1
-}
-
-[ -f /boot/vmlinuz-$kernel ] || {
-    echo "/boot/vmlinuz-$kernel does not exist." >&2
-    exit 1
-}
-
-
-rootdev=`awk '$1 ~ /^[^#]/ && $2 ~ /^\/$/ { print $1 ; exit }' /etc/fstab`
-
-if [ $(echo $rootdev | cut -c1-6) = "LABEL=" ]; then
-    rootlabel=$(echo $rootdev | cut -c7-)
-
-    # whee, now we have to look through every partition looking for
-    # the thing called $rootlabel, which could be raid. Ick.
-
-    list=$(tail +3 /proc/partitions | awk '{ print $4 '} | grep '^md')
-    list="$list $(tail +3 /proc/partitions | 
-                        awk '{ print $4 '} | grep -v '^md')"
-    rootdev=""
-    for dev in $list; do
-        if tune2fs -l /dev/$dev >/dev/null 2>/dev/null; then
-            label=$(tune2fs -l /dev/$dev 2>/dev/null | 
-                grep "Filesystem volume name" | awk '{print $4}')
-            if [ "$label" = $rootlabel ]; then
-                rootdev=/dev/$dev
-                break
-            fi
-        fi
-    done
-fi
-
-if [ -z "$kernelargs" -a -x /sbin/grubby -a -f /boot/grub/grub.conf ]; then
-    # sed gross... this grep's for the args= line and removes the args=" and "$
-    defkernel=$(grubby --default-kernel)
-    if [ -n "$defkernel" ]; then
-        kernelargs=$(grubby --info "$defkernel" |
-                     sed -n '/^args=/{s/^args="//;s/"$//;p;}')
-    fi
-fi
-
-[ -z "$rootdev" ] && {
-    echo 'Cannot find root partition in /etc/fstab.' >&2
-    exit 1
-}
-
-rm -rf $MOUNTDIR
-mkdir $MOUNTDIR || {
-    echo "Failed to create $MOUNTDIR" >&2
-    exit 1
-}
-[ -d $MOUNTDIR ] || {
-    echo "$MOUNTDIR is not a directory!" >&2
-    exit 1
-}
-
-cfgfile=$MOUNTDIR/isolinux/isolinux.cfg
-bootmsg=$MOUNTDIR/isolinux/boot.msg
-
-# create an iso image; the directory is all we need
-[ -n "$verbose" ] && echo -n "Installing isolinux... "
-mkdir $MOUNTDIR/isolinux
-cp /usr/lib/syslinux/isolinux.bin $MOUNTDIR/isolinux
-[ -n "$verbose" ] && echo done
-
-
-BOOTDESTDIR=$MOUNTDIR/isolinux
-
-[ -n "$verbose" ] && echo -n "Copying /boot/vmlinuz-$kernel... "
-cp -p /boot/vmlinuz-$kernel $BOOTDESTDIR/vmlinuz
-[ $? = 0 ] || failed=1
-[ -n "$verbose" ] && echo "done."
-
-[ -n "$verbose" ] && echo -n "Copying /boot/initrd-$kernel.img... "
-if [ -f /boot/initrd-$kernel.img ]; then
-  cp -p /boot/initrd-$kernel.img $BOOTDESTDIR/initrd.img
-fi
-[ $? = 0 ] || failed=1
-[ -n "$verbose" ] && echo "done."
-
-[ -n "$verbose" ] && echo -n "Configuring bootloader... "
-
-[ -f $BOOTDESTDIR/initrd.img ] && INITRDARG="initrd=initrd.img"
-
-if [ $(echo $rootdev | cut -b 6-9) = "loop" ]; then
-    rootdev=$(ls -l $rootdev | sed 's/,//' | awk '{ printf("%02x%02x\n", $5, $6); }')
-fi
-
-cat > $cfgfile <<EOF
-default linux
-prompt 1
-display boot.msg
-timeout 100
-label linux
-        kernel vmlinuz
-        append $INITRDARG $kernelargs root=$rootdev
-EOF
-
-[ $? = 0 ] || failed=1
-
-[ -n "$verbose" ] && echo "append $INITRDARG kernelargs=$kernlargs root=$rootdev"
-
-
-chmod 644 $cfgfile
-
-if [ -f /etc/redhat-release ]; then
-    title="$(sed 's/ release.*$//' < /etc/redhat-release)"
-else
-    title="Red Hat Linux"
-fi
-
-
-cat >> $bootmsg <<EOF
-
-Press <return> (or wait 10 seconds) to boot your $title system from
-$rootdev. You may override the default linux kernel parameters by typing
-"linux <params>", followed by <return> if you like.
-
-EOF
-
-[ $? = 0 ] || failed=1
-
-[ -n "$verbose" ] && echo "done."
-
-mkisofs \
-    -A "Red Hat Linux Boot CD" \
-    -V "Red Hat Linux Boot CD" \
-    -J -R -T -quiet \
-    -o $device \
-    -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot \
-       -boot-load-size 4 -boot-info-table $MOUNTDIR
-rm -rf $MOUNTDIR/*
-rmdir $MOUNTDIR
-
-
-if [ $failed -eq 1 ]; then
-  exit 1
-else
-  exit 0
-fi
diff --git a/rescue/linux/cdrom/mkinitrd b/rescue/linux/cdrom/mkinitrd
deleted file mode 100755 (executable)
index 9bbf268..0000000
+++ /dev/null
@@ -1,741 +0,0 @@
-#!/bin/bash
-
-# mkinitrd
-#
-# Written by Erik Troan <ewt@redhat.com>
-#
-# Contributors:
-#       Elliot Lee <sopwith@cuc.edu>
-#       Miguel de Icaza <miguel@nuclecu.unam.mx>
-#       Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de>
-#       Michael K. Johnson <johnsonm@redhat.com>
-#       Pierre Habraken <Pierre.Habraken@ujf-grenoble.fr>
-#       Jakub Jelinek <jakub@redhat.com>
-#       Carlo Arenas Belon (carenas@chasqui.lared.net.pe>
-#       Keith Owens <kaos@ocs.com.au>
-#       Bernhard Rosenkraenzer <bero@redhat.com>
-#       Matt Wilson <msw@redhat.com>
-#       Trond Eivind Glomsrød <teg@redhat.com>
-#       Jeremy Katz <katzj@redhat.com>
-#       Preston Brown <pbrown@redhat.com>
-#       Bill Nottingham <notting@redhat.com>
-#       Guillaume Cottenceau <gc@mandrakesoft.com>
-
-
-PATH=/sbin:/usr/sbin:/bin:/usr/bin:$PATH
-export PATH
-
-VERSION=4.1.18
-
-compress=1
-allowmissing=""
-target="cdtree/boot/isolinux/initrd.img"
-kernel=2.6.10-1.770_FC3
-force=""
-verbose=""
-MODULES=""
-img_vers=""
-builtins=""
-pivot=1
-initramfs="1"
-modulefile=/etc/modules.conf
-rc=0
-
-IMAGESIZE=8000
-PRESCSIMODS="scsi_mod sd_mod unknown"
-fstab="/etc/fstab"
-
-rm -f $target
-if [ -f /etc/udev/udev.conf ]; then
-    USE_UDEV="yes"
-    UDEV_TMPFS="yes"
-    UDEV_KEEP_DEV="yes"
-    . /etc/udev/udev.conf
-    [ -x /sbin/udev.static ] || USE_UDEV=
-fi
-
-usage () {
-    echo "usage: `basename $0` [--version] [-v] [-f] [--preload <module>]" >&2
-    echo "       [--omit-scsi-modules] [--omit-raid-modules] [--omit-lvm-modules]" >&2
-    echo "       [--with=<module>] [--image-version] [--fstab=<fstab>] [--nocompress]" >&2
-    echo "       [--builtin=<module>] [--nopivot] <initrd-image> <kernel-version>" >&2
-    echo "" >&2
-    echo "       (ex: `basename $0` /boot/initrd-2.2.5-15.img 2.2.5-15)" >&2
-    exit 1
-}
-
-moduledep() {
-    if [ ! -f "/lib/modules/$kernel/modules.dep" ]; then
-        echo "No dep file found for kernel $kernel" >&2
-        exit 1
-    fi
-
-    [ -n "$verbose" ] && echo -n "Looking for deps of module $1"
-    deps=$(awk 'BEGIN { searched=ARGV[2]; ARGV[2]=""; rc=1 } \
-                function modname(filename) { match(filename, /\/([^\/]+)\.k?o:?$/, ret); return ret[1] } \
-                function show() { if (orig == searched) { print dep; orig=""; rc=0; exit } } \
-                /^\/lib/ { show(); \
-                           orig=modname($1); dep=""; \
-                           if ($2) { for (i = 2; i <= NF; i++) { dep=sprintf("%s %s", dep, modname($i)); } } } \
-                /^      / { dep=sprintf("%s %s", dep, modname($1));  } \
-                END      { show(); exit(rc) }' /lib/modules/$kernel/modules.dep $1)
-    [ -n "$verbose" ] && echo -e "\t$deps"
-}
-
-findmodule() {
-    skiperrors=""
-
-    if [ $1 == "--skiperrors" ]; then
-        skiperrors=--skiperrors
-        shift
-    fi
-
-    local modName=$1
-
-    if [ "$modName" = "off" -o "$modName" = "null" ]; then
-        return
-    fi
-
-    if [ $(echo $modName | cut -b1) = "-" ]; then
-        skiperrors=--skiperrors
-        modName=$(echo $modName | cut -b2-)
-    fi
-
-    if echo $builtins | egrep -q '(^| )'$modName'( |$)' ; then
-        [ -n "$verbose" ] && echo "module $modName assumed to be built in"
-        set +x
-        return
-    fi
-
-    # special cases
-    if [ "$modName" = "i2o_block" ]; then
-        findmodule i2o_core
-        findmodule -i2o_pci
-        modName="i2o_block"
-    elif [ "$modName" = "ppa" ]; then
-        findmodule parport
-        findmodule parport_pc
-        modName="ppa"
-    elif [ "$modName" = "sbp2" ]; then
-        findmodule ieee1394
-        findmodule ohci1394
-        modName="sbp2"
-    else
-        moduledep $modName
-        for i in $deps; do
-            findmodule $i
-        done
-    fi
-
-    for modExt in o.gz o ko ; do
-        if [ -d /lib/modules/$kernel/updates ]; then
-            fmPath=`(cd /lib/modules/$kernel/updates; echo find . -name $modName.$modExt -type f | /sbin/nash --quiet) | /bin/awk {'print $1; exit;'}`
-        fi
-        
-        if [ -f /lib/modules/$kernel/updates/$fmPath ]; then
-            fmPath=updates/$fmPath
-            break
-        fi
-
-        fmPath=`(cd /lib/modules/$kernel; echo find . -name $modName.$modExt -type f | /sbin/nash --quiet) | /bin/awk {'print $1; exit;'}`
-        if [ -f /lib/modules/$kernel/$fmPath ]; then
-            break
-        fi
-    done
-
-    if [ ! -f /lib/modules/$kernel/$fmPath ]; then
-        if [ -n "$skiperrors" ]; then
-            return
-        fi
-
-        # ignore the absence of the scsi modules
-        for n in $PRESCSIMODS; do
-            if [ "$n" = "$modName" ]; then
-                return;
-            fi
-        done;
-
-        if [ -n "$allowmissing" ]; then
-            echo "WARNING: No module $modName found for kernel $kernel, continuing anyway" >&2
-            return
-        fi
-    
-        echo "No module $modName found for kernel $kernel, aborting." >&2
-        exit 1
-    fi
-
-    # only need to add each module once
-    if ! echo $MODULES | grep -q "$fmPath" 2>/dev/null ; then
-        MODULES="$MODULES $fmPath"
-    fi
-}
-
-inst() {
-    if [ "$#" != "2" ];then
-        echo "usage: inst <file> <destination>"
-        return
-    fi 
-    [ -n "$verbose" ] && echo "$1 -> $2"
-    cp $1 $2
-}
-
-while [ $# -gt 0 ]; do
-    case $1 in
-        --fstab*)
-            if echo $1 | grep -q '=' ; then
-                fstab=`echo $1 | sed 's/^--fstab=//'`
-            else
-                fstab=$2
-                shift
-            fi              
-            ;;
-
-        --with-usb)
-            withusb=yes
-            ;;
-
-        --with*)
-            if echo $1 | grep -q '=' ; then
-                modname=`echo $1 | sed 's/^--with=//'`
-            else
-                modname=$2
-                shift
-            fi              
-
-            basicmodules="$basicmodules $modname"
-            ;;
-
-        --builtin*)
-            if echo $1 | grep -q '=' ; then
-                modname=`echo $1 | sed 's/^--builtin=//'`
-            else
-                modname=$2
-                shift
-            fi              
-            builtins="$builtins $modname"
-            ;;
-
-        --version)
-            echo "mkinitrd: version $VERSION"
-            exit 0
-            ;;
-
-        -v)
-            verbose=-v
-            ;;
-
-        --nocompress)
-            compress=""
-            ;;
-
-        --nopivot)
-            pivot=""
-            ;;
-
-        --ifneeded)
-            # legacy
-            ;;
-
-        -f)
-            force=1
-            ;;
-        --preload*)
-            if echo $1 | grep -q '=' ; then
-                modname=`echo $1 | sed 's/^--preload=//'`
-            else
-                modname=$2
-                shift
-            fi              
-            PREMODS="$PREMODS $modname"
-            ;;
-        --omit-scsi-modules)
-            PRESCSIMODS=""
-            noscsi=1;
-            ;;
-        --omit-raid-modules)
-            noraid=1;
-            ;;
-        --omit-lvm-modules)
-            nolvm=1
-            ;;
-        --image-version)
-            img_vers=yes
-            ;;
-        --noudev)
-            USE_UDEV=
-            ;;
-        --allow-missing)
-            allowmissing=yes
-            ;;
-        *)
-            if [ -z "$target" ]; then
-                target=$1
-            elif [ -z "$kernel" ]; then
-                kernel=$1
-            else
-                usage
-            fi
-            ;;
-    esac
-
-    shift
-done
-
-if [ -z "$target" -o -z "$kernel" ]; then
-    usage
-fi
-
-if [ -n "$img_vers" ]; then
-    target="$target-$kernel"
-fi
-
-if [ -z "$force" -a -f $target ]; then
-    echo "$target already exists." >&2
-    exit 1
-fi
-
-if [ ! -d /lib/modules/$kernel ]; then
-    echo "/lib/modules/$kernel is not a directory." >&2
-    exit 1
-fi
-
-if [ $UID != 0 ]; then
-    echo "mkinitrd must be run as root"
-    exit 1
-fi
-
-kernelmajor=`echo $kernel | cut -d . -f 1,2`
-
-if [ "$kernelmajor" == "2.4" ]; then
-    if [ -n "$verbose" ]; then echo "Creating old-style initrd"; fi
-    USE_UDEV=
-else
-    if [ -n "$verbose" ]; then echo "Creating initramfs"; fi
-    modulefile=/etc/modprobe.conf
-    initramfs=1
-    pivot=""
-fi
-
-# if we're not using udev, don't set any of the other bits
-[ -z "$USE_UDEV" ] && UDEV_TMPFS= && UDEV_KEEP_DEV=
-
-# find a temporary directory which doesn't use tmpfs
-TMPDIR=""
-for t in /tmp /var/tmp /root ${PWD}; do
-    if [ ! -d $t ]; then continue; fi
-    if ! echo access -w $t | /sbin/nash --quiet; then continue; fi
-
-    fs=$(df -T $t 2>/dev/null | awk '{line=$1;} END {printf $2;}')
-    if [ "$fs" != "tmpfs" ]; then 
-        TMPDIR=$t
-        break
-    fi
-done
-
-if [ -z "$TMPDIR" ]; then
-    echo "no temporary directory could be found" >&2
-    exit 1
-fi
-
-if [ $TMPDIR = "/root" -o $TMPDIR = "${PWD}" ]; then 
-    echo "WARNING: using $TMPDIR for temporary files" >&2
-fi
-
-for n in $PREMODS; do
-        findmodule $n
-done
-
-needusb=""
-if [ -n "$withusb" ]; then
-    # If / or /boot is on a USB device include the driver. With root by
-    # label we could still get some odd behaviors
-    for fs in / /boot ; do
-        esc=$(echo $fs | sed 's,/,\\/,g')
-        dev=$(mount | awk "/ on ${esc} / { print \$1 }" | sed 's/[0-9]*$//' | cut -d/ -f3)
-        if [ "$(echo $dev | cut -c1-2)" = sd ]; then
-          if [ `which kudzu 2>/dev/null` ]; then
-            host=$(kudzu --probe -b scsi |
-              gawk '/^device: '${dev}'/,/^host:/ { if (/^host/) { print $2; exit; } }')
-            if [ -d /proc/scsi/usb-storage-${host} -o -f /proc/scsi/usb-storage/${host} ]; then
-                needusb=1
-            fi
-          fi
-        fi
-    done
-fi
-
-if [ -n "$needusb" ]; then
-    drivers=$(awk '/^alias[[:space:]]+usb-controller[0-9]* / { print $3}' < $modulefile)
-    if [ -n "$drivers" ]; then
-        for driver in $drivers; do
-            findmodule $driver
-        done
-        findmodule scsi_mod
-        findmodule sd_mod
-        findmodule usb-storage
-    fi
-fi
-
-if [ -z "$noscsi" ]; then
-    if [ ! -f $modulefile ]; then
-        modulefile=/etc/conf.modules
-    fi
-
-    if [ -f $modulefile ]; then
-        scsimodules=`grep "alias[[:space:]]\+scsi_hostadapter" $modulefile | grep -v '^[        ]*#' | LC_ALL=C sort -u | awk '{ print $3 }'`
-
-        if [ -n "$scsimodules" ]; then
-            for n in $PRESCSIMODS; do
-                findmodule $n
-            done
-
-            for n in $scsimodules; do
-    # for now allow scsi modules to come from anywhere.  There are some
-    # RAID controllers with drivers in block/
-                findmodule $n
-            done
-        fi
-    fi
-fi
-
-# If we have ide devices and module ide, do the right thing
-ide=/proc/ide/ide*
-if [ -n "$ide" ]; then
-    findmodule -ide-disk
-fi
-
-# If we use LVM, include lvm-mod
-if [ -z "$nolvm" ]; then
-    if [ -f /proc/lvm/global  ]; then
-        if  grep -q '^VG:' /proc/lvm/global ; then
-            if [ "$kernelmajor" == "2.4" ]; then
-                findmodule -lvm-mod
-            else
-                findmodule -dm-mod
-            fi
-        fi
-    fi
-
-    if [ -x /sbin/dmsetup -a -e /dev/mapper/control ]; then
-        dmout=$(/sbin/dmsetup ls 2>/dev/null)
-        if [ "$dmout" != "No devices found" -a "$dmout" != "" ]; then
-            findmodule -dm-mod
-        fi
-    fi
-fi
-
-# If we have dasd devices, include the necessary modules (S/390)
-if [ -d /proc/dasd ]; then
-    findmodule -dasd_mod
-    findmodule -dasd_eckd_mod
-    findmodule -dasd_fba_mod
-fi
-
-if [ -z "$noraid" -a -f /proc/mdstat ]; then
-    # load appropriate raid devices if necessary -- we'll load whatever
-    # /proc/mdstat suggests
-
-    # note that the awk below contains a space and a tab
-    for level in $(awk '/^md[0-9][0-9]*[        ]*:/ { print $4 }' \
-                    /proc/mdstat | sort -u); do
-        case $level in
-        linear)
-            findmodule linear
-            startraid=1
-            ;;
-        multipath)
-            findmodule multipath
-            startraid=1
-            ;;
-        raid[01456])
-            findmodule $level
-            startraid=1
-            ;;
-        *)
-            echo "raid level $level (in /proc/mdstat) not recognized" >&2
-            ;;
-        esac
-    done
-
-    if [ -n "$startraid" ]; then
-        raiddevices=$(awk '/^md[0-9][0-9]*[        ]*:/ { print $1 }' \
-                            /proc/mdstat | sort)
-    fi
-fi
-
-# check to see if we need to set up a loopback filesystem
-rootdev=$(awk '/^[ \t]*[^#]/ { if ($2 == "/") { print $1; }}' $fstab)
-if echo $rootdev | cut -d/ -f3 | grep -q loop ; then
-    key="^# $(echo $rootdev | cut -d/ -f3 | tr '[a-z]' '[A-Z]'):"
-    if ! grep "$key" $fstab > /dev/null; then
-        echo "The root filesystem is on a $rootdev, but there is no magic entry in $fstab" 1>&2
-        echo "for this device. Consult the mkinitrd man page for more information" 2>&2
-        exit 1
-    fi
-
-    line=$(grep "$key" $fstab)
-    loopDev=$(echo $line | awk '{print $3}')
-    loopFs=$(echo $line | awk '{print $4}')
-    loopFile=$(echo $line | awk '{print $5}')
-
-    basicmodules="$basicmodules -loop"
-    if [ "$loopFs" = "vfat" -o "$loopFs" = "msdos" ]; then
-        basicmodules="$basicmodules -fat"
-    fi
-    basicmodules="$basicmodules -${loopFs}"
-# check if the root fs is on a logical volume
-elif ! echo $rootdev | cut -c1-6 |grep -q "LABEL=" ; then
-    rootdev=$(echo "readlink $rootdev" | /sbin/nash --quiet)
-    major=`ls -l $rootdev | sed -e "s/.* \\([0-9]\+\\), *[0-9]\+.*/\\1/"`
-    [ "$major" != "58" ] || root_lvm=1
-    if echo $rootdev |grep -q /dev/mapper 2>/dev/null ; then root_lvm=1 ; fi
-fi
-
-rootfs=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $3; }}' $fstab)
-rootopts=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $4; }}' $fstab)
-
-# in case the root filesystem is modular
-findmodule -${rootfs}
-
-if [ -n "$root_lvm" ]; then
-    if [ "$kernelmajor" == "2.4" ]; then    
-        findmodule -lvm-mod
-    else
-        findmodule -dm-mod
-        # DM requires all of these to be there in case someone used the
-        # feature.  broken.  (#132001)
-        findmodule -dm-mirror
-        findmodule -dm-zero
-        findmodule -dm-snapshot
-    fi
-fi
-
-for n in $basicmodules; do 
-    findmodule $n
-done
-
-if [ -n "$verbose" ]; then
-    echo "Using modules: $MODULES"
-fi
-
-
-MNTIMAGE=roottree
-IMAGE=root
-RCFILE=$MNTIMAGE/init
-
-if [ -z "$MNTIMAGE" -o -z "$IMAGE" ]; then
-    echo "Error creating temporaries.  Try again" >&2
-    exit 1
-fi
-
-mkdir -p $MNTIMAGE
-mkdir -p $MNTIMAGE/lib
-mkdir -p $MNTIMAGE/bin
-mkdir -p $MNTIMAGE/etc
-mkdir -p $MNTIMAGE/dev
-mkdir -p $MNTIMAGE/loopfs
-mkdir -p $MNTIMAGE/proc
-mkdir -p $MNTIMAGE/sys
-mkdir -p $MNTIMAGE/sysroot
-ln -s bin $MNTIMAGE/sbin
-
-inst /sbin/nash "$MNTIMAGE/bin/nash"
-inst /sbin/insmod.static "$MNTIMAGE/bin/insmod"
-ln -s /sbin/nash $MNTIMAGE/sbin/modprobe
-
-if [ -n "$USE_UDEV" ]; then
-    inst /sbin/udev.static $MNTIMAGE/sbin/udev
-    ln -s udev $MNTIMAGE/sbin/udevstart
-    mkdir -p $MNTIMAGE/etc/udev
-    inst /etc/udev/udev.conf $MNTIMAGE/etc/udev/udev.conf
-    ln -s /sbin/nash $MNTIMAGE/sbin/hotplug
-fi
-
-for MODULE in $MODULES; do
-    if [ -x /usr/bin/strip ]; then
-        /usr/bin/strip -g $verbose /lib/modules/$kernel/$MODULE -o $MNTIMAGE/lib/$(basename $MODULE)
-    else
-        cp $verbose -a /lib/modules/$kernel/$MODULE $MNTIMAGE/lib
-    fi
-done
-
-# mknod'ing the devices instead of copying them works both with and
-# without devfs...
-mknod $MNTIMAGE/dev/console c 5 1
-mknod $MNTIMAGE/dev/null c 1 3
-mknod $MNTIMAGE/dev/ram b 1 1
-mknod $MNTIMAGE/dev/systty c 4 0
-for i in 1 2 3 4; do
-    mknod $MNTIMAGE/dev/tty$i c 4 $i
-done
-
-# FIXME -- this won't work if you're using devfs
-if [ -n "$root_lvm" -a "$kernelmajor" == "2.4" ]; then
-    pvs=$(/sbin/pvscan | grep " PV " | /bin/awk {'print $5;'} |sed 's/"//g')
-    for pv in $pvs; do
-        cp $verbose --parents -a $pv $MNTIMAGE/
-    done
-
-    inst /sbin/vgwrapper "$MNTIMAGE/bin/vgwrapper"
-    ln "$MNTIMAGE/bin/vgwrapper" "$MNTIMAGE/bin/vgscan"
-    ln "$MNTIMAGE/bin/vgwrapper" "$MNTIMAGE/bin/vgchange"
-
-    mknod $MNTIMAGE/dev/lvm b 109 0
-fi
-
-if [ -n "$root_lvm" -a "$kernelmajor" == "2.6" ]; then
-    inst /sbin/lvm.static "$MNTIMAGE/bin/lvm"
-    if [ -f /etc/lvm/lvm.conf ]; then
-        cp $verbose --parents /etc/lvm/lvm.conf $MNTIMAGE/
-    fi
-fi
-
-echo "#!/bin/nash" > $RCFILE
-echo "" >> $RCFILE
-
-echo "mount -t proc /proc /proc" >> $RCFILE
-echo "setquiet" >> $RCFILE
-echo "echo Mounted /proc filesystem" >> $RCFILE
-
-if [ "$kernelmajor" != "2.4" ]; then
-    echo "echo Mounting sysfs" >> $RCFILE
-    echo "mount -t sysfs none /sys" >> $RCFILE
-fi
-
-if [ -n "$USE_UDEV" ]; then
-    if [ -n "$UDEV_TMPFS" ]; then
-        cat >> $RCFILE <<EOF
-echo Creating /dev
-mount -o mode=0755 -t tmpfs none /dev
-mknod /dev/console c 5 1
-mknod /dev/null c 1 3
-mknod /dev/zero c 1 5
-mkdir /dev/pts
-mkdir /dev/shm
-EOF
-    fi
-    cat >> $RCFILE <<EOF
-echo Starting udev
-/sbin/udevstart
-echo -n "/sbin/hotplug" > /proc/sys/kernel/hotplug
-EOF
-fi
-
-for MODULE in $MODULES; do
-    text=""
-    module=`echo $MODULE | sed "s|.*/||" | sed "s/.k\?o$//"`
-    fullmodule=`echo $MODULE | sed "s|.*/||"`
-
-    options=`sed -n -e "s/^options[     ][      ]*$module[      ][      ]*//p" $modulefile 2>/dev/null`
-
-    if [ -n "$verbose" ]; then
-        if [ -n "$options" ]; then
-            text=" with options $options"
-        fi
-        echo "Loading module $module$text"
-    fi
-    echo "echo \"Loading $fullmodule module\"" >> $RCFILE
-    echo "insmod /lib/$fullmodule $options" >> $RCFILE
-
-    # Hack - we need a delay after loading usb-storage to give things
-    #        time to settle down before we start looking a block devices
-    if [ "$module" = "usb-storage" ]; then
-        echo "sleep 5" >> $RCFILE
-    fi
-    if [ "$module" = "zfcp" -a -f /etc/zfcp.conf ]; then
-        echo "sleep 2" >> $RCFILE
-        cat /etc/zfcp.conf | grep -v "^#" | tr "A-Z" "a-z" | while read DEVICE SCSIID WWPN SCSILUN FCPLUN; do
-            echo "echo -n $WWPN > /sys/bus/ccw/drivers/zfcp/${DEVICE/0x/}/port_add" >>$RCFILE
-            echo "echo -n $FCPLUN > /sys/bus/ccw/drivers/zfcp/${DEVICE/0x/}/$WWPN/unit_add" >>$RCFILE
-            echo "echo -n 1 > /sys/bus/ccw/drivers/zfcp/${DEVICE/0x/}/online" >>$RCFILE
-        done
-    fi
-done
-
-# HACK: module loading + device creation isn't necessarily synchronous...
-# this will make sure that we have all of our devices before trying
-# things like RAID or LVM
-if [ -n "$USE_UDEV" ]; then
-  echo "/sbin/udevstart" >> $RCFILE
-fi
-
-if [ -n "$startraid" ]; then
-    for dev in $raiddevices; do
-        cp -a /dev/${dev} $MNTIMAGE/dev
-        echo "raidautorun /dev/${dev}" >> $RCFILE
-    done
-fi
-
-if [ -z "$USE_UDEV" ]; then
-    echo "echo Creating block devices" >> $RCFILE
-    echo "mkdevices /dev" >> $RCFILE
-fi
-
-if [ -n "$loopDev" ]; then
-    mkdir /initrd
-    cp -a $loopDev $MNTIMAGE/dev
-    cp -a $rootdev $MNTIMAGE/dev
-    echo "echo Mounting device containing loopback root filesystem" >> $RCFILE
-    echo "mount -t $loopFs $loopDev /loopfs" >> $RCFILE
-    echo "echo Setting up loopback device $rootdev" >> $RCFILE
-    echo "losetup $rootdev /loopfs$loopFile" >> $RCFILE
-elif [ -n "$root_lvm" ]; then
-  if [ "$kernelmajor" == "2.4" ]; then
-    echo "echo Scanning logical volumes" >> $RCFILE
-    echo "vgscan" >> $RCFILE
-    echo "echo Activating logical volumes" >> $RCFILE
-    echo "vgchange -ay" >> $RCFILE
-  else
-    echo "echo Making device-mapper control node" >> $RCFILE
-    echo "mkdmnod" >> $RCFILE
-    echo "echo Scanning logical volumes" >> $RCFILE
-    echo "lvm vgscan" >> $RCFILE
-    echo "echo Activating logical volumes" >> $RCFILE
-    echo "lvm vgchange -ay" >> $RCFILE
-    echo "echo Making device nodes" >> $RCFILE
-    echo "lvm vgmknodes" >> $RCFILE
-  fi
-fi
-
-echo "echo Creating root device" >> $RCFILE
-echo "mkrootdev /dev/root" >> $RCFILE
-rootdev=/dev/root
-
-if [ "$kernelmajor" != "2.4" ]; then
-    echo "umount /sys" >> $RCFILE
-fi
-
-if [ -n "$initramfs" ]; then
-    echo "echo Mounting root filesystem" >> $RCFILE
-    echo "mount -o $rootopts --ro -t $rootfs $rootdev /sysroot" >> $RCFILE
-
-    [  -n "$UDEV_KEEP_DEV" ] && echo "mount -t tmpfs --bind /dev /sysroot/dev" >> $RCFILE
-
-    echo "echo Switching to new root" >> $RCFILE
-    echo "switchroot /sysroot" >> $RCFILE
-else 
-  if [ -n "$pivot" ]; then
-    echo "echo 0x0100 > /proc/sys/kernel/real-root-dev" >> $RCFILE
-
-    echo "echo Mounting root filesystem" >> $RCFILE
-    echo "mount -o $rootopts --ro -t $rootfs $rootdev /sysroot" >> $RCFILE
-
-    echo "pivot_root /sysroot /sysroot/initrd" >> $RCFILE
-    echo "umount /initrd/proc" >> $RCFILE
-  else
-    echo "umount /proc" >> $RCFILE
-  fi
-fi
-
-[ -n "$UDEV_TMPFS" ] && echo "umount /initrd/dev" >> $RCFILE
-chmod +x $RCFILE
-
-  (cd $MNTIMAGE; find . | cpio --quiet -c -o) > $IMAGE || exit 1
-
-if [ -n "$compress" ]; then
-    gzip -9 < $IMAGE > $target || rc=1
-else
-    cp -a $IMAGE $target || rc=1
-fi
-
-exit $rc
index 176fe581b780c76bf4a8b5a45dbbe8b37da9d31b..035649e8a8cf89af5e202eea25861dd83c1f499a 100644 (file)
@@ -48,6 +48,7 @@ roottree/sbin/fsck.jfs
 roottree/sbin/fsck.msdos
 roottree/sbin/fsck.vfat
 roottree/sbin/ftp
+roottree/sbin/gdb
 roottree/sbin/getkey
 roottree/sbin/grep
 roottree/sbin/grub
@@ -109,6 +110,7 @@ roottree/sbin/more
 roottree/sbin/mount
 roottree/sbin/mt
 roottree/sbin/mv
+roottree/sbin/nash
 roottree/sbin/netstat
 roottree/sbin/nice
 roottree/sbin/nm
diff --git a/rescue/linux/cdrom/roottree/init b/rescue/linux/cdrom/roottree/init
deleted file mode 100755 (executable)
index e29be74..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/ash
-#
-# First script called by Linux when booting
-#
-
-echo "======== init called ========"
-sbin/sleep 3
-sbin/chroot .
-#trap "" 1 2 3 15
-# exec >/dev/console </dev/console 2>&1
-PATH=sbin 
-sbin/mount -t proc none /proc
-sbin/mount -t sysfs none /sys
-echo Creating /dev
-sbin/mount -o mode=0755 -t tmpfs none /dev
-sbin/mknod /dev/console c 5 1
-sbin/mknod /dev/null c 1 3
-sbin/mknod /dev/zero c 1 5
-sbin/mkdir /dev/pts
-sbin/mkdir /dev/shm
-echo Starting udev
-sbin/udevstart
-echo -n "/sbin/hotplug" > /proc/sys/kernel/hotplug
-echo "Loading scsi_mod.ko module"
-sbin/insmod /lib/scsi_mod.ko 
-echo "Loading sd_mod.ko module"
-sbin/insmod /lib/sd_mod.ko 
-echo "Loading aic7xxx.ko module"
-sbin/insmod /lib/aic7xxx.ko 
-echo "Loading libata.ko module"
-sbin/insmod /lib/libata.ko 
-echo "Loading ata_piix.ko module"
-sbin/insmod /lib/ata_piix.ko 
-sbin/udevstart
-
-# CMDLINE=`cat /proc/cmdline`
-# DEBUG=""
-# case "$CMDLINE" in *debug*) DEBUG="yes"; ;; esac
-# export DEBUG
-
-# Magic incantation for root to remain in ram 
-echo 0x0100 > /proc/sys/kernel/real-root-dev
-
-sbin/mount -o remount,rw /dev/root /
-
-# sh
-
-exec /sbin/init
diff --git a/rescue/linux/cdrom/roottree/init.new b/rescue/linux/cdrom/roottree/init.new
deleted file mode 100755 (executable)
index e29be74..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/ash
-#
-# First script called by Linux when booting
-#
-
-echo "======== init called ========"
-sbin/sleep 3
-sbin/chroot .
-#trap "" 1 2 3 15
-# exec >/dev/console </dev/console 2>&1
-PATH=sbin 
-sbin/mount -t proc none /proc
-sbin/mount -t sysfs none /sys
-echo Creating /dev
-sbin/mount -o mode=0755 -t tmpfs none /dev
-sbin/mknod /dev/console c 5 1
-sbin/mknod /dev/null c 1 3
-sbin/mknod /dev/zero c 1 5
-sbin/mkdir /dev/pts
-sbin/mkdir /dev/shm
-echo Starting udev
-sbin/udevstart
-echo -n "/sbin/hotplug" > /proc/sys/kernel/hotplug
-echo "Loading scsi_mod.ko module"
-sbin/insmod /lib/scsi_mod.ko 
-echo "Loading sd_mod.ko module"
-sbin/insmod /lib/sd_mod.ko 
-echo "Loading aic7xxx.ko module"
-sbin/insmod /lib/aic7xxx.ko 
-echo "Loading libata.ko module"
-sbin/insmod /lib/libata.ko 
-echo "Loading ata_piix.ko module"
-sbin/insmod /lib/ata_piix.ko 
-sbin/udevstart
-
-# CMDLINE=`cat /proc/cmdline`
-# DEBUG=""
-# case "$CMDLINE" in *debug*) DEBUG="yes"; ;; esac
-# export DEBUG
-
-# Magic incantation for root to remain in ram 
-echo 0x0100 > /proc/sys/kernel/real-root-dev
-
-sbin/mount -o remount,rw /dev/root /
-
-# sh
-
-exec /sbin/init
index 6a5f7c16415bf5a6d4c0f31d4fa0cdf3bd15194c..21415ba30468014c8506b0658f7315a75aedfde1 100755 (executable)
@@ -1,21 +1,20 @@
-#!/bin/ash
+#!/bin/sh
 #
 # First script called by Linux when booting
 #
-echo "============ in linuxrc ============"
+
 export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/initrd/bin
 
 trap "" 1 2 3 15
 exec >/dev/console </dev/console 2>&1
 
-echo Creating /dev
-mount -o mode=0755 -t tmpfs none /dev
-mknod /dev/console c 5 1
-mknod /dev/null c 1 3
-mknod /dev/zero c 1 5
-mkdir /dev/pts
-mkdir /dev/shm
-
+# echo Creating /dev
+# mount -o mode=0755 -t tmpfs none /dev
+# mknod /dev/console c 5 1
+# mknod /dev/null c 1 3
+# mknod /dev/zero c 1 5
+mkdir -p /dev/pts
+mkdir -p /dev/shm
 
 mount -t proc none /proc
 mount -t sysfs /sys /sys >/dev/null 2>&1
@@ -31,9 +30,8 @@ echo -n "/sbin/hotplug" > /proc/sys/kernel/hotplug
 udevstart
 
 # Magic incantation for root to remain in ram 
-#ln -s /dev/ram0 /dev/root
 echo 0x0100 > /proc/sys/kernel/real-root-dev
+
 mount -o remount,rw /dev/root /
 # sh
-echo "================ exit linuxrc ============"
 exit 0
diff --git a/rescue/linux/cdrom/yaird-0.0.5.tar.gz b/rescue/linux/cdrom/yaird-0.0.5.tar.gz
deleted file mode 100644 (file)
index dd3bb06..0000000
Binary files a/rescue/linux/cdrom/yaird-0.0.5.tar.gz and /dev/null differ