1

Temat: Start serwisów po zamontowaniu nośnika

W nowych obrazach znalazła się nowość: uruchamianie serwisów po zamontowaniu nośników. http://eko.one.pl/?p=openwrt-hdd#urucha … zeniudysku

Ma o to tyle sens, że np. transmission wymaga nośnika do działania.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

2

Odp: Start serwisów po zamontowaniu nośnika

root@OpenWrt:~# opkg upgrade
Upgrading libc on root from 0.9.30.1-43.10 to 0.9.30.1-43.12...
Downloading http://ecco.selfip.net/backfire/package … r71xx.ipk.
Upgrading libpthread on root from 0.9.30.1-43.10 to 0.9.30.1-43.12...
Downloading http://ecco.selfip.net/backfire/package … r71xx.ipk.
Upgrading glib2 on root from 2.26.1-1 to 2.26.1-2...
Downloading http://ecco.selfip.net/backfire/package … r71xx.ipk.
Upgrading base-files on root from 43.10-r25399 to 43.12-r25544...
Downloading http://ecco.selfip.net/backfire/package … r71xx.ipk.
Segmentation fault

?

3

Odp: Start serwisów po zamontowaniu nośnika

Nie wykonuje się upgrade całego systemu. Tylko reflash nowym obrazem.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

4

Odp: Start serwisów po zamontowaniu nośnika

cat /etc/config/fstab
config mount
option target<->/mnt/USB-DANE
option uuid<--->'1608F63708F61589'
option fstype<->ntfs-3g
option options<>defaults,locale=pl_PL.utf8
option enabled<>1
option enabled_fsck<--->0
option is_rootfs0
list 'service' 'transmission'



root@dywizjonu:~# ps -e
  PID USER       VSZ STAT COMMAND
    1 root      1368 S    init
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [ksoftirqd/0]
    4 root         0 SW   [events/0]
    5 root         0 SW   [khelper]
    8 root         0 SW   [async/mgr]
   39 root         0 SW   [sync_supers]
   41 root         0 SW   [bdi-default]
   43 root         0 SW   [kblockd/0]
   71 root         0 SW   [kswapd0]
   72 root         0 SW   [aio/0]
   73 root         0 SW   [crypto/0]
   85 root         0 SW   [ar71xx-spi]
   92 root         0 SW   [mtdblockd]
  255 root         0 SW   [ipolldevd]
  332 root         0 SW   [khubd]
  339 root         0 SW   [scsi_eh_0]
  340 root         0 SW   [usb-storage]
  342 root         0 SW   [scsi_eh_1]
  343 root         0 SW   [usb-storage]
  389 root      1368 S    init
  403 root      1372 S    syslogd -C16
  405 root      1356 S    klogd
  419 root       776 S    /sbin/hotplug2 --override --persistent --set-worker /
  614 root         0 SW   [cfg80211]
  688 root         0 SW   [flush-8:16]
  807 root         0 SW   [phy0]
  903 root      1840 S    mount.ntfs-3g /dev/sda1 /mnt/USB-DANE
1072 root      1428 S    hostapd -P /var/run/wifi-phy0.pid -B /var/run/hostapd
1385 root      2652 S    /usr/sbin/sshd
1394 root      1048 S    vsftpd
1416 nobody     908 S    /usr/sbin/dnsmasq -K -D -y -Z -b -E -s lan -S /lan/ -
1426 root      1364 S    watchdog -t 5 /dev/watchdog
1433 root      1372 S    udhcpc -t 0 -i eth1 -b -p /var/run/dhcp-eth1.pid -O r
1434 root      5324 S    sshd: root@pts/0
1440 root      1376 S    -ash
1648 root      1360 R    ps -e


Nie startuje uslugi, czy bylo to testowane z ntfs-3g ?

5

Odp: Start serwisów po zamontowaniu nośnika

W montuje Ci w ogóle ten ntfs? Bo cały czas wisi na montowaniu:

  903 root      1840 S    mount.ntfs-3g /dev/sda1 /mnt/USB-DANE
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6 (edytowany przez tom 2011-02-20 12:09:58)

Odp: Start serwisów po zamontowaniu nośnika

Tak, wszystko jest w porzadku. Szczerze mowiac nigdy nie wnikalem czy proces ntfs-3g powinien istniec jak jest zasob zamontowany.
Zaraz to sprawdze na wirtualce. Na debianie po zamontowaniu ntfs, proces tez wisi. co ma sens w koncu jakis proces musi odpowiadac za obsluge ntfs  z zapisem,  w kernelu modul obsluguje jedynie read-only(o ile jest skompilowany)

7

Odp: Start serwisów po zamontowaniu nośnika

Problem tkwi podczas sprawdzania
[ "$device" = "$hotdev" ] && {
config_get target "$1" target
config_list_foreach "$1" "service" start_service $action
}
Wystarczy wstawić przed powyższym:
device=/dev/`basename $DEVPATH`

I działa lub skorzystac z option 'device' w fstab'ie

Czy wie ktos jak rozmontowac partycje poprzez automount ?

8

Odp: Start serwisów po zamontowaniu nośnika

Po prostu wyjmij nośnik?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9 (edytowany przez tom 2011-04-05 07:42:45)

Odp: Start serwisów po zamontowaniu nośnika

fajnie by było żeby przed rozmontowaniem woluminu, usługa która zapisuje do tego nośnika się zatrzymała.
Chodziło mi o polecenie. Jak podejrzewam automount (daemon który jest odpalany przez skrypt boot) nasłuchuje syscall'i i wtedy reaguje.

10

Odp: Start serwisów po zamontowaniu nośnika

http://openrouter.info/forum/viewtopic. … mp;start=0

tu masz zmodyfikowany który stopuje tez usługi.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11 (edytowany przez tom 2011-04-05 12:37:33)

Odp: Start serwisów po zamontowaniu nośnika

wylaczenie uslugi dziala bez zadnych dodatkowych modyfikacji.

A to jest bzdura:
  grep -q "$hotdev" /proc/mounts || [ $action == "stop" ] || return

To mialo zabezpieczyc przed uruchamianiem uslug juz zamontowanych nosnikow
oraz
echo "target=$target device=$device" <- dla jednego urządzenia target pokaze nic, bo dopiero pare linijek dalej jest 
config_get target "$1" target

Chodzilo mi o wymuszenie syscalla jezeli to odpowiada za szturchniecie hotplug.d

12

Odp: Start serwisów po zamontowaniu nośnika

No to pisz do autora lub zrób lepszy. Te patche z dev.openwrt.org pochodzą - opracujesz lepszy - dawaj go tam.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.