ppcrcd/trunk/conf.dir: etc/udev etc/udev/rules.d etc/udev/rules.d/hotplug_disk.rules usr/lib/ppcrcd/...

sparky cvs at pld-linux.org
Sun Mar 12 01:22:48 CET 2006


Author: sparky
Date: Sun Mar 12 01:22:42 2006
New Revision: 7146

Added:
   ppcrcd/trunk/conf.dir/etc/udev/
   ppcrcd/trunk/conf.dir/etc/udev/rules.d/
   ppcrcd/trunk/conf.dir/etc/udev/rules.d/hotplug_disk.rules
   ppcrcd/trunk/conf.dir/usr/lib/ppcrcd/addpart.sh   (contents, props changed)
Modified:
   ppcrcd/trunk/conf.dir/usr/lib/ppcrcd/hw-detect
Log:
- udev is smarted than me, use it for partitions detection


Added: ppcrcd/trunk/conf.dir/etc/udev/rules.d/hotplug_disk.rules
==============================================================================
--- (empty file)
+++ ppcrcd/trunk/conf.dir/etc/udev/rules.d/hotplug_disk.rules	Sun Mar 12 01:22:42 2006
@@ -0,0 +1 @@
+ACTION="add", SUBSYSTEM="block", RUN+="/usr/lib/ppcrcd/addpart.sh"

Added: ppcrcd/trunk/conf.dir/usr/lib/ppcrcd/addpart.sh
==============================================================================
--- (empty file)
+++ ppcrcd/trunk/conf.dir/usr/lib/ppcrcd/addpart.sh	Sun Mar 12 01:22:42 2006
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+. /usr/lib/ppcrcd/functions
+
+[ -n "$ID_FS_TYPE" ] || exit 0
+if [ "$ID_FS_TYPE" = "swap" ]; then
+	if [[ -e /tmp/swapon ]]; then
+		echo "$DEVNAME swap swap defaults 0 0" >> /etc/fstab
+		verbose 4 "type: swap (activating)"
+	else
+		echo "#$DEVNAME swap swap defaults 0 0" >> /etc/fstab
+		verbose 4 "type: swap (not activating)"
+	fi
+	exit
+fi
+rcdroot=$(grep /media/ppcrcd /etc/fstab | awk '{print $1}')
+[ "${DEVNAME}" = "$rcdroot" ] && exit
+
+LABEL="$ID_FS_LABEL_SAFE"
+if [ -z "$LABEL" ]; then
+	[ -e /tmp/parts.mac ] || mac-fdisk -l 2>/dev/null \
+		| egrep "^/dev/[a-z]+[0-9]+" > /tmp/parts.mac
+	if egrep -q "^$DEVNAME[ 	]" /tmp/parts.mac; then
+		LABEL="$(egrep "^$DEVNAME[   ]" /tmp/parts.mac | awk '{print $3}')"
+	else
+		LABEL="$ID_FS_TYPE"
+	fi
+fi
+
+mntdir="/mnt/${DEVNAME##*/}_${LABEL}"
+mkdir -p "$mntdir"
+
+FS_OPTIONS="defaults,noauto,noatime"
+[[ $ID_FS_TYPE == *fat* ]] && FS_OPTIONS="$FS_OPTIONS,exec,showexec"
+
+echo "${DEVNAME} $mntdir ${ID_FS_TYPE} ${FS_OPTIONS} 0 0" >> /etc/fstab
+
+verbose 5 "$mntdir created"

Modified: ppcrcd/trunk/conf.dir/usr/lib/ppcrcd/hw-detect
==============================================================================
--- ppcrcd/trunk/conf.dir/usr/lib/ppcrcd/hw-detect	(original)
+++ ppcrcd/trunk/conf.dir/usr/lib/ppcrcd/hw-detect	Sun Mar 12 01:22:42 2006
@@ -46,8 +46,6 @@
 	sleep $partwait
 fi
 
-echo -e "\n# autogenerated" >> /etc/fstab
-
 # Searching for cdroms #######################################################
 verbose 2 -B " +-Searching CDROMs"
 cddevs=$(grep /media/ppcrcd /etc/fstab | awk '{print $1}')
@@ -67,131 +65,8 @@
 	mkdir -p /media/$(basename $cdrom)
 done
 
-echo >> /etc/fstab
-
 # Searching for partitions ###################################################
-verbose 2 -B " +-Checking partitions"
-
-mac-fdisk -l 2>/dev/null | egrep "^/dev/[a-z]+[0-9]+" > /tmp/parts.mac
-fdisk -l 2>/dev/null | egrep "^/dev/[a-z]+[0-9]+" > /tmp/parts.pc
-
-PARTS=$(echo /dev/hd??* /dev/sd??*)
 cmdopt nomd || \
 	PARTS=$(/usr/lib/ppcrcd/find_md $(< /verbose) | sort)
 
-rcdroot=$(grep /media/ppcrcd /etc/fstab | awk '{print $1}')
-for dev in $PARTS; do
-	[ -r $dev ] || continue
-	[ "$rcdroot" == "$dev" ] && continue
-	verbose 4 "    +-Checking $dev"
-	mnt="/mnt/$(basename $dev)"
-	if egrep -q "^$dev[ 	]" /tmp/parts.pc; then			# pc partitions
-		verbose 4 -n "       +-PC partition, "
-		type="$(egrep "^$dev[ 	]" /tmp/parts.pc | cut -c 56-)"
-		case "$(tl $type)" in
-			*ext*d*)
-				mnt=
-				;;
-			*linux*swap)
-				mnt=
-				if [[ -e /tmp/swapon ]]; then
-					echo "$dev swap swap defaults 0 0" >> /etc/fstab
-					verbose 4 "type: swap (activating)"
-				else
-					echo "#$dev swap swap defaults 0 0" >> /etc/fstab
-					verbose 4 "type: swap (not activating)"
-				fi
-				;;
-			*linux*raid*|*linux*lvm*|*linux*plaintext*)
-				mnt=
-				verbose 4 -Y "type: $type (skipping)"
-				;;
-			*linux*)
-				mnt="${mnt}_linux"
-				echo "$dev $mnt auto defaults,noauto,noatime 0 0" >> /etc/fstab
-				verbose 4 "type: linux"
-				;;
-			*dos*)
-				mnt="${mnt}_dos"
-				echo "$dev $mnt msdos,fat,vfat user,noauto,umask=002,uid=0,gid=28,exec,showexec 0 0" >> /etc/fstab
-				verbose 4 "type: dos"
-				;;
-			*fat*)
-				mnt="${mnt}_fat"
-				echo "$dev $mnt vfat,fat,msdos user,noauto,umask=002,uid=0,gid=28,exec,showexec 0 0" >> /etc/fstab
-				verbose 4 "type: fat"
-				;;
-			*nfts*)
-				mnt="${mnt}_ntfs"
-				echo "$dev $mnt ntfs user,noauto,umask=002,uid=0,gid=28 0 0" >> /etc/fstab
-				verbose 4 "type: ntfs"
-				;;
-			*hpfs*)
-				mnt="${mnt}_hpfs"
-				echo "$dev $mnt hpfs user,noauto,umask=002,uid=0,gid=28 0 0" >> /etc/fstab
-				verbose 4 "type: hpfs"
-				;;
-			*bsd*)
-				mnt="${mnt}_bsd"
-				echo "$dev $mnt ufs user,noauto,umask=002,uid=0,gid=28 0 0" >> /etc/fstab
-				verbose 4 "type: bsd"
-				;;
-			*minix*)
-				mnt="${mnt}_minix"
-				echo "$dev $mnt minix user,noauto,umask=002,uid=0,gid=28 0 0" >> /etc/fstab
-				verbose 4 "type: minix"
-				;;
-			*)
-				mnt=
-				verbose 4 -Y "type: unknown"
-				;;
-		esac
-	elif egrep -q "^$dev[ 	]" /tmp/parts.mac; then			# mac partitions
-		verbose 4 -n "       +-Mac partition, "
-		line="$(egrep "^$dev[ 	]" /tmp/parts.mac)"
-		type="$(echo $line | sed 's/^.*)//')"
-		mnt="${mnt}_$(echo $line | awk '{print $3}')"
-		case "$(tl $type)" in
-			*linux*swap*)
-				mnt=
-				if [[ -e /tmp/swapon ]]; then
-					echo "$dev swap swap defaults 0 0" >> /etc/fstab
-					verbose 4 "type: swap (activating)"
-				else
-					echo "#$dev swap swap defaults 0 0" >> /etc/fstab
-					verbose 4 "type: swap (not activating)"
-				fi
-				;;
-			*linux*)
-				echo "$dev $mnt auto defaults,noauto,noatime 0 0" >> /etc/fstab
-				verbose 4 "type: linux"
-				;;
-			*bootblock*)
-				echo "$dev $mnt hfs,hfsplus defaults,noauto,noatime 0 0" >> /etc/fstab
-				verbose 4 "type: bootblock"
-				;;
-			*hfs*)
-				echo "$dev $mnt hfsplus,hfs defaults,noauto,noatime 0 0" >> /etc/fstab
-				verbose 4 "type: hfs"
-				;;
-			*dos*) #PRODOS - fat ?
-				echo "$dev $mnt fat,vfat,msdos defaults,noauto,noatime 0 0" >> /etc/fstab
-				verbose 4 "type: dos"
-				;;
-			#MFS - not supported
-			*)
-				mnt=
-				verbose 4 "type: unknown"
-				;;
-		esac
-	else
-		mnt=
-		verbose 2 -R "          +-Partition '$dev' has unrecognized partition type. BSD slice ?"
-	fi
-	if [ -n "$mnt" ]; then
-		mkdir -p $mnt
-		verbose 3 "          +-Partition '$dev' can be mounted on '$mnt'"
-	fi
-done
-
 # vi: ts=4:sw=4


More information about the pld-cvs-commit mailing list