Modified ubuntu to work with iscsi
authorPravin Shinde <pravin@black-perl.(none)>
Fri, 24 Jul 2009 17:27:42 +0000 (19:27 +0200)
committerPravin Shinde <pravin@black-perl.(none)>
Fri, 24 Jul 2009 17:27:42 +0000 (19:27 +0200)
But there is some problem for it to work over network
initially network starting deamon was causing problem
then gdm caused problem.
after removal of these two, it does gives command prompt,
but any command executed on this promt does not work properly

pxeknife/ubuntu/ubuntu-9.04-desktop-i386/casper
pxeknife/ubuntu/ubuntu-9.04-desktop-i386/generate_initrd.sh
pxeknife/ubuntu/ubuntu-9.04-desktop-i386/init

index 77ad48e..9b2c377 100644 (file)
@@ -186,7 +186,7 @@ do_netmount() {
 
     if [ "${NETBOOT}" == "http" ] && do_httpfsmount ; then
         rc=0
-    elif [ "${NETBOOT}" != "iscsi" ] && do_iscsimount ; then
+    elif [ "${NETBOOT}" == "iscsi" ] && do_iscsifsmount ; then
         rc=0
     elif [ "${NETBOOT}" != "nfs" ] && do_cifsmount ; then
         rc=0
@@ -218,33 +218,33 @@ do_nfsmount() {
     return ${rc}
 }
 
-do_httpfsmount() {
+do_iscsifsmount() {
     # objectives: 
     # Setup networking.
     # Find the location from which we need to get the ISO.
     # Mount the ISO.
     rc=1
 
-       ifconfig lo 127.0.0.1 up
-       ifconfig eth0 up
-    echo "The ip configuration is $ip"
-    myip=`echo $ip | cut -d: -f1`
-    echo "Using ip address $myip"
-    mynm=`echo $ip | cut -d: -f4`
-    echo "Using Netmask $mynm"
-    mygw=`echo $ip | cut -d: -f3`
-    echo "Using gateway ip $mygw"
-    ifconfig eth0 $myip netmask $mynm 
-    echo "verify the ip address"
-    ifconfig eth0
+#      ifconfig lo 127.0.0.1 up
+#      ifconfig eth0 up
+#    echo "The ip configuration is $ip"
+#    myip=`echo $ip | cut -d: -f1`
+#    echo "Using ip address $myip"
+#    mynm=`echo $ip | cut -d: -f4`
+#    echo "Using Netmask $mynm"
+#    mygw=`echo $ip | cut -d: -f3`
+#    echo "Using gateway ip $mygw"
+#    ifconfig eth0 $myip netmask $mynm 
+#    echo "verify the ip address"
+#    ifconfig eth0
 
-    echo "setting route"
-    route add default gw $mygw 
+#    echo "setting route"
+#    route add default gw $mygw 
 
 
        echo  "passed on path is ${ISCSIFS}" 
-       echo "The location of ubuntu iso  is $ISO_PATH" >> /output
-       echo "mounting CDROM" >> /output
+       echo "The location of ubuntu iso  is $ISO_PATH" 
+       echo "mounting CDROM" 
 
 
 #      losetup -r /dev/loop0 $FILEPATH
@@ -252,20 +252,21 @@ do_httpfsmount() {
 
     echo "inside iscsimount" 
             
+
+    modprobe scsi_transport_iscsi
+    modprobe libiscsi
+    modprobe iscsi_tcp
     insmod /modules/libcrc32c.ko
     insmod /modules/crc32c.ko
-    modprobe iscsi_tcp
-    modprobe ib_iser
+    insmod /modules/ib_iser.ko
     mkdir /var/run
     /sbin/iscsid
     iscsiadm -m discovery -t st -p "${ISCSIFS}"
     targetname=`iscsiadm -m node | grep "${TARGET}" | cut -d' ' -f2`
     iscsiadm -m node --targetname "${targetname}" --portal "${ISCSIFS}" --login
     sleep 2
-    mount -t iso9660 /dev/sda "${mountpoint}"
+    mount -t iso9660 /dev/sdb "${mountpoint}"
     rc=${?}
-    return $rc
-
 
        # test if knoppix is there
        if test -d /cdrom/casper
index da1e0e8..c1838f4 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/bash
+set -e
 
 #cleanup the old mess
 echo "Removing the old files"
@@ -16,9 +17,6 @@ cd ..
 
 echo "coping the needed files..."
 
-#rm mpoint/lib/modules/2.6.28-11-generic/kernel/ubuntu/squashfs/squashfs.ko
-#cp squashfs.ko mpoint/lib/modules/2.6.28-11-generic/kernel/ubuntu/squashfs/
-
 cp run-init mpoint/bin/
 chmod 777 mpoint/bin/run-init
 
@@ -34,9 +32,18 @@ chmod 0777 mpoint/init
 cp casper mpoint/scripts/
 chmod 0777 mpoint/scripts/casper
 
+echo "copying iscsi related files..."
+mkdir mpoint/etc/iscsi
+cp iscsi/iscsid.conf mpoint/etc/iscsi/
+cp iscsi/initiatorname.iscsi mpoint/etc/iscsi/
+cp iscsi/tools/* mpoint/sbin/
+
+mkdir mpoint/modules
+cp modules/* mpoint/modules/
+
+
 
 cd mpoint
-#echo 'no_static_dev=1' >> etc/udev/udev.conf
 echo "creating initrd from new system filesystem"
 
 echo "Compressing the filesystem"
@@ -45,5 +52,4 @@ cd ..
 
 rm -rf mpoint initrd
 
-
 echo "Done, you can use initrd.gz"
index 83b937b..4eeaa78 100755 (executable)
@@ -134,6 +134,9 @@ for x in $(cat /proc/cmdline); do
        iscsifs=*)
                ISCSIFS="${x#iscsifs=}"
                ;;
+       target=*)
+               TARGET="${x#target=}"
+               ;;
        netboot=*)
                NETBOOT="${x#netboot=}"
                ;;
@@ -260,6 +263,19 @@ if [ -n ${debug} ]; then
        unset debug
 fi
 
+rm /root/etc/rc3.d/S50NetworkManager
+rm /root/etc/rc5.d/S50NetworkManager
+rm /root/etc/rc5.d/S50NetworkManager
+mv /root/etc/init.d/networking /root/etc/init.d/dnetworking
+mv /root/etc/init.d/gdm /root/etc/init.d/dgdm
+
+#/bin/sh
+# Chain to real filesystem
+maybe_break init
+exec run-init ${rootmnt} ${init} "$@" <${rootmnt}/dev/console >${rootmnt}/dev/console 2>&1
+panic "Could not execute run-init."
+
+/bin/sh
 # Chain to real filesystem
 maybe_break init
 exec run-init ${rootmnt} ${init} "$@" <${rootmnt}/dev/console >${rootmnt}/dev/console 2>&1