[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: installing udev without rebooting



This is the code I plan to use.

# mount -n is used because it gets very confused by --bind (see #282205)

tempdir() {
  local dir=$(tempfile ${1:+--prefix=$1})
  rm $dir
  mkdir $dir
  echo $dir
}

# create the directory which will hold our new /dev
TEMPDEV=$(tempdir)

mount -n --bind /dev /.dev

mount -n -o size=5M,mode=0755 -t tmpfs none $TEMPDEV

mkdir $TEMPDEV/pts/ $TEMPDEV/shm/
mount -n --bind /dev/pts/ $TEMPDEV/pts/
mount -n --bind /dev/shm/ $TEMPDEV/shm/

# make symlinks to the sockets and pipes on the old /dev
find /dev -type s -o -type p | sed "s@/dev/@@" | \
while read file; do
  ln -s "/.dev/$file" "$TEMPDEV/$file"
done

# create a new config file which points to the temporary /dev
TEMPCONF=$(tempfile --prefix=udev.conf.)
sed -e "s#/dev/#$TEMPDEV/#" < /etc/udev/udev.conf > $TEMPCONF

UDEV_TEST=1 UDEV_CONFIG_FILE=$TEMPCONF /sbin/udevstart

rm $TEMPCONF

mount -n --move $TEMPDEV /dev

-- 
ciao, |
Marco | [9941 unLAT7V2B0J3c]

Attachment: signature.asc
Description: Digital signature


Reply to: