From: <ale...@us...> - 2008-03-30 20:09:26
|
Revision: 2621 http://morphix.svn.sourceforge.net/morphix/?rev=2621&view=rev Author: alextreme Date: 2008-03-30 13:09:22 -0700 (Sun, 30 Mar 2008) Log Message: ----------- * small number of fixes to base bootscripts Modified Paths: -------------- trunk/scripts-base/debian/changelog trunk/scripts-base/etc/init.d/alsa-autoconfig trunk/scripts-base/etc/init.d/knoppix-autoconfig trunk/scripts-base/etc/init.d/morphix-start trunk/scripts-base/usr/sbin/rebuildfstab-morphix Modified: trunk/scripts-base/debian/changelog =================================================================== --- trunk/scripts-base/debian/changelog 2008-03-27 16:46:19 UTC (rev 2620) +++ trunk/scripts-base/debian/changelog 2008-03-30 20:09:22 UTC (rev 2621) @@ -1,3 +1,9 @@ +morphix-base-scripts (0.5-66) unstable; urgency=low + + * bug-fix + + -- Alex de Landgraaf <al...@de...> Fri, 28 Mar 2008 12:04:01 +0100 + morphix-base-scripts (0.5-65) unstable; urgency=low * Large cleanup of pre-udev stuff, restructuring loading of main/minimods Modified: trunk/scripts-base/etc/init.d/alsa-autoconfig =================================================================== --- trunk/scripts-base/etc/init.d/alsa-autoconfig 2008-03-27 16:46:19 UTC (rev 2620) +++ trunk/scripts-base/etc/init.d/alsa-autoconfig 2008-03-30 20:09:22 UTC (rev 2621) @@ -22,6 +22,7 @@ if [ -n "$ALSAPATH" ]; then +mkdir /etc/modutils cat << EOF > /etc/modutils/1alsa path[misc]=$ALSAPATH depfile=$ALSAPATH/modules.dep Modified: trunk/scripts-base/etc/init.d/knoppix-autoconfig =================================================================== --- trunk/scripts-base/etc/init.d/knoppix-autoconfig 2008-03-27 16:46:19 UTC (rev 2620) +++ trunk/scripts-base/etc/init.d/knoppix-autoconfig 2008-03-30 20:09:22 UTC (rev 2621) @@ -642,6 +642,20 @@ done </etc/fstab fi +# Mount all filesystems listed in fstab (read-only) +# fstab has been generated by rebuildfstab-morphix in knoppix-autoconfig + +mount -a -r + +# Proc and sys need to be writable + +mount -t proc proc /proc 2>/dev/null +mount -t sysfs /sys /sys 2>/dev/null + +# /media/cdrom doesn't mount automatically + +mount /media/cdrom + if test -n "$SPLASH"; then echo "show 32000">/proc/splash 2>/dev/null fi @@ -721,12 +735,12 @@ fi # Check for extra shellscript on CD-Rom (/cdrom/base/morphix.sh) for i in morphix.sh MORPHIX.SH MORPHIX.sh Morphix.sh; do - if [ -f /cdrom/base/$i ]; then + if [ -f /media/cdrom/base/$i ]; then echo "" FOUND_CONFIG="yes" - echo " ${GREEN}Morphix Configuration file found in /cdrom/base, executing ${MAGENTA}$i${GREEN}.${NORMAL}" + echo " ${GREEN}Morphix Configuration file found in /media/cdrom/base, executing ${MAGENTA}$i${GREEN}.${NORMAL}" echo "6" > /proc/sys/kernel/printk - . /cdrom/base/$i /cdrom/base || true + . /media/cdrom/base/$i /media/cdrom/base || true echo "0" > /proc/sys/kernel/printk break fi Modified: trunk/scripts-base/etc/init.d/morphix-start =================================================================== --- trunk/scripts-base/etc/init.d/morphix-start 2008-03-27 16:46:19 UTC (rev 2620) +++ trunk/scripts-base/etc/init.d/morphix-start 2008-03-30 20:09:22 UTC (rev 2621) @@ -44,83 +44,6 @@ unset SPLASH fi -findfile(){ - FOUND="" -# search all partitions for a file in the root directory - for i in /mnt/[sh]d[a-z] /mnt/[sh]d[a-z][1-9] /mnt/[sh]d[a-z][1-9]?*; do -# See if it's already mounted - [ -f "$i/$1" ] && { echo "$i/$1"; return 0; } - if [ -d "$i" ] && mount -r "$i" 2>/dev/null; then - [ -f "$i/$1" ] && FOUND="$i/$1" - umount -l "$i" 2>/dev/null - [ -n "$FOUND" ] && { echo "$FOUND"; return 0; } - fi - done - return 2 -} - -### -# -# create the home image -# look for USB memory device first -# -### - -createfile(){ -FOUND="" -# search all partitions for a file in the root directory -for i in /mnt/sd[a-z] /mnt/sd[a-z][1-9] /mnt/hd[a-z][1-9] /mnt/hd[a-z] /mnt/[sh]d[a-z][1-9]?*; do - # See if it's already mount ant exist - [ -f "$i/$1" ] && { echo "$i/$1"; return 0; } - - # mountit and create - if [ -d "$i" ] && mount -o rw "$i" 2>/dev/null; - then - # See if it's already exist - if [ -f "$i/$1" ];then - FOUND="$i/$1" - umount -l "$i" 2>/dev/null - echo "$FOUND" - return 0 - fi - - MIN_HOME="51200" - MAX_HOME="102400" - fs=`mount | grep $i |while read mdev mon mount mtype mfs mopt;do echo $mfs;done`; - case "$fs" in *[Nn][Tt][Ff][Ss]*) -;; -*) - DEVICE_SIZE=`LANG=C df -hk $i | tail -n1| cut -c 41-50` - if test -n "$DEVICE_SIZE" -a "$(expr $DEVICE_SIZE / 1)" -gt "$MAX_HOME"; then - if dd if=/dev/zero of=$i/$1 bs=1K count=$MAX_HOME;then - mke2fs -q -F $i/$1 - e2fsck -y $i/$1 - umount -l "$i" 2>/dev/null - FOUND="$i/$1" - echo "$FOUND" - return 0 - fi - fi - - if test -n "$DEVICE_SIZE" -a "$(expr $DEVICE_SIZE / 1)" -gt "$MIN_HOME"; then - if dd if=/dev/zero of=$i/$1 bs=1K count=$MIN_HOME;then - mke2fs -q -F $i/$1 - e2fsck -y $i/$1 - umount -l "$i" 2>/dev/null - FOUND="$i/$1" - echo "$FOUND" - return 0 - else - umount -l "$i" 2>/dev/null - fi - fi - ;; - esac - fi - done -return 2 -} - # Try to mount this filesystem read-only, without or with encryption trymount(){ @@ -187,67 +110,6 @@ ### # -# MiniModule loading section -# -### - -# Mount MiniModules here so we can determine the mount overlay command options -mount_mini_modules() { - - CdromMiniModules="$(ls /cdrom/minimod/*.mod 2> /dev/null )" - CdromMiniModulesCount="$(ls -1 /cdrom/minimod/*.mod 2> /dev/null | wc -l )" - - for file in $CdromMiniModules; do - load_mini_module "$file" $MiniModuleCount >/dev/null 2>&1 - if [ $? -eq 0 ]; then - ((MiniModuleCount += 1)) - fi - done - -} - -load_mini_module() { - - file="$1" - countarg="$2" - count=$(($countarg+2)) # we have a base module, and a mainmodule loaded - - if [ ! -d /mnt/main/mnt/mini/mod$count ]; then - mkdir -p /mnt/main/mnt/mini/mod$count - mount_module $file /mnt/main/mnt/mini/mod$count $count - fi - return 0 -} - -# Work out mount options so we can support minimodule overlays. -mount_options () { - - # Currently we only support unionfs - UNIONFS="on" - export UNIONFS - - # This shouldn't be necessary, - # as --add overlaying is in load-minimodules.sh - - for d in /mnt/main/mnt/mini/mod*; do - if [ -f ${d}/morphix/mini_module.conf ]; then - unset MINI_MODULE_OVERLAY - . ${d}/morphix/mini_module.conf >/dev/null 2>&1 - if [ -n $MINI_MODULE_OVERLAY ]; then - if [ $MINI_MODULE_OVERLAY == "1" ] || [ $MINI_MODULE_OVERLAY == "[yY][eE][sS]" ]; then - # add support for other overlayfs's here. - if [ "$UNIONFS" == "on" ]; then - UNIONFS_MOUNT_OPT=${UNIONFS_MOUNT_OPT}:${d}=ro - fi - fi - fi - fi - done - -} - -### -# # MainModule loading section # ### @@ -314,7 +176,6 @@ mkdir -p $DIR2/modules >/dev/null 2>&1 mount -t unionfs -o dirs=$DIR2/root=rw:/mnt/main_ro=ro${UNIONFS_MOUNT_OPT} none /mnt/main - fi eend $? mount -t unionfs -o dirs=$DIR2/modules=rw:/MorphixCD/lib/modules=ro none /mnt/main/lib/modules @@ -363,15 +224,6 @@ mount --bind /home /mnt/main/home mount --bind /home/root /mnt/main/root -# Mount all harddisk partitions read-only (backgrounded) -# Updated for udev - -for i in /mnt/main/media/[sh]d[a-z][1-9]; do - if [ -d "$i" ]; then - mount -r "$i" & - fi -done - mkdir /mnt/main/MorphixCD 2> /dev/null mount --bind -o ro /MorphixCD /mnt/main/MorphixCD @@ -391,6 +243,7 @@ mkdir /mnt/main/floppy >/dev/null 2>&1 mount --bind /mnt /mnt/main/mnt +mount --bind /media /mnt/main/media mount --bind -o ro /cdrom /mnt/main/cdrom chroot /mnt/main mount -t sysfs /sys /sys > /dev/null 2>&1 @@ -506,6 +359,7 @@ fi chroot /mnt/main useradd -s /bin/bash $USERNAME +chroot /mnt/main mkdir -p /home/$USERNAME chroot /mnt/main chown -R $USERNAME.users /home/$USERNAME # make sure our users will have the locale exported by default @@ -631,14 +485,8 @@ echo "nameserver $ETHDNS" >> /mnt/main/etc/resolv.conf fi -# If not using usb as /cdrom, also check the mounted /mnt/usb for -# DCE directories +deb_copy_exec /media/cdrom -deb_copy_exec /cdrom -if [ -z "$USBSTORAGE" ]; then - deb_copy_exec /mnt/usb -fi - # --- # Load minimodules @@ -783,82 +631,38 @@ # Check devices for mainmodule # -if [ -z "$USBSTORAGE" ]; then - MainModules="$(ls -d1 /media/*/mainmod/*.mod 2> /dev/null)" - MainModulesCount="$(ls -d1 /media/*/mainmod/*.mod 2> /dev/null | wc -l)" - if [ $MainModulesCount = 0 ]; then - einfo "No MainModules found on connected devices" - fi - if [ $MainModulesCount = 1 ]; then - einfo "Loading MainModule from connected device" - MainModuleLoaded="$MainModules" - load_module "$MainModules" - elif [ $MainModulesCount > 1 ]; then - echo - einfo "More than one MainModule found on devices" - einfo "List of modules:" - einfo "${WHITE} $UsbMainModules ${NORMAL}" - echo - PS3='Please enter the desired MainModule: ' - - select MainMod in $MainModules - do - echo - einfo "Loading $MainMod" - echo - MainModuleLoaded="$MainMod" - load_module "$MainMod" - break - done - fi - fi -fi -### -# -# Find MainModules from /cdrom, select if > 1 -# -### - -if [ -z "$MYMAINDIR" ]; then - MainModules="$(ls -d1 /cdrom/mainmod/*.mod 2> /dev/null )" - MainModulesCount="$(ls -d1 /cdrom/mainmod/*.mod 2> /dev/null | wc -l )" -fi - -if [ $MainModulesCount = 0 ]; -then - einfo "No MainModules found" - einfo "Continuing with MorphixBase..." - echo - einfo "This is a thinned-down distribution based on Debian GNU/Linux" - einfo " Check to see if your MainModule is on the liveCD in /cdrom/mainmod" +MainModules="$(ls -d1 /media/*/mainmod/*.mod 2> /dev/null)" +MainModulesCount="$(ls -d1 /media/*/mainmod/*.mod 2> /dev/null | wc -l)" +if [ $MainModulesCount = 0 ]; then + einfo "No MainModules found on connected devices" +elif [ $MainModulesCount = 1 ]; then + einfo "Loading MainModule from connected device" + MainModuleLoaded="$MainModules" + load_module "$MainModules" +elif [ $MainModulesCount > 1 ]; then echo -elif [ $MainModulesCount = 1 ]; - then -# start single-module section - echo - einfo "One MainModule found: $MainModules" - echo - mount_mini_modules - mount_options - load_module "$MainModules" - -# start multiple-module section -elif [ $MainModulesCount -gt 1 ]; then - echo - einfo "More than one MainModule found" - einfo "List of modules:" - einfo "${WHITE} $MainModules${NORMAL}" - echo - PS3='Please enter the desired MainModule: ' - - select MainMod in $MainModules - do - echo - load_module "$MainMod" - break - done -else - eerror "Error reading CDROM?" + einfo "More than one MainModule found on devices" + einfo "List of modules:" + einfo "${WHITE} $UsbMainModules ${NORMAL}" + echo + PS3='Please enter the desired MainModule: ' + + select MainMod in $MainModules + do + echo + einfo "Loading $MainMod" + echo + MainModuleLoaded="$MainMod" + load_module "$MainMod" + break + done fi +einfo "No MainModules found" +einfo "Continuing with MorphixBase..." +echo +einfo "This is a thinned-down distribution based on Debian GNU/Linux" +einfo " Check to see if your MainModule is on the liveCD in /media/cdrom/mainmod" +echo + Modified: trunk/scripts-base/usr/sbin/rebuildfstab-morphix =================================================================== --- trunk/scripts-base/usr/sbin/rebuildfstab-morphix 2008-03-27 16:46:19 UTC (rev 2620) +++ trunk/scripts-base/usr/sbin/rebuildfstab-morphix 2008-03-30 20:09:22 UTC (rev 2621) @@ -27,10 +27,13 @@ /dev/fd0 /media/floppy auto user,noauto,exec,umask=000,uid=" + username + " 0 0\n\ /dev/cdrom /media/cdrom auto user,noauto,exec,ro,uid=" + username + " 0 0\n" +os.system("mkdir -p /media/cdrom") +os.system("mkdir -p /media/floppy") + def add_to_fstab(fstab, partitions, username): for p in partitions: - system("mkdir -p /media/" + p[2]) + os.system("mkdir -p /media/" + p[2]) line = "/dev/" + p[2] + " /media/" + p[2] + " auto defaults,users,uid=" + username + " 0 0\n" fstab += line return fstab This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |