--- trunk/mkinitrd-magellan/livecd/linuxrc.sh 2007/11/10 19:56:21 605 +++ trunk/mkinitrd-magellan/livecd/linuxrc.sh 2008/06/26 22:48:31 754 @@ -1,5 +1,5 @@ #!/bin/sh -# $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd-magellan/livecd/linuxrc.sh,v 1.2 2007-11-10 19:56:21 niro Exp $ +# $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd-magellan/livecd/linuxrc.sh,v 1.8 2008-06-26 22:48:31 niro Exp $ # loads given kernel modules load_kernel_modules() @@ -45,7 +45,7 @@ then echo -e "Magellan boot device found." BOOT_DEVICE="${dev}" - FSTYPE=${fs} + FSTYPE="${fs}" break fi fi @@ -56,7 +56,9 @@ DOSCSI=no DOUSB=no DOSATA=no -NOPATA=no +DOFB=no +DOPATA=no +FORCED_ROOTFS="" ## starts here ## @@ -80,15 +82,22 @@ dosata) DOSATA=yes ;; - nopata) - NOPATA=yes + dofb) + DOFB=yes + ;; + dopata) + DOPATA=yes + ;; + rootfs=*) + FORCED_ROOTFS="${i#*=}" ;; esac done # now load all needed modules +[ "${DOFB}" = "yes" ] && load_kernel_modules "framebuffer" load_kernel_modules "generic" -[ "${NOPATA}" != "yes" ] && load_kernel_modules "pata" +[ "${DOPATA}" = "yes" ] && load_kernel_modules "pata" [ "${DOSCSI}" = "yes" ] && load_kernel_modules "scsi" [ "${DOUSB}" = "yes" ] && load_kernel_modules "usb" [ "${DOSATA}" = "yes" ] && load_kernel_modules "sata" @@ -117,19 +126,25 @@ # searching usbstick if [ "${DOUSB}" = "yes" ]; then - check_drives "/dev/sd*" "vfat" - check_drives "/dev/sg*" "vfat" + ROOTFS="vfat" + [[ ! -z ${FORCED_ROOTFS} ]] && ROOTFS="${FORCED_ROOTFS}" + check_drives "/dev/sd*" "${ROOTFS}" + check_drives "/dev/sg*" "${ROOTFS}" fi # for cdrom_device in $CDROM_LIST (ide) -check_drives "/dev/cdroms/*" iso9660 -check_drives "/dev/hd*" iso9660 +ROOTFS="iso9660" +[[ ! -z ${FORCED_ROOTFS} ]] && ROOTFS="${FORCED_ROOTFS}" +check_drives "/dev/cdroms/*" "${ROOTFS}" +check_drives "/dev/hd*" "${ROOTFS}" # scsi cdroms if [ "${DOSCSI}" = "yes" ] || [ "${DOSATA}" = "yes" ]; then - check_drives "/dev/sr*" iso9660 - check_drives "/dev/sg*" iso9660 - check_drives "/dev/scd*" iso9660 + ROOTFS="iso9660" + [[ ! -z ${FORCED_ROOTFS} ]] && ROOTFS="${FORCED_ROOTFS}" + check_drives "/dev/sr*" "${ROOTFS}" + check_drives "/dev/sg*" "${ROOTFS}" + check_drives "/dev/scd*" "${ROOTFS}" fi # mount our rootfs from cdrom @@ -164,6 +179,10 @@ # make /sysroot/dev/console & /mnt/dev/null [ ! -e /sysroot/dev/console ] && mknod -m 600 /sysroot/dev/console c 5 1 [ ! -e /sysroot/dev/null ] && mknod -m 666 /sysroot/dev/null c 1 3 + # only to be safe and to have a log channel + [ ! -e /sysroot/dev/tty ] && mknod ${BINDIR}/dev/tty c 5 0 + # busybox needs this one + [ ! -e /sysroot/dev/tty5 ] && mknod ${BINDIR}/dev/tty5 c 4 5 (cd /sysroot/mnt/cloop; cp -a etc root home var /sysroot)