Added fedora-11 to BKO
authorPravin Shinde <pravin@black-perl.(none)>
Sun, 5 Jul 2009 00:05:01 +0000 (02:05 +0200)
committerPravin Shinde <pravin@black-perl.(none)>
Sun, 5 Jul 2009 00:05:01 +0000 (02:05 +0200)
it does everything correct in initramfs, but gives segmentation fault somewhere at end of the starting some service.

pxeknife/pxeknife.conf
pxeknife/red_hat/fedora_11_live_cd/busybox [new file with mode: 0755]
pxeknife/red_hat/fedora_11_live_cd/generate_initrd.sh
pxeknife/red_hat/fedora_11_live_cd/httpfs/static/udhcpc.sh
pxeknife/red_hat/fedora_11_live_cd/init [new file with mode: 0755]
pxeknife/red_hat/fedora_11_live_cd/modules/fuse.ko [new file with mode: 0755]
pxeknife/red_hat/fedora_11_live_cd/mount_http_iso.sh
pxeknife/red_hat/fedora_11_live_cd/real-init
pxeknife/red_hat/red_hat.conf
pxelinux.cfg/default

index 1e6b5ee..a0bba24 100644 (file)
@@ -1,9 +1,9 @@
-MENU TITLE --== PXE Knife ==--
+MENU TITLE --== BKO (boot.kernel.org) ==--
 
 LABEL rootmenu
        MENU LABEL <---- Root Menu
        kernel menu.c32
-       append default
+       append pxelinux.cfg/default
 
 LABEL pxeknife-DSL
        MENU LABEL Dam small linux --->
@@ -18,6 +18,7 @@ LABEL pxeknife-knoppix
 LABEL pxeknife-red-hat
        MENU LABEL Red Hat --->
        kernel menu.c32
+       append default
        append pxeknife/red_hat/red_hat.conf
 
 LABEL pxeknife-ubuntu
diff --git a/pxeknife/red_hat/fedora_11_live_cd/busybox b/pxeknife/red_hat/fedora_11_live_cd/busybox
new file mode 100755 (executable)
index 0000000..49c4bdb
Binary files /dev/null and b/pxeknife/red_hat/fedora_11_live_cd/busybox differ
index 4d9e8ff..1527dc2 100755 (executable)
@@ -16,7 +16,7 @@ cd mpoint
 cpio -ivu --no-absolute-filename  < ../initrd0
 cd ..
 
-echo "coping the needed files..."
+echo "coping the needed tools..."
 
 cp httpfs/static/udhcpc mpoint/bin/
 chmod 777 mpoint/bin/udhcpc
@@ -33,13 +33,29 @@ chmod 777 mpoint/bin/httpfs
 cp httpfs/server/fusermount mpoint/bin/
 chmod 777 mpoint/bin/fusermount
 
-mkdir mpoint/modules
-cp modules/* mpoint/modules/
+cp busybox mpoint/bin/
+chmod 777 mpoint/bin/busybox
 
+cp init mpoint/
+chmod 0777 mpoint/init 
 
 cp real-init mpoint/sbin/
 chmod 0777 mpoint/sbin/real-init 
 
+echo "Creating soft links"
+cd mpoint/bin
+ln -s busybox ifconfig
+ln -s busybox route 
+ln -s busybox vi 
+ln -s busybox ping
+ln -s busybox wget 
+
+cd ../..
+
+
+echo "copying kernel modules"
+mkdir mpoint/modules
+cp modules/* mpoint/modules/
 
 
 cd mpoint
diff --git a/pxeknife/red_hat/fedora_11_live_cd/init b/pxeknife/red_hat/fedora_11_live_cd/init
new file mode 100755 (executable)
index 0000000..a4457e8
--- /dev/null
@@ -0,0 +1,32 @@
+#!/sbin/nash
+mount -t proc proc /proc
+setquiet
+echo "Mounting proc filesystem"
+echo "Mounting sysfs filesystem"
+mount -t sysfs /sys /sys
+
+echo "Creating initial /dev"
+mount -t tmpfs -o mode=0755 udev /dev
+mknod /dev/console c 5 1
+mknod /dev/null c 1 3
+mknod /dev/kmsg c 1 11
+mknod /dev/ptmx c 5 2
+mknod /dev/fb c 29 0
+mkdir /dev/pts
+mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts
+mkdir -m 1777 /dev/shm
+ln -s /proc/self/fd /dev/fd
+ln -s fd/0 /dev/stdin
+ln -s fd/1 /dev/stdout
+ln -s fd/2 /dev/stderr
+mknod /dev/systty c 4 0
+mknod /dev/tty0 c 4 0
+mknod /dev/tty1 c 4 1
+mknod /dev/tty2 c 4 2
+
+echo "Running plymouthd"
+#daemonize --ignore-missing /bin/plymouthd
+
+echo "executing real init now"
+exec sbin/real-init
+echo "execution of real init is failed :-("
diff --git a/pxeknife/red_hat/fedora_11_live_cd/modules/fuse.ko b/pxeknife/red_hat/fedora_11_live_cd/modules/fuse.ko
new file mode 100755 (executable)
index 0000000..c7c6af1
Binary files /dev/null and b/pxeknife/red_hat/fedora_11_live_cd/modules/fuse.ko differ
index b795a65..c4201e9 100755 (executable)
@@ -1,4 +1,4 @@
-#!/static/sh
+#!/bin/sh
 
 # objectives: 
 # Enable networking.
@@ -7,23 +7,21 @@
 # Mount the ISO.
 
 echo "HTTP Boot: inserting network modules"
-#insmod /modules/crc32c.ko   
-insmod /modules/8390.ko   
-insmod /modules/mii.ko   
-insmod /modules/ne2k-pci.ko   
-insmod /modules/pcnet32.ko   
-insmod /modules/r8169.ko   
-insmod /modules/e100.ko   
-insmod /modules/e1000.ko  
-insmod /modules/sis900.ko   
-insmod /modules/via-rhine.ko   
-insmod /modules/8139too.ko   
-#insmod /modules/af_packet.ko >/dev/null 2>&1 
-#insmod /modules/loop.ko >/dev/null 2>&1 
+insmod /modules/8390.ko >/dev/null 2>&1  
+insmod /modules/mii.ko >/dev/null 2>&1 
+insmod /modules/ne2k-pci.ko >/dev/null 2>&1 
+insmod /modules/pcnet32.ko >/dev/null 2>&1 
+insmod /modules/r8169.ko >/dev/null 2>&1 
+insmod /modules/e100.ko >/dev/null 2>&1 
+insmod /modules/e1000.ko >/dev/null 2>&1 
+insmod /modules/sis900.ko >/dev/null 2>&1 
+insmod /modules/via-rhine.ko >/dev/null 2>&1 
+insmod /modules/8139too.ko >/dev/null 2>&1 
+insmod /modules/fuse.ko >/dev/null 2>&1 
 
 ifconfig lo 127.0.0.1 up
 ifconfig eth0 up
-udhcpc -s /static/udhcpc.sh  >/dev/null 2>&1 
+udhcpc -s /bin/udhcpc.sh  >/dev/null 2>&1 
 
 ISO_PATH=$1
 echo "The location of fedora.iso is $ISO_PATH"
@@ -31,13 +29,13 @@ echo "mounting CDROM"
 mkdir /iso
 httpfs $ISO_PATH /iso
 FILEPATH=`ls /iso/*.iso`
-busybox mount -t iso9660 $FILEPATH /sysroot -o loop -o ro
+mount -t iso9660 $FILEPATH /sysroot -o loop -o ro
 
 
 # test if knoppix is there
 if test -f /sysroot/LiveOS/squashfs.img
 then
-echo -n "successfully mounted the Image"
-return 0
+    echo -n "successfully mounted the Image"
+    exit 0
 fi
-return 1
+exit 1
index ac47611..64fd143 100755 (executable)
@@ -1,5 +1,6 @@
 #!/bin/bash
 
+echo "ok, inside real init"
 emergency_shell()
 {
     plymouth --hide-splash || :
@@ -14,7 +15,6 @@ set -e
 
 export PATH=/sbin:/bin:/usr/sbin:/usr/bin
 export TERM=linux
-
 exec > /dev/console 2>&1
 
 echo "" > /proc/sys/kernel/hotplug
@@ -37,7 +37,6 @@ live_dir="LiveOS"
 overlay="off"
 HTTPFS=""
 
-echo "here in 40"
 # Parse kernel commandline options
 #
 for o in `cat /proc/cmdline` ; do
@@ -111,7 +110,6 @@ if [ "$quiet" != "1" ] ; then
     echo "kernel commandline: `cat /proc/cmdline`"
 fi
 
-echo "here in 113"
 # Users can override rootfs target on the kernel commandline
 #
 for o in `cat /proc/cmdline` ; do
@@ -139,6 +137,7 @@ if [ "$quiet" != "1" ] ; then
     echo "root_rw=$root_rw"
 fi
 
+
 waitforsymlink=0
 # generate udev rules to generate /dev/root symlink
 if [ -z $root ] ; then
@@ -246,7 +245,7 @@ fi
 
 # don't wait for "mtd0" as no device file will appear
 # and don't worry about this if $thingtomount is a regular file
-if [ "$root" != "mtd0" -a ! -f "$thingtomount" ] ; then
+if [ "$root" != "mtd0" -a -z ${HTTPFS} -a ! -f "$thingtomount" ] ; then
 
     # If we don't have the /dev/root link.. ask the user to create..
     if [ "$waitforsymlink" != "1" ] ; then
@@ -314,6 +313,7 @@ if [ "$root" != "mtd0" -a ! -f "$thingtomount" ] ; then
 
 fi
 
+
 [ -e /dev/root ] && fs=$(/lib/udev/vol_id -t /dev/root)
 if [ "x$fs" == "xiso9660" -o "x$fs" == "xudf" ]; then checkfs=1 ; fi
 if [ "x$check_iso" == "x1" -a -x /bin/checkisomd5 -a "x$checkfs" == "x1" ]; then
@@ -328,6 +328,7 @@ if [ "x$check_iso" == "x1" -a -x /bin/checkisomd5 -a "x$checkfs" == "x1" ]; then
    plymouth --show-splash || :
 fi
 
+
 if [ "x$root_ro" == "x1" ] ; then
    if [ -z $rootflags ] ; then
        rootflags="ro"
@@ -351,13 +352,13 @@ else
 fi
 
 if [ -z ${HTTPFS} ] ; then
-    echo " mounting httpfs filesystem from ${HTTPFS}"
-    mount_http_iso.sh ${HTTPFS}
-    RES=$?
-else
     echo " no httpfs provided, booting normal filesystem"
     mount -n -t $rootfstype $mountoptions $thingtomount /sysroot
     RES=$?
+else
+    echo " mounting httpfs filesystem from ${HTTPFS}"
+    mount_http_iso.sh ${HTTPFS}
+    RES=$?
 fi
 
 
@@ -391,8 +392,13 @@ do_live_overlay() {
     #              otherwise, create traditional overlay in ram
     OVERLAY_LOOPDEV=$( losetup -f )
 
-    l=$(/lib/udev/vol_id -l /dev/root) || l=""
-    u=$(/lib/udev/vol_id -u /dev/root) || u=""
+    if [ -z ${HTTPFS} ] ; then
+        l=$(/lib/udev/vol_id -l /dev/root) || l=""
+        u=$(/lib/udev/vol_id -u /dev/root) || u=""
+    else
+        l=""
+        u=""
+    fi
 
     if ( echo $overlay | grep -q ":" ); then
         # pathspec specified, extract
@@ -438,9 +444,10 @@ do_live_overlay() {
 # live cd helper function
 do_live_from_base_loop() {
     do_live_overlay
-
     # set up new /dev/root symlink
-    rm -f /dev/root
+    if [ -z ${HTTPFS} ] ; then
+        rm -f /dev/root
+    fi
     ln -s /dev/mapper/live-rw /dev/root
 
     mount -n  /dev/mapper/live-rw /sysroot
@@ -502,7 +509,7 @@ do_live_from_base_loop() {
     fi
     echo "KERNEL==\"${BASE_LOOPDEV#/dev/}\", SYMLINK+=\"live-osimg\"" >> $udevrulefn
     echo "KERNEL==\"${OVERLAY_LOOPDEV#/dev/}\", SYMLINK+=\"live-overlay\"" >> $udevrulefn
-
+    
     mount -n -o ro,remount /dev/mapper/live-rw /sysroot
 }
 
@@ -567,8 +574,13 @@ if [ -e "$SQUASHED" ] ; then
         dd if=$SQUASHED of=/squashed.img bs=512 2> /dev/null
         umount -n /sysroot
         echo "Done copying live image to RAM."
-        eject -p /dev/root || :
-        SQUASHED="/squashed.img"
+        if [ -z ${HTTPFS} ] ; then
+            eject -p /dev/root || :
+            SQUASHED="/squashed.img"
+        else
+            SQUASHED="/squashed.img"
+        fi
+            
     fi
 
     SQUASHED_LOOPDEV=$( losetup -f )
@@ -583,7 +595,6 @@ if [ -e "$SQUASHED" ] ; then
     if [ "$live_ram" == "0" ] ; then
         umount -l /sysroot
     fi
-
     do_live_from_base_loop
 fi
 
@@ -612,8 +623,9 @@ if [ -x /sysroot$init ] ; then
 
     # If the udev rule doesn't get triggered make sure to
     # show a splash
-    plymouth --show-splash
+#    plymouth --show-splash
     exec /sbin/run-init
+
     plymouth --hide-splash || :
     echo "---------------------------------"
     echo "WARNING: Error switching to real rootfs!"
index b2d55b7..c36a63b 100755 (executable)
@@ -18,5 +18,5 @@ label fedora_11_live_cd_alien
 label fedora_11_live_cd_local
        MENU LABEL Fedora 11 Live CD - localhost (for me)
        kernel pxeknife/red_hat/fedora_11_live_cd/vmlinuz0
-       append root=CDLABEL=Fedora-11-i686-Live httpfs=http://192.168.0.1/Fedora-11-i686-Live.iso initrd=pxeknife/red_hat/fedora_11_live_cd/initrd0.img  rootfstype=auto ro liveimg selinux=0 rhgb 
+       append root=CDLABEL=Fedora-11-i686-Live httpfs=http://192.168.0.1/Fedora-11-i686-Live.iso initrd=pxeknife/red_hat/fedora_11_live_cd/initrd0.img  rootfstype=auto ro liveimg rhgb single
 
index da4b5c9..d842ddc 100755 (executable)
@@ -3,24 +3,15 @@ DEFAULT menu.c32
     TIMEOUT 100 #this is optional - will start the default after 10 seconds
     MENU TITLE --== Main Menu ==--
 
-
-    #load pxe knife
-    LABEL pxeknife
-        MENU LABEL PXE Knife --->
-        kernel menu.c32
-        append pxeknife/pxeknife.conf
-
-
     #this allows you to exit the pxe stack and pass booting to the local system
     LABEL bootlocal
-        MENU DEFAULT
-        MENU LABEL Local Boot
+        MENU LABEL Local Boot (Boot your existing OS)
         localboot 0
 
-
-    #load pxe knife
-    LABEL pxeknife
-        MENU LABEL PXE Knife --->
+    #load BKO 
+    LABEL bko 
+        MENU DEFAULT
+        MENU LABEL BKO (boot.kernel.org) --->
         kernel menu.c32
         append pxeknife/pxeknife.conf