--- etc/rc.initdiskless 2009-11-30 02:55:12.000000000 +0000 +++ etc/rc.initdiskless 2010-01-03 16:02:27.000000000 +0000 @@ -190,8 +190,21 @@ # handle_remount() { # $1 = mount point log "nfspt ${nfspt} mountopts ${mountopts}" # prepend the nfs root if not present [ `expr "$nfspt" : '\(.\)'` = "/" ] && nfspt="${nfsroot}${nfspt}" - mount_nfs $mountopts $nfspt $b - chkerr $? "mount_nfs $nfspt $b" + + # Hack to allow mounting of any filesystem type, not just NFS + # (thumbdrive w/glabel *hint hint*) + # ufs:/dev/label/conf (or nfs:server:/root -- server:/root works too, if + # server isn't named ufs, msdosfs, etc...) + eval $(echo ${nfspt} | sed -E 's/^([^:]+):(.*)$/fstype="\1" device="\2"/') + case "${fstype}" in + ufs|msdosfs|cd9660|nfs) ;; + # Backwards compatibility. Hopefully someone didn't name their NFS server 'ufs'... + *) device="${fstype}:${device}"; fstype="nfs" ;; + esac + mount -t "${fstype}" "${device}" "${b}" + chkerr $? "mount -t ${fstype} ${device} ${b}" + # + to_umount="$b ${to_umount}" }