Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: vstoykov в Jun 08, 2005, 20:16



Титла: USB у-вата в Knoppix - как става автомонтирането?
Публикувано от: vstoykov в Jun 08, 2005, 20:16
Не мога да разбера как става извикването на скрипта, който добавя нововключеното usb устройство (камера, памет) във /etc/fstab.

Смятам да добавя такава функционалност и във VS Live. До момента съм стигнал до четенето на това:
http://www.kernel.org/pub/linux/utils/kernel/hotplug/RFC-dev.d


Титла: USB у-вата в Knoppix - как става автомонтирането?
Публикувано от: Regia в Jun 08, 2005, 21:40
По принцип това вече е остаряла технология и няма да присъства в Тиликс 2.0

Става така:
Ядрото получава информация за включено USB - изпраща я на hotplug - той търси какво да прави при дадено събитие - изпълнява разни скриптове, свързани с това събитие.

А с UDEV/D-BUS/HAL става доста по-интелигентно.


Титла: USB у-вата в Knoppix - как става автомонтирането?
Публикувано от: vstoykov в Jun 08, 2005, 22:52
Цитат (Blue @ Юни 08 2005,22:40)
По принцип това вече е остаряла технология и няма да присъства в Тиликс 2.0

Става така:
Ядрото получава информация за включено USB - изпраща я на hotplug - той търси какво да прави при дадено събитие - изпълнява разни скриптове, свързани с това събитие.

А с UDEV/D-BUS/HAL става доста по-интелигентно.

Вече направих скрипт /etc/dev.d/default/vsupdfstab.dev

Примерен код

#!/bin/bash

# we need DEVPATH, and ACTION, and (DEVNAME or SUBSYSTEM) so we warn the user who executes this script himself
if [ -z "$DEVNAME" -a -z "$SUBSYSTEM" -o -z "$DEVPATH" -o -z "$ACTION" ]; then
  echo
  echo "This script must be called by udevd because it needs the following environment variables: DEVPATH, ACTION, and DEVNAME or SUBSYSTEM"
  echo "So you must copy this script as /etc/dev.d/default/updfstab-2.6.dev and set it executable"
  echo "See: http://www.kernel.org/pub/linux/utils/kernel/hotplug/RFC-dev.d"
  echo
  exit
fi

dev_log=/var/log/test_vsupdfstab.log

echo "***************************">> $dev_log
date >> $dev_log
echo "Някакво събитие се е случило:" >> $dev_log
echo "DEVNAME=$DEVNAME" >> $dev_log
echo "SUBSYSTEM=$SUBSYSTEM" >> $dev_log
echo "DEVPATH=$DEVPATH" >> $dev_log
echo "ACTION=$ACTION" >> $dev_log

if [ "$SUBSYSTEM" = "block" ]; then
if echo "$DEVNAME" |  egrep -o "^/dev/[a-z]+[0-9]+" 2>/dev/null 1>/dev/null; then

. /vslive/functions

if [ "$ACTION" = "add" ]; then
   MNTP_dir=`echo "$DEVNAME" | cut -d "/" -f 3`
   MNTP="/mnt/$MNTP_dir"
   mount_device_disc "$DEVNAME" "$MNTP"
elif [ "$ACTION" = "remove" ]; then
   remove_from_fstab "$DEVNAME"
fi

fi
fi


Ползва се udev.

Благодаря, че ме насочи към D-BUS и HAL. Намерих си четиво:
http://wiki.kde.org/tiki-index.php?page=DBUS
Ще го прочета...


Титла: USB у-вата в Knoppix - как става автомонтирането?
Публикувано от: vstoykov в Jun 09, 2005, 21:52
Готов съм с кръпка за VS Live версия 23-05-2005-0:

http://d.interbild.net/vstoyko....5-2.tgz
http://d.interbild.net/vstoyko....tgz.md5