PDA

Bekijk de volledige versie : Проблема с fstab



Mirage-net
26-09-2007, 13:55
Значит описываю все подробно:
девайс WL500gP с прошивкой 1.9.2.7-7g
два харда в ЮСБ-боксах
первый два раздела (своп и ext3)
второй один раздел (ext3)
прописал в /etc/fstab как хочу их монтировать

cat /etc/fstab
/dev/scsi/host0/bus0/target0/lun0/part1 none swap sw 0 0
/dev/scsi/host0/bus0/target0/lun0/part2 /tmp/harddisk ext3 rw 0 0
/tmp/harddisk/opt1 /opt ext3 rw 0 0
/dev/scsi/host1/bus0/target0/lun0/part1 /tmp/harddisk/ARHIV ext3 rw 0 0
сохранил перезапустил захожу ssh и вижу что все смонтировалось по умолчанию :( и своп не подключен

mount
/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/discs/disc0/part2 on /tmp/harddisk type ext3 (rw,noatime)
/dev/discs/disc1/part1 on /tmp/harddisk/part1 type ext3 (rw,noatime)
в постбут ничего криминального нет

cat /usr/local/sbin/post-boot
#!/bin/sh
dropbear -p 12121
insmod scsi_mod
insmod sd_mod
insmod usb-storage
вот кусок лога

cat /tmp/syslog.log
вырезано
Jan 1 00:00:03 kernel: usb.c: registered new driver usbdevfs
Jan 1 00:00:03 kernel: usb.c: registered new driver hub
Jan 1 00:00:03 kernel: usb-uhci.c: $Revision: 1.275 $ time 10:25:12 Jun 17 2006
Jan 1 00:00:03 kernel: usb-uhci.c: High bandwidth mode enabled
Jan 1 00:00:03 kernel: PCI: Enabling device 01:03.0 (0000 -> 0001)
Jan 1 00:00:03 kernel: ECHI PCI device 30381106 found.
Jan 1 00:00:03 kernel: UCHI reg 0x41 = 10
Jan 1 00:00:03 kernel: UCHI reg 0x41 changed to = 0
Jan 1 00:00:03 kernel: usb-uhci.c: USB UHCI at I/O 0x100, IRQ 2
Jan 1 00:00:03 kernel: usb-uhci.c: Detected 2 ports
Jan 1 00:00:03 kernel: usb.c: new USB bus registered, assigned bus number 1
Jan 1 00:00:03 kernel: hub.c: USB hub found
Jan 1 00:00:03 kernel: hub.c: 2 ports detected
Jan 1 00:00:03 kernel: PCI: Enabling device 01:03.1 (0000 -> 0001)
Jan 1 00:00:03 kernel: ECHI PCI device 30381106 found.
Jan 1 00:00:03 kernel: UCHI reg 0x41 = 10
Jan 1 00:00:03 kernel: UCHI reg 0x41 changed to = 0
Jan 1 00:00:03 kernel: usb-uhci.c: USB UHCI at I/O 0x120, IRQ 2
Jan 1 00:00:03 kernel: usb-uhci.c: Detected 2 ports
Jan 1 00:00:03 kernel: usb.c: new USB bus registered, assigned bus number 2
Jan 1 00:00:03 kernel: hub.c: USB hub found
Jan 1 00:00:03 kernel: hub.c: 2 ports detected
Jan 1 00:00:03 kernel: usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
Jan 1 00:00:04 kernel: PCI: Enabling device 01:03.2 (0000 -> 0002)
Jan 1 00:00:04 kernel: ehci_hcd 01:03.2: PCI device 1106:3104
Jan 1 00:00:04 kernel: ehci_hcd 01:03.2: irq 2, pci mem c00ac000
Jan 1 00:00:04 kernel: usb.c: new USB bus registered, assigned bus number 3
Jan 1 00:00:04 kernel: ECHI PCI device 31041106 found.
Jan 1 00:00:04 kernel: ECHI reg 0x49 = 80010f20
Jan 1 00:00:04 kernel: ECHI reg 0x49 changed to = 80010f00
Jan 1 00:00:04 kernel: ECHI reg 0x4b = 80010f09
Jan 1 00:00:04 kernel: ECHI reg 0x4b changed to = 80010f29
Jan 1 00:00:04 kernel: PCI: 01:03.2 PCI cache line size set incorrectly (0 bytes) by BIOS/FW, correcting to 32
Jan 1 00:00:04 kernel: ehci_hcd 01:03.2: USB 2.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4
Jan 1 00:00:04 kernel: hub.c: USB hub found
Jan 1 00:00:04 kernel: hub.c: 4 ports detected
Jan 1 00:00:04 kernel: usb.c: registered new driver usblp
Jan 1 00:00:04 kernel: printer.c: v0.13: USB Printer Device Class driver
Jan 1 00:00:04 kernel: vlan1: Setting MAC address to 00 02 44 05 8a a5.
Jan 1 00:00:04 kernel: vlan1: add 33:33:00:00:00:01 mcast address to master interface
Jan 1 00:00:04 kernel: vlan1: add 33:33:ff:05:8a:a5 mcast address to master interface
Jan 1 00:00:04 kernel: vlan1: add 01:00:5e:00:00:01 mcast address to master interface
Jan 1 00:00:04 kernel: hub.c: connect-debounce failed, port 1 disabled
Jan 1 00:00:05 kernel: hub.c: new USB device 01:03.2-1, assigned address 2
Jan 1 00:00:05 kernel: usb.c: USB device 2 (vend/prod 0x67b/0x2507) is not claimed by any active driver.
Jan 1 00:00:05 kernel: hub.c: new USB device 01:03.2-2, assigned address 3
Jan 1 00:00:05 kernel: usb.c: USB device 3 (vend/prod 0x5e3/0x702) is not claimed by any active driver.
Jan 1 00:00:06 dropbear[108]: Running in background
Jan 1 00:00:06 kernel: SCSI subsystem driver Revision: 1.00
Jan 1 00:00:06 kernel: Initializing USB Mass Storage driver...
Jan 1 00:00:06 kernel: usb.c: registered new driver usb-storage
Jan 1 00:00:06 kernel: scsi0 : SCSI emulation for USB Mass Storage devices
Jan 1 00:00:06 kernel: Vendor: ST380011 Model: A Rev: 3.06
Jan 1 00:00:06 kernel: Type: Direct-Access ANSI SCSI revision: 02
Jan 1 00:00:06 kernel: Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
Jan 1 00:00:06 kernel: SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB)
Jan 1 00:00:06 kernel: Partition check:
Jan 1 00:00:06 kernel: p1 p2
Jan 1 00:00:06 kernel: scsi1 : SCSI emulation for USB Mass Storage devices
Jan 1 00:00:06 kernel: Vendor: ST316002 Model: 3A Rev: 0811
Jan 1 00:00:06 kernel: Type: Direct-Access ANSI SCSI revision: 02
Jan 1 00:00:06 kernel: Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0
Jan 1 00:00:06 kernel: SCSI device sdb: 312579695 512-byte hdwr sectors (160041 MB)
Jan 1 00:00:06 kernel: p1
Jan 1 00:00:06 kernel: USB Mass Storage support registered.
Jan 1 00:00:15 kernel: VFS: Can't find ext3 filesystem on dev sd(8,0).
Jan 1 00:00:15 kernel: MSDOS FS: Using codepage 950
Jan 1 00:00:15 kernel: MSDOS FS: IO charset cp950
Jan 1 00:00:15 kernel: FAT: bogus logical sector size 64543
Jan 1 00:00:15 kernel: VFS: Can't find a valid FAT filesystem on dev 08:00.
Jan 1 00:00:15 kernel: FAT: freeing iocharset=cp950
Jan 1 00:00:15 kernel: FAT: bogus logical sector size 64543
Jan 1 00:00:15 kernel: VFS: Can't find a valid FAT filesystem on dev 08:00.
Jan 1 00:00:15 kernel: VFS: Can't find ext3 filesystem on dev sd(8,1).
Jan 1 00:00:15 kernel: MSDOS FS: Using codepage 950
Jan 1 00:00:15 kernel: MSDOS FS: IO charset cp950
Jan 1 00:00:15 kernel: FAT: Did not find valid FSINFO signature.
Jan 1 00:00:15 kernel: Found signature1 0x0 signature2 0x0 sector=4.
Jan 1 00:00:15 kernel: VFS: Can't find a valid FAT filesystem on dev 08:01.
Jan 1 00:00:15 kernel: FAT: freeing iocharset=cp950
Jan 1 00:00:15 kernel: FAT: Did not find valid FSINFO signature.
Jan 1 00:00:15 kernel: Found signature1 0x0 signature2 0x0 sector=4.
Jan 1 00:00:15 kernel: VFS: Can't find a valid FAT filesystem on dev 08:01.
Jan 1 00:00:15 kernel: NTFS: Invalid $Mft record 0
Jan 1 00:00:15 kernel: kjournald starting. Commit interval 5 seconds
Jan 1 00:00:15 kernel: EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
Jan 1 00:00:15 kernel: EXT3 FS 2.4-0.9.19, 19 August 2002 on sd(8,2), internal journal
Jan 1 00:00:15 kernel: EXT3-fs: mounted filesystem with ordered data mode.
Jan 1 00:00:15 USB storage: ext3 fs mounted to /tmp/harddisk
Jan 1 00:00:15 kernel: VFS: Can't find ext3 filesystem on dev sd(8,16).
Jan 1 00:00:16 kernel: MSDOS FS: Using codepage 950
Jan 1 00:00:16 kernel: MSDOS FS: IO charset cp950
Jan 1 00:00:16 kernel: FAT: bogus logical sector size 0
Jan 1 00:00:16 kernel: VFS: Can't find a valid FAT filesystem on dev 08:10.
Jan 1 00:00:16 kernel: FAT: freeing iocharset=cp950
Jan 1 00:00:16 kernel: FAT: bogus logical sector size 0
Jan 1 00:00:16 kernel: VFS: Can't find a valid FAT filesystem on dev 08:10.
Jan 1 00:00:16 kernel: kjournald starting. Commit interval 5 seconds
Jan 1 00:00:16 kernel: EXT3 FS 2.4-0.9.19, 19 August 2002 on sd(8,17), internal journal
Jan 1 00:00:16 kernel: EXT3-fs: mounted filesystem with ordered data mode.
Jan 1 00:00:16 USB storage: ext3 fs mounted to /tmp/harddisk/part1

какие будут мысли? где причина зарыта?

garry111
27-09-2007, 10:22
ИМХО: может на таких бездисковых устройствах и на этой прошивке монтирование по fstab не производится?

Mam(O)n
27-09-2007, 10:47
ИМХО: может на таких бездисковых устройствах и на этой прошивке монтирование по fstab не производится?

Не, fstab должен (http://wl500g.info/showthread.php?t=9346&highlight=fstab) срабатывать.

Mirage-net
27-09-2007, 10:48
ИМХО: может на таких бездисковых устройствах и на этой прошивке монтирование по fstab не производится?
http://wl500g.info/showpost.php?p=51576&postcount=7 четвертая снизу строчка

Oleg
27-09-2007, 12:36
А если отмонтировать всё ручками и сказать mount -a, что будет?

Mirage-net
27-09-2007, 14:06
А если отмонтировать всё ручками и сказать mount -a, что будет?

Размонтировал


mount
/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)

монтирую


mount -a
mount: Mounting /dev/scsi/host0/bus0/target0/lun0/part1 on none failed: No such file or directory

смотрим


ls /dev/scsi/host0/bus0/target0/lun0/
disc part1 part2

вроде есть part1 (это раздел swap)
смотрим что смонтировалось


mount
/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/scsi/host0/bus0/target0/lun0/part2 on /tmp/harddisk type ext3 (rw)
/dev/scsi/host0/bus0/target0/lun0/part2 on /opt type ext3 (rw)
/dev/scsi/host1/bus0/target0/lun0/part1 on /tmp/harddisk/torrents/target/ARHIV type ext3 (rw)

как и должно быть


free
total used free shared buffers cached
Mem: 30116 12512 17604 0 1640 5528
-/+ buffers/cache: 5344 24772
Swap: 0 0 0


своп не сработал ...

kung-fu-tzu
28-09-2007, 11:38
не забудьте запомнить /etc/fstab во флеш:



echo "/etc/fstab" >> /usr/local/.files
flashfs save && flashfs commit && flashfs enable


иначе после перезагрузки его не будет

Oleg
28-09-2007, 11:44
А если в строчке где swap написать swap вместо none?

Mirage-net
28-09-2007, 12:51
А если в строчке где swap написать swap вместо none?

изменил все отмонтировал своп отключил


mount -a
mount: Mounting /dev/scsi/host0/bus0/target0/lun0/part1 on swap failed: No such file or directory

опять ругается

mount
/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/scsi/host0/bus0/target0/lun0/part2 on /tmp/harddisk type ext3 (rw)
/dev/scsi/host0/bus0/target0/lun0/part2 on /opt type ext3 (rw)
/dev/scsi/host1/bus0/target0/lun0/part1 on /tmp/harddisk/torrents/target/ARHIV type ext3 (rw)
это смонтировал

free
total used free shared buffers cached
Mem: 30116 8724 21392 0 832 2104
-/+ buffers/cache: 5788 24328
Swap: 0 0 0
но свопа нет

cat /etc/fstab
/dev/scsi/host0/bus0/target0/lun0/part1 swap swap sw 0 0
/dev/scsi/host0/bus0/target0/lun0/part2 /tmp/harddisk ext3 rw 0 0
/tmp/harddisk/opt1 /opt ext3 bind,rw 0 0
/dev/scsi/host1/bus0/target0/lun0/part1 /tmp/harddisk/torrents/target/ARHIV ext3 rw 0 0
но в принципе своп ладно... почему при перезагрузке он не монтирует как сказано???
to kung-fu-tzu спасибо конечно за напиминание, но в самом первом посту было "сохранил перезапустил захожу ssh" :)

Oleg
28-09-2007, 14:28
Про своп ясно. mount его не понимает. Зато swapon -a/swapoff -a нормально понимает.
Что касается, почему оно само не монтируется. Есть только одно подозрение - Вы вручную грузите ЮСБ модули. Т.е. у Вас очевидно, все встроенные сервисы запрещены. Я бы разрешаил что-нибудь и посмотрел, что выйдет.

Mirage-net
28-09-2007, 14:41
Про своп ясно. mount его не понимает. Зато swapon -a/swapoff -a нормально понимает.
Что касается, почему оно само не монтируется. Есть только одно подозрение - Вы вручную грузите ЮСБ модули. Т.е. у Вас очевидно, все встроенные сервисы запрещены. Я бы разрешаил что-нибудь и посмотрел, что выйдет.
да сервисы все отключены .. самбу не использую а фтп использую патченый vsftp ... ок попробую включить встроенный фтп ...

включил встроенный фтп смонтировалось куда надо ... но всеже хотелось бы чтоб и без него работало

Oleg
28-09-2007, 15:01
как временное решение: включите встроенный фтп, но запретите всех пользователей. тогда он сразу после запуска будет завершать работу.

Mirage-net
28-09-2007, 15:12
как временное решение: включите встроенный фтп, но запретите всех пользователей. тогда он сразу после запуска будет завершать работу.
Спасибо так и сделую...

ma_lav
28-09-2007, 16:19
А ведь тоже самое было, помнится еще порадовался когда прошивка с возможность использования, но также не срослось :confused: и забил, а теперь есть кто-то более настырный :) . Ведь fstab более привычно, чем автозагрузка.

Andrey_3
03-10-2007, 16:50
Здравствуйте!

Как известно, первый подключенный диск автоматически монтируется в /tmp/harddisk только если в оболочке включен stupidftp. Если stupidftp выключен, то каталог /tmp/harddisk не создается и не видно устройств /dev/scsi/. Подскажите, как в этом случае сделать возможным исполнение в post-mount команды:
/bin/mount -o sync,noatime,rw /dev/discs/disk0/part1 /tmp/harddisk

Спасибо.

Mam(O)n
03-10-2007, 16:59
insmod scsi_mod
insmod sd_mod
insmod usb-storage

и после этого флешки автоматом будут монтироваться в /tmp/harddisk

Andrey_3
03-10-2007, 19:07
и после этого флешки автоматом будут монтироваться в /tmp/harddisk
Спасибо за ответ. Но мне бы хотелось иметь возможность вручную монтировать в post-mount произвольный раздел диска в /tmp/harddisk. В предложенном же варианте автоматом монтируется первый раздел диска. Неужели в post-mount прийдется сначала делать umount /tmp/harddisk, а затем монтировать то что нужно?

Duke
03-10-2007, 19:36
Попробуйте через /etc/fstab
В post-mount перемантировать раздел слишком извратно получается

Mirage-net
03-10-2007, 20:23
Попробуйте через /etc/fstab
В post-mount перемантировать раздел слишком извратно получается
/etc/fstab нормально обрабатывается только при запущеном штатном фтп подробная информация от Олега здесь (http://wl500g.info/showthread.php?t=10757)

Duke
03-10-2007, 20:43
Там же и рецепт, как ето обойти - убить юзеров в stupid-ftpd.
Альтернативно - killall stupidftpd в post-mount как раз.
Дело-то в общем не в запущенном stupid-ftpd а в том что в веб-интерфейсе включение FTP подрузумевает загрузку stupid-ftpd, самбы, модулей скази, усб-масстораджа и еще кучу всего.

На крайняк монтируется нужная партиция в post-boot, только надо еще добавит scsi-девайс

Mam(O)n
03-10-2007, 22:56
Монтироватся автоматом в /tmp/harddisk будет всегда, при загруженных модулях о которых я написал выше. Без них(всех трех) работать подсистема usb-накопителей не будет. Можно отмонтировать разделы сразу после монтирования, прописав следующую строчку в post-mount:

umount $(mount | awk '{print $3}' | grep '/tmp/harddisk' | sort -r)

Duke
04-10-2007, 04:56
всегда, за исключением тех случаев когда /tmp/harddisk уже занят, что происходит при монтирровании из post-boot. Пока /etc/fstab не прикрутили у менятак все и работало.

Andrey_3
04-10-2007, 07:40
Спасибо всем за ответы. Видимо действительно придется в post-mount сначала размонтировать /tmp/harddisk, а потом смонтировать всё как мне надо.

Duke
04-10-2007, 08:32
Сделай через post-boot, зачем лишний раз перемонтировать?

Oleg
04-10-2007, 17:54
Спасибо всем за ответы. Видимо действительно придется в post-mount сначала размонтировать /tmp/harddisk, а потом смонтировать всё как мне надо.

Испуользуйте fstab.

Protei
16-10-2007, 07:30
Так как тогда сделать, чтобы автоматом прописывался swap, в post-boot его записывать? И какого размера лучше делать swap, чем больше тем лучше?

Kolandr
01-12-2007, 15:45
как временное решение: включите встроенный фтп, но запретите всех пользователей. тогда он сразу после запуска будет завершать работу.
а как запретить всех пользователей? у меня также обрабатывается только автомонтирование, игнорируя fstab, если встроенный фтп выключен.

bigest
22-01-2008, 12:44
Приветствую!

Расскажите пожалуйста как работает fstab. Хочу помимо корня, смонтированного по-дефолту, иметь /opt и /tmp/harddisk смонтированные по NFS. Прошивка 1.9.2.7-8. Создал /etc/fstab следующего содержания:

192.168.1.5:/router$/system /opt nfs suid,dev,exec 0 0
192.168.1.5:/router$/userdata /tmp/harddisk nfs suid,dev,exec 0 0
Странность 1: После перезагрузки разделы автоматически не монтируются, однако "mount -a" это делает:

[bigest@outpost root]$ df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 3008 3008 0 100% /

[bigest@outpost root]$ mount -a
mount: Mounting 192.168.1.5:/router$/userdata on /tmp/harddisk failed: Bad fildescriptor

[bigest@outpost root]$ df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 3008 3008 0 100% /
192.168.1.5:/router$/system 959100384 175136640 783963744 18% /opt
192.168.1.5:/router$/userdata 959100384 175136640 783963744 18% /tmp/harddisk

[bigest@outpost root]$ mount
/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
192.168.1.5:/router$/system on /opt type nfs (rw,v3,rsize=32768,wsize=32768,ha,udp,lock,addr=19 2.168.1.5)
192.168.1.5:/router$/userdata on /tmp/harddisk type nfs (rw,v3,rsize=32768,wsi=32768,hard,udp,lock,addr=19 2.168.1.5)

[bigest@outpost root]$
Кстати, что означает загадочный "Bad fildescriptor"? Если это был бы Ext3, то мне очень захотелось бы прогнать fsck. А что делать в случае с NFS?

Странность 2: Через некоторое время, после ручного монтирования разделов, корневой раздел говорит "пока-пока". Выглядит это так: в любом каталоге по ls видно только ".." размером несколько триллионов байт датированное 1970м годом, по df видны только 2 nfs раздела. Первая строка, в которой был корневой раздел, пропадает.
Если "mount -a" добавить в post-boot, то эту ситуацию имеем после загрузки сразу.

Грустно от собственной криворукости - сил нет. :(

bigest
22-01-2008, 17:03
Поправка к странности 2. Корень остается жив, однако такое ощущение что у меня пропали права на просмотр оглавления.

[bigest@outpost var]$ cd /

[bigest@outpost /]$ ls
crwSrws-w- 0 16877 1 0, 0 Jan 1 1970 .

[bigest@outpost /]$ cd /var/log

[bigest@outpost log]$ ls
?---rwxr-x 0 16877 1 1661566579169759488 Jan 1 1970 .

[bigest@outpost log]$ head /var/log/syslog.log
Jan 1 03:00:02 syslogd started: BusyBox v1.1.3
Jan 1 03:00:03 kernel: PCI: Fixing up bus 1
Jan 1 03:00:03 kernel: Linux NET4.0 for Linux 2.4
Jan 1 03:00:03 kernel: Based upon Swansea University Computer Society NET3.039
Jan 1 03:00:03 kernel: Initializing RT netlink socket
Jan 1 03:00:03 kernel: Starting kswapd
Jan 1 03:00:03 kernel: Journalled Block Device driver loaded
Jan 1 03:00:03 kernel: devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
Jan 1 03:00:03 kernel: devfs: boot_options: 0x1
Jan 1 03:00:03 kernel: NTFS driver v1.1.22 [Flags: R/O]

[bigest@outpost log]$

Oleg
22-01-2008, 18:02
Странность 1: После перезагрузки разделы автоматически не монтируются, однако "mount -a" это делает:

Это не странность, это by design.
fstab обрабатывается только при наличии юсб дисков. Ваше решение - вызывать mount -a из post-boot.


@outpost root]$[/code]
Кстати, что означает загадочный "Bad fildescriptor"? Если это был бы Ext3, то мне очень захотелось бы прогнать fsck. А что делать в случае с NFS?

Не знаю, вижу такое впервые. Над NFS ничего прогонять не надо. Задача целостности полностью лежит на сервере.


Странность 2: Через некоторое время, после ручного монтирования разделов, корневой раздел говорит "пока-пока"
Пахнет проблемой с железкой, например битым RAM... :(

bigest
22-01-2008, 19:03
Это не странность, это by design.
fstab обрабатывается только при наличии юсб дисков. Ваше решение - вызывать mount -a из post-boot.
Ок.

Еще наблюдение. Когда странность 2 в разгаре, можно сделать top. Странно он выглядит весьма при этом: все процессы на месте и работают, но запущены от имени пользователя, которого нет в passwd. Просто номер UID отображается в колонке USER, 16749.

Обратил также внимание на сообщения в логе, которых раньше не замечал:

Jan 1 03:00:05 kernel: Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
Jan 1 03:00:05 portmap[95]: user rpc not found, reverting to user bin
Jan 1 03:00:06 statd[97]: Version 1.0.7 Starting
Jan 1 03:00:06 statd[97]: statd running as root. chown /var/lib/nfs/sm to choose different user

Смущает меня chown этот. Такое ощущение, что вся система резко сменила владельца и я остался не у дел... :-/

Oleg
22-01-2008, 19:05
В логе всё нормально. То, что появляются странные процессы в ps - ещё один довод в неправильности железки. Она на гарантии?

bigest
22-01-2008, 19:09
В логе всё нормально. То, что появляются странные процессы в ps - ещё один довод в неправильности железки. Она на гарантии?
Угу. Но сомневаюсь, что нестабильная работа альтернативной прошивки является гарантийным случаем. :(

Oleg
22-01-2008, 19:32
Я думаю, что проблемы проявляются и на стандартной прошивке. Попробуйте её использовать несколько дней.

Duke
23-01-2008, 14:33
Если скриптец сохранился, можешь выложить?
scsi:


#!/bin/sh
usage="Usage: ${0##*/} {add|remove} {<host_id>|<device_serial_number>} [<bus_id> [<target_id> [<lun_id>]]]"
case $1 in
add|remove)
[ $# -lt 2 ] && echo $usage ||
(
strgpath="/proc/scsi/usb-storage-*/"
busid=${3:-0}
targetid=${4:-0}
lunid=${5:-0}
[ ${#2} -le 2 ] && hostid=$2 ||
for host in $strgpath*; do
[ -f $host ] &&
grep "Serial Number: $2" $host -q &&
grep "Attached: Yes" $host -q &&
hostid=${host#$strgpath} &&
break
done
[ -n "$hostid" ] &&
(echo "scsi $1-single-device $hostid $busid $targetid $lunid" > /proc/scsi/scsi)
[ "$1"=="add" ] &&
dev="/dev/scsi/host$hostid/bus$busid/target$targetid/lun$lunid" &&
[ -e $dev ] && echo $dev
)
;;
*)
echo $usage
esac

тут заменить Serial Number на GUID

Потом добавляем девайс типа того


discdev="$(scsi add $discserial)/part1"
[ -b $discdev ] && mount $discdev/part1 /tmp/harddisk

Соответственно в $discserial пихаем GUID.
На старых прошивках если это провернуть в post-boot то все подключалось куда надо и автомонтирование втихомолку ничего н делало - к тому моменту уже все подмонтированным поднималось. Как на этой поведет себя - не понятно.

bigest
23-01-2008, 16:38
Похоже кое-что наклёвывается! Я определил строгую зависимость, приводящую к краху корня. Все рушится после монтирования NFS раздела в /opt и последующего открытия новой сессии по ssh. Точнее, изменения становятся заметны уже в новой сессии.

Абсолютно идентичная команда, в которой место монтирования заменено с /opt на /tmp/harddisk обрабатывается совершенно нормально. Чувствую, что истина где-то рядом. Ключ -o bind в команде mount? :-/

PS Стандартная прошивка работает как заведенная, на альтернативной 1.9.2.7-8 аптайм бывал по 3 недели до запланированной перезагрузки, оставленный на ночь тест памяти не выявил сбойных участков.

PPS А сообщение bad file descriptor появляется после любой попытки монтирования чего-либо куда-либо, когда монтирование NSF раздела в /opt уже сработало и корню настал кирдык.

bigest
24-01-2008, 15:05
Дальнейшие изыскания показали, что корень валится в момент появления в /opt папки lib с обычным содержимым. Судя по всему, какая-то из библиотек была повреждена при переносе с USB-диска на NAS. А, так как в path на первом месте стоят системные каталоги из /opt, то при первом же вызове этой библиотеки системе приходит карачун-бабай. :D

Фффух, разобрался таки...

Contemplator
29-01-2008, 14:33
6 часов безуспешный поисков на форуме информации о том как реализовать монтирование посредством fstab подвигли меня на создание этой темы. Особая благодарность Oleg за все и al37919 в частности ( http://wl500g.info/showpost.php?p=75378&postcount=1 ). Просьба к форумчанам, пожалуйста, опишите поподробнее как создавать fstab и .files, какие у них атрибуты, рекомендации по их применению.

piezomotor
29-01-2008, 14:42
6 часов безуспешный поисков на форуме информации о том как реализовать монтирование посредством fstab подвигли меня на создание этой темы. Особая благодарность Oleg за все и al37919 в частности ( http://wl500g.info/showpost.php?p=75378&postcount=1 ). Просьба к форумчанам, пожалуйста, опишите поподробнее как создавать fstab и .files, какие у них атрибуты, рекомендации по их применению.

Так же хотелось бы узнать в чем разница монтирования посредстом post-mount и fstab?

Спасибо.

Contemplator
29-01-2008, 14:55
Насколько я понял разница в том, что монтирование посредством fstab более "правильно", без лишних заморочек (особенно это актуально при использовании дисков со множеством разделов) - т.е. это обход автомонтирования - значит все под контролем :)

piezomotor
29-01-2008, 17:34
Насколько я понял разница в том, что монтирование посредством fstab более "правильно", без лишних заморочек (особенно это актуально при использовании дисков со множеством разделов) - т.е. это обход автомонтирования - значит все под контролем :)

Вот у меня самоопризвольно монтируется

/dev/discs/disc0/part1 /tmp/mnt/disc0_1

А у вас нет такой проблемы?

И встречный вопрос- можно ли примонтировать что либо со стороны WAN?

Contemplator
29-01-2008, 18:21
Вот у меня самоопризвольно монтируется

/dev/discs/disc0/part1 /tmp/mnt/disc0_1

А у вас нет такой проблемы?

И встречный вопрос- можно ли примонтировать что либо со стороны WAN?

да, все именно так:
/dev/discs/disc0/part1 /tmp/mnt/disc0_1 - архив
/dev/discs/disc0/part2 /tmp/mnt/disc0_2 - программы

далее в post-mount вынужден делать так:
swapon /dev/discs/disc0/part3
mount -o bind /tmp/mnt/disc0_2/opt /opt
umount /tmp/mnt/disc0_2

что бы получить вот это:
/dev/discs/disc0/part1 /tmp/mnt/disc0_1
/dev/discs/disc0/part2 /opt
всего этого можно избежать используя fstab, но у меня пока не получается заставить его работать, надеюсь уважаемый al37919 поможет.

Mr_J
29-01-2008, 21:36
У меня стоит последняя превью-прошивка (8-12), включена Samba, есть и fstab. Как я понимаю, если в fstab не указана точка монтирования для конкретного диска, то Samba его монтирует сама в /tmp/mnt/disc_номердиска_номерраздела. Если монтируется по fstab-овски в любое место, отличное от точек автомонтирования Samb-ы, то Samba не видит эти разделы...

Компромис для fstab у меня выглядит так:


/dev/discs/disc0/part1 none swap sw 0 0
/dev/discs/disc0/part2 /opt ext3 rw,noatime 1 1
/dev/discs/disc0/part3 /tmp/mnt/disc0_3 ext3 rw,noatime 1 1
/dev/discs/disc0/part4 /tmp/mnt/disc0_4 ext3 rw,noatime 1 1

После того как определюсь со всеми нужными мне пакетами, атрибуты у /opt изменю на ro,noatime...

Contemplator
30-01-2008, 01:13
У меня стоит последняя превью-прошивка (8-12), включена Samba, есть и fstab. Как я понимаю, если в fstab не указана точка монтирования для конкретного диска, то Samba его монтирует сама в /tmp/mnt/disc_номердиска_номерраздела. Если монтируется по fstab-овски в любое место, отличное от точек автомонтирования Samb-ы, то Samba не видит эти разделы...

Компромис для fstab у меня выглядит так:


/dev/discs/disc0/part1 none swap sw 0 0
/dev/discs/disc0/part2 /opt ext3 rw,noatime 1 1
/dev/discs/disc0/part3 /tmp/mnt/disc0_3 ext3 rw,noatime 1 1
/dev/discs/disc0/part4 /tmp/mnt/disc0_4 ext3 rw,noatime 1 1

После того как определюсь со всеми нужными мне пакетами, атрибуты у /opt изменю на ro,noatime...

Ничче не понимаю. У меня тоже стоит... ммм, да, свежеустановленная 8-12 и Samba включена, но /etc/fstab отсутствует :eek: как собственно и /user/local/.files в котором якобы должен быть прописан /etc/fstab (для сохранения в flashfs)

Mr_J
30-01-2008, 07:15
/etc/fstab отсутствует как собственно и /user/local/.files в котором якобы должен быть прописан /etc/fstab (для сохранения в flashfs)
В телнете нужно дать такие команды:
echo "/etc/fstab" >> /usr/local/.files
touch /etc/fstab
Потом отредактировать содержимое /etc/fstab, а в конце не забыть про
flashfs save
flashfs commit
flashfs enable

al37919
30-01-2008, 07:15
Ничче не понимаю. У меня тоже стоит... ммм, да, свежеустановленная 8-12 и Samba включена, но /etc/fstab отсутствует :eek: как собственно и /user/local/.files в котором якобы должен быть прописан /etc/fstab (для сохранения в flashfs)
Коллега, у Вас в руках полная информация, осталось только ей воспользоваться. Файлы fstab и .files --- это фичи чисто Олеговой проишвки и создаются вручную.

2Mr_J
монтировать можно куда угодно, а дальше есть два варианта:
Либо создать симлинки типа /tmp/mnt/disc0_4, либо сохранить файл /etc/smb.conf через .files, отредактировать его, а самбу запускать из стартовых файлов.

Vofik
30-01-2008, 14:06
В прошике (1.9.2.7-8.12) есть возможность монтирования точек из зарания смонтированных дисков (disk 0_1, disk 1_1), но ведь они монтируюся из эмуляции сказёвых девайсов, у меня флешка и hdd (подключены в хаб) монтируются куда Бог на душу пошлёт! Воспор (перерыл форум, но нормального ответа так и не нашёл), как закрепить за флешкой один сказёвый девайс, а за винтом другой (можно как-нибуть по другому, но чтоб монтировалось всегда в одно место, и постарайтесь поподробнее объяснить ламмеру в этом вопросе и сильно не пинать:D!)???

al37919
30-01-2008, 14:21
как закрепить за флешкой один сказёвый девайс, а за винтом другой
ИМХО никак.

Решение подобной ситуации для случая двух принтеров предложено здесь:
http://www.wl500g.info/showpost.php?p=80189&postcount=7

Contemplator
30-01-2008, 14:33
Mr_J, al37919 большое спасибо! Сделал:
touch /usr/local/.files
echo "/etc/fstab" >> /usr/local/.files
touch /etc/fstab
echo "/dev/discs/disc0/part1 /tmp/mnt/disc0_1 ext3 rw,noatime 1 1" >> /etc/fstab
echo "/dev/discs/disc0/part2 /opt ext3 rw,noatime 1 1" >> /etc/fstab
echo "/dev/discs/disc0/part3 none swap sw 0 0" >> /etc/fstab

в результате разгрузил post-mount:
#swapon /dev/discs/disc0/part3
#mount -o bind /tmp/mnt/disc0_2/opt /opt
#umount /tmp/mnt/disc0_2

получил то что хотел без лишних и бестолковых телодвижений:

[admin@router root]$ mount
/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/discs/disc0/part2 on /opt type ext3 (rw,noatime)
/dev/discs/disc0/part1 on /tmp/mnt/disc0_1 type ext3 (rw,noatime)

[admin@router root]$ df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 3008 3008 0 100% /
/dev/discs/disc0/part2 988244 35148 902896 4% /opt
/dev/discs/disc0/part1 27356092 131228 25835244 1% /tmp/mnt/disc0_1

[admin@router root]$ free
total used free shared buffers cached
Mem: 127416 24132 103284 0 6632 9548
-/+ buffers/cache: 7952 119464
Swap: 506008 0 506008

Тему использования /etc/fstab и .files можно считать закрытой, но остался один вопрос. Mr_J, al37919, откуда Вы все это узнали :rolleyes:? я в течение 2-х дней копал форум, но так и не смог найти этой информации. Вы, очень помогли, надеюсь не одному мне. Спасибо.

djet
30-01-2008, 14:39
Здесь (http://wl500g.info/showthread.php?t=12200&page=17) есть решение.

+ кусок в pre-mount наподобие:

fstab=/etc/fstab
fsopt='noatime,nodiratime,rw'

sn_trscnd=B1S0QP3R; mp_trscnd='/opt'
sn_fuj=D625100AD; mp_fuj='/tmp/harddisk'

dev_trsnd=$(scsi add $sn_trscnd);
dev_fuj=$(scsi add $sn_fuj);

[ -L $mp_fuj ] && rm $mp_fuj
mkdir $mp_fuj

echo '#device Mountpoint FStype Options Dump Pass#' > $fstab
echo "$dev_trsnd/part1 $mp_trscnd ext3 $fsopt 0 1" >> $fstab
echo "$dev_fuj/part2 $mp_fuj ext3 $fsopt 0 0" >> $fstab
echo "$dev_fuj/part1 none swap sw 0 0" >> $fstab


Так у меня флеш монтируется напрямую в /opt, а hdd - в /tmp/harddisk, без всяких симлинков и o-bind'ов.
Минус - теряется содержимое fstab, но при желании скрипт можно доделать.

Vofik
30-01-2008, 16:32
1. я так понимаю, что диски можно монтировать куда угодно, если замение директорию в скрипте?

2. Будет ли самба расшаривать из как раньше?

3. что с /tmp/mnt/disc0_1/ и /tmp/mnt/disc0_2/ ?

4. надо ли отключать ftp авто-монтирование?

5. как узнать этот серийный номер?

4. Будет ли работать ftp?

:confused:

djet
30-01-2008, 21:38
1. да
2. не будет, если вручную список шар не указать или дописать скрипт на предмет дописывания в /etc/smb.conf (правда, не знаю, что раньше выполняется: pre-mount или пересоздание smb.conf).
3. их не будет
4. не в курсе, что это
5. cat /proc/scsi/usb-storage-*/*

Mr_J
31-01-2008, 06:17
остался один вопрос. Mr_J, al37919, откуда Вы все это узнали :rolleyes:? я в течение 2-х дней копал форум, но так и не смог найти этой информации. Вы, очень помогли, надеюсь не одному мне. Спасибо.

Видимо я начал читать форум раньше или читаю его тщательнее. Вот тема (http://wl500g.info/showthread.php?t=12221), где al37919 и ряд других авторов написали много интересного.

ADM 503
05-03-2008, 23:51
Здравствуйте Уважаемый ALL.
Наткнулся на проблемму с нумерацией USB девайсов после ребута.
Я проделал всё как написано в теме "Мод веб-интерфейса SCTCS для enhanced-ctorrent" http://wl500g.info/showthread.php?t=3171

Итак, есть роутер (Asus WL-500g Premium), к которому по USB подключен внешний HDD. У меня HDD (160 Gb) подключен к первому USB-порту (ближе к верхней крышке). Роутер настроен и получает-раздает и-нет. HDD будет форматироваться силами и средствами роутера (вся информация, которая находилась на HDD до этого, будет утеряна).
Я подключаюсь к роутеру через telnet; SSH и dropbear не настраивал.
Команды будут писаться так, содержимое файла в виде "цитаты".
У меня прошита олеговская 1.9.2.7-8.
с некоторым отступлением: я распаял еще два USB внутри маршрутизатора. В один из них я вставил флэшку 2Гб. для swap и программ (форматировал и устанавливал всё как в теме).
Вопрос, можно ли как-нибудь сделать чтоб распаянный мной USB был disc0 ? Или хоть какой, неважно, но лишь бы он не менял свой номер после ребута если в другие USB порты были вставлены / извлечены накопители.
Спасибо.

al37919
06-03-2008, 08:54
я предлагал вариант решения проблемы здесь:
http://wl500g.info/showpost.php?p=71881&postcount=2
впрочем, сам его не тестировал.

Вообще, я думаю, надо идти немного другим путем. Подобным скриптом надо генерить fstab Это будет существенно проще реализовать.

djet
06-03-2008, 11:13
Здесь (http://wl500g.info/showthread.php?p=79119&highlight=scsi#post79119) выложен уже готовый скрипт.

ADM 503
06-03-2008, 13:28
Спасибо. Буду пробовать.

al37919
06-03-2008, 13:57
да, вариант от djet близок к идеальному.

Я бы оставил файл scsi без изменения, а вместо тех строк, которые предлагается пихать в post-boot сделал бы следующее:

добавить в pre-boot такие строки для каждого раздела на всех дисках, которые могут подключаться к роутеру:

discserial="059f0c410000de907164053f"
discdev="$(scsi add $discserial)/part1"
[ -b $discdev ] && echo "$discdev/part1 none swap sw 0 0" > /etc/fstab
discdev="$(scsi add $discserial)/part2"
[ -b $discdev ] && echo "$discdev/part2 /opt ext3 rw,noatime 1 0" >> /etc/fstab
и т.д.
discserial берется как :
cat /proc/scsi/usb-storage-0/0 | awk /GUID/'{print $2}' (вместо /0 может стоять другая цифра)

для примера мой fstab (приведенный выше пример описывает две первые строки отсюда):

/dev/discs/disc0/part1 none swap sw 0 0
/dev/discs/disc0/part2 /opt ext3 rw,noatime 1 0
/dev/discs/disc0/part3 /opt/home ext3 rw,noatime 1 1
/dev/discs/disc0/part4 /home ext3 rw,noatime 1 1
/dev/discs/disc1/part2 /mnt ext3 rw,noatime 1 1

После этого, делать больше ничего не надо все должно смонтироваться по нужным полочкам.

djet
06-03-2008, 15:25
А не лучше ли повесить это в pre-mount?

У меня такой:


#!/bin/sh

SCRIPTNAME="${0##*/}"


logger -t ${SCRIPTNAME} "Started ${SCRIPTNAME}${*:+ $*}."

fstab="/etc/fstab"; fsopt="noatime,nodiratime,rw"

sn_trscnd=B1S0QP3R; mp_trscnd="/opt"; dev_trsnd=$(scsi add $sn_trscnd);
sn_fuj=D625100AD; mp_fuj="/mnt"; dev_fuj=$(scsi add $sn_fuj);

[ -L $mp_fuj ] && rm $mp_fuj
[ ! -d $mp_fuj ] && mkdir $mp_fuj

echo "#device Mountpoint FStype Options Dump Pass#" > $fstab
[ -b $dev_trsnd ] && echo "$dev_trsnd/part1 $mp_trscnd ext3 $fsopt 0 1" >> $fstab
[ -b $dev_fuj ] && echo "$dev_fuj/part2 $mp_fuj ext3 $fsopt 0 0" >> $fstab
[ -b $dev_fuj ] && echo "$dev_fuj/part1 none swap sw 0 0" >> $fstab

[ -d /tmp/harddisk ] && rmdir /tmp/harddisk
ln -s /mnt /tmp/harddisk

swapon -a

PID="/var/run/pwrled.pid"
[ -r $PID ] && kill $(cat $PID);
/usr/local/bin/pwrled -c 0 -e 20 -d 20 -n 1 -bp $PID

for disc in `awk '/ext3/{print($1)}' /etc/fstab`
do
e2fsck -p $disc | /usr/bin/logger -t e2fsck
done

[ -r $PID ] && kill $(cat $PID);
/usr/local/bin/pwrled -c 0 -e 60 -d 60 -n 1 -bp $PID
#/usr/local/bin/pwrled off

logger -t ${SCRIPTNAME} "Leaving ${SCRIPTNAME}."

al37919
06-03-2008, 15:31
Да, скорее всего в момент выполнения pre-boot usb модули еще не загружены. Значит точно pre-mount.

ABATAPA
06-03-2008, 17:12
cat /proc/scsi/usb-storage-0/0 | awk /GUID/'{print $2}' (вместо /0 может стоять другая цифра)


Насколько было бы проще, если бы в прошивке появился blkid...

Vofik
06-03-2008, 17:16
можно и в post-boot, есть замечательная команда sleep;)

Vofik
06-03-2008, 21:20
кстати, у меня на бете, такая странность есть - если флеш и винт воткнуть в хаб, а его в роутер, то ВСЕГДА (ни разу не было подругому) они не меняютсься! поменять их можно, поменяв местами в хабе......... так, что делайте выводы;)

ADM 503
07-03-2008, 12:07
А не лучше ли повесить это в pre-mount?

У меня такой:


#!/bin/sh

SCRIPTNAME="${0##*/}"


logger -t ${SCRIPTNAME} "Started ${SCRIPTNAME}${*:+ $*}."

fstab="/etc/fstab"; fsopt="noatime,nodiratime,rw"

sn_trscnd=B1S0QP3R; mp_trscnd="/opt"; dev_trsnd=$(scsi add $sn_trscnd);
sn_fuj=D625100AD; mp_fuj="/mnt"; dev_fuj=$(scsi add $sn_fuj);

[ -L $mp_fuj ] && rm $mp_fuj
[ ! -d $mp_fuj ] && mkdir $mp_fuj

echo "#device Mountpoint FStype Options Dump Pass#" > $fstab
[ -b $dev_trsnd ] && echo "$dev_trsnd/part1 $mp_trscnd ext3 $fsopt 0 1" >> $fstab
[ -b $dev_fuj ] && echo "$dev_fuj/part2 $mp_fuj ext3 $fsopt 0 0" >> $fstab
[ -b $dev_fuj ] && echo "$dev_fuj/part1 none swap sw 0 0" >> $fstab

[ -d /tmp/harddisk ] && rmdir /tmp/harddisk
ln -s /mnt /tmp/harddisk

swapon -a

PID="/var/run/pwrled.pid"
[ -r $PID ] && kill $(cat $PID);
/usr/local/bin/pwrled -c 0 -e 20 -d 20 -n 1 -bp $PID

for disc in `awk '/ext3/{print($1)}' /etc/fstab`
do
e2fsck -p $disc | /usr/bin/logger -t e2fsck
done

[ -r $PID ] && kill $(cat $PID);
/usr/local/bin/pwrled -c 0 -e 60 -d 60 -n 1 -bp $PID
#/usr/local/bin/pwrled off

logger -t ${SCRIPTNAME} "Leaving ${SCRIPTNAME}."


...создал /usr/local/sbin/pre-mount в него скопировал скрипт. Изменил в нем название флэшки и ее серийник. В /usr/local/sbin/post-boot закоментировал mount /dev/discs/disc0/part3 /tmp/harddisk Дал команду flashfs save && flashfs commit && flashfs enable && reboot Проверил... не работает :(
Прокоментируйте пожалуйста, что какая строка в скрипте делает. Особенно непонятно
sn_trscnd=B1S0QP3R; mp_trscnd="/opt"; dev_trsnd=$(scsi add $sn_trscnd);
sn_fuj=D625100AD; mp_fuj="/mnt"; dev_fuj=$(scsi add $sn_fuj); Спасибо

Vofik
07-03-2008, 18:48
обозначает что и куда монтируется........ помоему и догаться можно было........

ADM 503
08-03-2008, 03:15
обозначает что и куда монтируется........ помоему и догаться можно было........

Ну я и догадался. А без упреков в незнании sh можно? У меня всё впереди. Не все же гениями родились.
Ктонибудь, распишите пожалуйста в этом скрипте что есть что. У меня незаработало, хотелась бы понимать что происходит. В целом я понял, но некоторые команды мне непонятны. И зачам там переменная.

Oleg
08-03-2008, 16:48
А не лучше ли повесить это в pre-mount?

У меня такой:

А что такое за программа scsi? Думаю, у ADM503 её нет.

al37919
08-03-2008, 16:58
предлагаю переработанный вариант того, что было предложено на несколько постов выше. Это "минималистский вариант" pre-mount --- только то, что необходимо для того, чтобы решить вопрос заданный в теме (естественно, с использованием скрипта scsi который был приведен выше).


#! /bin/sh

fstab="/etc/fstab"
ext3opt="noatime,rw"

sn_trscnd=B1S0QP3R; dev_trsnd=$(scsi add $sn_trscnd)
sn_fuj=D625100AD; dev_fuj=$(scsi add $sn_fuj)

echo "#device Mountpoint FStype Options Dump Pass#" > $fstab
[ -b $dev_trsnd ] && echo "$dev_trsnd/part1 /opt ext3 $ext3opt 0 1" >> $fstab
[ -b $dev_fuj ] && echo "$dev_fuj/part2 /mnt ext3 $ext3opt 0 0" >> $fstab
[ -b $dev_fuj ] && echo "$dev_fuj/part1 none swap sw 0 0" >> $fstab

Здесь sn_* --- это Serial number отсюда:

cat /proc/scsi/usb-storage-0/0
для нескольких устройств это может быть либо 0/1 либо 1/0 (в общем случае x/y , где x >= 0; y >= 0) --- надо проверить все варианты (при всех возможных подключенных устройствах). Короче --- это уникальные идентификаторы физических устройств по которым мы определяем кто есть кто. Приведенные идентификаторы transcend и fujitsu корректны только для djet. Каждый должен составить список серийных номеров устройст, которые могут быть подключены к его конкретной системе.

P.S. 2 Oleg: см. третий пост темы

djet
08-03-2008, 19:32
Прошу прощения, в скрипт вкралась ошибка, заметил которую только после перезагрузки. Исправить следует этот кусок:


echo "#device Mountpoint FStype Options Dump Pass#" > $fstab
[ -b $dev_trsnd/part1 ] && echo "$dev_trsnd/part1 $mp_trscnd ext3
[ -b $dev_fuj/part2 ] && echo "$dev_fuj/part2 $mp_fuj ext3 $fsopt 0
[ -b $dev_fuj/part1 ] && echo "$dev_fuj/part1 none swap sw 0 0" >


Забыл partx при проверке [ -b ].

ADM 503
11-03-2008, 18:04
Люди добрые помогите
1) что значит -b ?
[ -b $dev_trsnd/part1 ] && echo "$dev_trsnd/part1 $mp.... 2) В /usr/local/sbin/post-boot
# mount /dev/discs/disc0/part3 /tmp/harddisk Но после flashfs save && flashfs commit && flashfs enable && reboot в /tmp/harddisk <=:confused:
Как оно туда монтируется? Я ж ее закоментил
3) Попытка подмонтировать HDD в ручную
[John@(none) root]$ /bin/mount -o sync,noatime,rw /dev/discs/disc0/part1 /tmp/harddisk
mount: Mounting /dev/discs/disc0/part1 on /tmp/harddisk failed: Invalid argument
[John@(none) root]$ попытки смонтировать куда нибудь типа в /opt/hdd тоже Invalid argument (папка /tmp/harddisk существует)
! Я в linux и в sh не разбираюсь ! => просто помогите пожалуйста, над собой я сам потом посмеюсь ;)

djet
11-03-2008, 19:42
1) проверка наличия блочного устройства (диска) по указанному пути
2) похоже на встроенную автомонтировку

Посмотрите после загрузки содержимое fstab (cat /etc/fstab) и сделайте mount -a.

ADM 503
12-03-2008, 01:14
[John@(none) root]$ mount -a
mount: Mounting /dev/discs/disc1/part1 on none failed: No such file or directory
mount: Mounting /dev/discs/disc1/part3 on /tmp/flashdisk failed: No such file or directory
mount: Mounting /dev/discs/disc0/part1 on /opt/hdd1 failed: No such device
mount: Mounting /dev/discs/disc0/part2 on /opt/hdd2 failed: No such device
[John@(none) root]$На борту флэшка (disc1) подмонтирована правельно если не обращать внимание на 2) :o
а вот HDD (disc0) :confused:
fstab:
#device Mountpoint FStype Options Dump
/dev/discs/disc1/part1 none swap sw 0 0
/dev/discs/disc1/part2 /opt ext3 noatime,rw 0 0
/dev/discs/disc1/part3 /tmp/flashdisk ext3 noatime,rw 0 0
/dev/discs/disc0/part1 /opt/hdd1 ext2 noatime,rw 0 0
/dev/discs/disc0/part2 /opt/hdd2 ext2 noatime,rw 0 0
а что значат 0 0 на конце?

al37919
12-03-2008, 05:39
Точки монтирования:
/tmp/flashdisk
/opt/hdd1
/opt/hdd2
должны быть существующими директориями

На две цифры в конце можно не обращать внимания. Это часть стандартного синтаксиса fstab, которая в нашем случае не используется.

Да кстати, ext2 прошивка Олега не поддерживает.

ADM 503
13-03-2008, 15:05
Скрипты заработали, спасибо.
Пытаюсь правильно выстроить схему монтирования. В процессе наткнулся на непонятную мне вещь. Закомментировал монтирование в pos-boot но при этом вопреки моим стараниям диски монтируются в /tmp/harddisk хотя я указал /opt/flashdisk . Думаю, срабатывает автомонтирование, но я думал что pos-boot срабатывает до монтирования и у меня есть возможность смонтировать по своему. Не поняв кем/когда/в какую очередь стартует pre-mount, стартанул его из pos-boot :( .
Вопрос: 1) что у меня со swap ? Он вроде работает, но при этом он смонтирован 82 Linux swap /tmp/harddisk :confused:
2) как правильно монтировать вопреки автомонтированию?
3) скриптами создаётся fstab. Какая информация в нем учитывается, как он участвует в процессах монтирования? Выходит система его знает и опрашивает?
4) В папке /tmp/harddisk поселились какието файлы и бездонная папка /?.Э_ :eek: http://i010.radikal.ru/0803/32/6caaac0c80d9t.jpg (http://radikal.ru/F/i010.radikal.ru/0803/32/6caaac0c80d9.jpg.html)
Выкладываю свои мытарства:
[John@(none) root]$ cat /usr/local/sbin/post-boot
#!/bin/sh
dropbear > /dev/null 2>&1

pre-mount

if [ ! -d /dev/discs ]
then
insmod scsi_mod && insmod sd_mod && insmod usb-storage && sleep 5s
fi

# mount /dev/discs/disc1/part2 /opt
i=0
while [ $i -le 30 ]
do
if [ -d /opt/etc ]
then
break
fi
sleep 1
i=`expr $i + 1`
done

# mount /dev/discs/disc1/part3 /tmp/harddisk

swapon /dev/discs/disc1/part1

/opt/etc/init.d/rc.unslung

echo "export TERMINFO=/opt/share/terminfo">>/etc/profile
echo "alias mc=\"mc -c\"">>/etc/profile


[John@(none) root]$ cat /usr/local/sbin/pre-mount

echo "#device Mountpoint FStype Options Dump Pass#" > $fstab
[ -e $dev_flashcard ] && echo "$dev_flashcard/part1 none swap sw 0 0" >> $fstab
[ -e $dev_flashcard ] && echo "$dev_flashcard/part2 /opt ext3 $ext3opt 0 0" >> $fstab
[ -e $dev_flashcard ] && echo "$dev_flashcard/part3 /opt/flashdisk ext3 $ext3opt 0 0" >> $fstab

[ -e $dev_hdd ] && echo "$dev_hdd/part1 /opt/hdd1 ext3 $ext3opt 0 0" >> $fstab
[ -e $dev_hdd ] && echo "$dev_hdd/part2 /opt/hdd2 ext3 $ext3opt 0 0" >> $fstab

John@(none) root]$ cat /etc/fstab

#device Mountpoint FStype Options Dump Pass#
/dev/discs/disc1/part1 none swap sw 0 0
/dev/discs/disc1/part2 /opt ext3 noatime,rw 0 0
/dev/discs/disc1/part3 /opt/flashdisk ext3 noatime,rw 0 0
/dev/discs/disc0/part1 /opt/hdd1 ext3 noatime,rw 0 0
/dev/discs/disc0/part2 /opt/hdd2 ext3 noatime,rw 0 0

[John@(none) root]$ df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 3008 3008 0 100% /
/dev/discs/disc1/part2 988244 37676 900368 4% /opt
/dev/discs/disc0/part1 19236308 131252 18127904 1% /opt/hdd1
/dev/discs/disc0/part2 57685564 131232 54624076 0% /opt/hdd2
/dev/discs/disc1/part1 1973952 375488 1598464 19% /tmp/harddisk
/dev/discs/disc1/part3 443376 8240 412244 2% /tmp/harddisk/part1


[John@(none) root]$ fdisk -l
Disk /dev/scsi/host0/bus0/target0/lun0/disc: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 2433 19543041 83 Linux
/dev/scsi/host0/bus0/target0/lun0/part2 2434 9729 58605120 83 Linux

Disk /dev/scsi/host1/bus0/target0/lun0/disc: 2021 MB, 2021654016 bytes
255 heads, 63 sectors/track, 245 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/scsi/host1/bus0/target0/lun0/part1 1 63 506016 82 Linux swap
/dev/scsi/host1/bus0/target0/lun0/part2 64 188 1004062+ 83 Linux
/dev/scsi/host1/bus0/target0/lun0/part3 189 245 457852+ 83 Linux

Сводная информация из "fdisk -l" и "df":
/dev/scsi/host1/bus0/target0/lun0/part1 1 63 506016 82 Linux swap /tmp/harddisk
/dev/scsi/host1/bus0/target0/lun0/part2 64 188 1004062+ 83 Linux /opt
/dev/scsi/host1/bus0/target0/lun0/part3 189 245 457852+ 83 Linux /tmp/harddisk/part1

/dev/scsi/host0/bus0/target0/lun0/part1 1 2433 19543041 83 Linux /opt/hdd1
/dev/scsi/host0/bus0/target0/lun0/part2 2434 9729 58605120 83 Linux /opt/hdd2

[John@(none) root]$ free
total used free shared buffers
Mem: 127328 20080 107248 0 2732
Swap: 506008 0 506008
Total: 633336 20080 613256
[John@(none) root]$ P.S. Я осознал, что сделать привязку по серийнику к disc0 или disc1 невозможно. Т.е. можно заставить систему корректно монтировать устройства в зависимости от серийника, что мы и делаем :rolleyes: Что называется "подход с другой стороны"

al37919
13-03-2008, 21:41
Я осознал, что сделать привязку по серийнику к disc0 или disc1 невозможно
точно.

Кстати, версия прошивки? Похоже не превью?

ADM 503
14-03-2008, 00:52
У меня прошита олеговская 1.9.2.7-8.

al37919
14-03-2008, 07:42
в этой прошивке нет файла pre-mount Так что обсуждаемая реализация на ней не сработает. На ней придется сначала делать полный umount всего что автосмонтировано, а потом вручную монтировать

Рекомендую прошить последнюю превью.

ADM 503
15-03-2008, 04:38
в этой прошивке нет файла pre-mount Так что обсуждаемая реализация на ней не сработает. На ней придется сначала делать полный umount всего что автосмонтировано, а потом вручную монтировать

Рекомендую прошить последнюю превью.
Я думал что у меня и так последняя 1.9.2.7-8 (2007-10-30) http://oleg.wl500g.info/ Можно уточнить :confused:

al37919
15-03-2008, 06:58
Последняя превью была 8.22 и то о чем идет речь было введено после 8-й версии. Кстати, для любителей релизов вчера Олег выложил 9-й: http://wl500g.info/showpost.php?p=88120&postcount=745

nikita1234
15-03-2008, 08:14
Здравствуйте, прошивка-1.9.2.7-8.17, не обрабатывается fstab. Его содержвние:
/dev/discs/disc0/part1 /opt ext 3 rw,noatime 1 1
Прочитал тему http://wl500g.info/showthread.php?t=10757, делал как там соетовали, отключал и включал встроеные сервисы-не помогло, монтирование происходило только автоматом. Отмонтировал вручную, затем вводил mount -a. Вывод:
mount: Mounting /dev/discs/disc0/part1 on /opt failed: No such device
Смотрел тему http://wl500g.info/showthread.php?t=12221, мне не нужна автоматическая проверка файловых систем, но без нее не понял, как отключить авомонтирование. В чем проблема?

al37919
15-03-2008, 08:24
во первых в строке:

/dev/discs/disc0/part1 /opt ext 3 rw,noatime 1 1
ошибка --- ext3 пишется без пробела.
во вторых, скорее всего проблема в том, что не загружены usb модули.
Можно проверить сидят ли они в памяти с помощью lsmod, если нет, то добавить в post-boot:

insmod scsi_mod && insmod sd_mod && insmod usb-storage

nikita1234
16-03-2008, 09:36
Все модули загружены, даже когда встроенные сервисы отключены. Но проблема решилась, оказалось, что надо убрать пробел и 1 1 заменить на 0 0. Большое спасибо. Новая проблема. Изменил fstab на
/dev/discs/disc0/part1 /tmp/mnt/disc0_1 ext3 rw,noatime 0 0
/tmp/mnt/disc0_1/opt /opt ext3 bind,rw,noatime 0 0

При перезагрузке не монтируется как надо, только если вручную mount -a, встроенные сервисы включены.

al37919
16-03-2008, 12:32
Директория /tmp/mnt/disc0_1 существует? Сомневаюсь.

И вообще, полагаю не стоит пытаться дублировать встроенную систему автомонтирования. Могут вылезти неожиданные странности.

У вас же есть /mnt , есть /home ... Попробуйте сделать, например:


/dev/discs/disc0/part1 /mnt ext3 rw,noatime 0 0
/mnt/opt /opt ext3 bind,rw,noatime 0 0

nikita1234
16-03-2008, 14:56
Спасибо, все наконец-то получилось.

al37919
16-03-2008, 15:09
не говоря уже о том, что по ежели делать по уму, то /opt вообще лучше сделать на отдельном физическом разделе и монтировать все в лоб.

Таким способом есть шанс повысить надежность системы, когда системный раздел отличается от того, на который непрерывно пишут всякие качалки.

White SinSay
17-03-2008, 08:12
прошифка 1.9.2.7-9
ктонибуть может подитожить и сделать нормальный рабочий скрипт
какие и куда фаилы и их содержания
ЗАранее большое спасибо

BlackCat
03-04-2008, 16:03
Не могу добиться отработки fstab
Вот его содержимое:

#device Mountpoint FStype Options Dump Pass#
/dev/discs/disc0/part1/opt /opt ext3 rw,noatime 0 0
/dev/discs/disc1/part2 none swap sw 0 0


Вот результат после загрузки:

$ mount
/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/discs/disc0/part1 on /tmp/mnt/disc0_1 type ext3 (rw,noatime)
/dev/discs/disc1/part1 on /tmp/mnt/disc1_1 type vfat (rw,noatime)


Подскажите что я делаю не так? Почему /opt не монтируется?

al37919
03-04-2008, 17:05
подозреваю, что подход неверный. В подобной ситуации нужно делать что то вроде:

#device Mountpoint FStype Options Dump Pass#
/dev/discs/disc0/part1 /mnt ext3 rw,noatime 0 0
/mnt/opt /opt ext3 bind,rw,noatime 0 0
/dev/discs/disc1/part2 none swap sw 0 0

А мы вообще то уверены, что /opt находится во глубине /dev/discs/disc0/part1?

Если нет, то второй вариант:

#device Mountpoint FStype Options Dump Pass#
/dev/discs/disc0/part1 /opt ext3 rw,noatime 0 0
/dev/discs/disc1/part2 none swap sw 0 0

BlackCat
03-04-2008, 17:11
А мы вообще то уверены, что /opt находится во глубине /dev/discs/disc0/part1?


Да именно там.
Спасибо буду пробовать.

А почему нельзя все-таки сразу писать
/dev/discs/disc0/part1/opt /opt ext3 rw,noatime 0 0

BlackCat
03-04-2008, 18:04
Все равно не сработало, результат тот же.
Какие атрибуты должны быть у fstab?
И можно ли как-нибудь понять обрабатывается он или нет?

al37919
03-04-2008, 19:16
644 должны быть ОК

Вручную проверить можно так:
mount -a
umount -a
swapon -a

disc0 и disc1 местами не путаются?

BlackCat
04-04-2008, 14:06
644 должны быть ОК

Вручную проверить можно так:
mount -a
umount -a
swapon -a

disc0 и disc1 местами не путаются?

Большое спасибо, можно сказать помогло, но я дотошный и поэтому такой вопрос:
Вот такой вариант проходит
#device Mountpoint FStype Options Dump Pass#
/dev/discs/disc0/part1 /mnt ext3 rw,noatime 0 1
/
а вот такой нет
#device Mountpoint FStype Options Dump Pass#
/dev/discs/disc0/part1 /mnt /bla-bla ext3 rw,noatime 0 1
/
Отсюда вопрос - обязательно чтобы директория точки монтирования существовала? Если да, то где ее лучше создать? Или я что-то не понимаю.
Спасибо.

xkir
04-04-2008, 14:11
Отсюда вопрос - обязательно чтобы директория точки монтирования существовала? Если да, то где ее лучше создать?

Да, точка монтирования должна существовать как каталог. если ее нет то нужно создать перед тем как монтировать.

BlackCat
04-04-2008, 14:28
Да, точка монтирования должна существовать как каталог. если ее нет то нужно создать перед тем как монтировать.

Спасибо, видимо вот и грабли нашлись...
А как это можно сделать (речь идет о fstab)

xkir
04-04-2008, 15:05
Спасибо, видимо вот и грабли нашлись...
А как это можно сделать (речь идет о fstab)

можно попробовать расположить каталог для точки монтирования внутри каталога /tmp и сохранять его во флеш (т.е. включить в .files). в таком случае перед отработкой fstab точка монтирования уже будет сущестовать (как мне кажется).

BlackCat
04-04-2008, 15:30
можно попробовать расположить каталог для точки монтирования внутри каталога /tmp и сохранять его во флеш (т.е. включить в .files). в таком случае перед отработкой fstab точка монтирования уже будет сущестовать (как мне кажется).

Спасибо, хороший вариант, я в эту сторону почему-то не подумал.
И еще вопрос, по всей видимости к Олегу: Что будет выполняться раньше автомонтирование или монтирование из fstab?

al37919
04-04-2008, 15:41
еще в файл pre-mount можно включить комманду mkdir
Хотя зачем? есть /opt, /mnt, /home --- мало что ли?

Что будет выполняться раньше автомонтирование или монтирование из fstab?
То что монтируется из fstab не подлежит автомонтированию. А вот то, что в нем не найдено, но существует будет смонтировано автоматом в /tmp/mnt

BlackCat
04-04-2008, 17:08
еще в файл pre-mount можно включить комманду mkdir
Хотя зачем? есть /opt, /mnt, /home --- мало что ли?

То что монтируется из fstab не подлежит автомонтированию. А вот то, что в нем не найдено, но существует будет смонтировано автоматом в /tmp/mnt

Вот и вопрос в этом что будет первично? fstab или автомонтирование? На что расчитывать?

al37919
04-04-2008, 17:36
по-моему очевидно, что сначала обрабатывается fstab, а что не подхвачено --- будет смонтировано автоматом. Для предсказуемого монтирования рассчитывать, естественно, на fstab

BlackCat
05-04-2008, 08:24
по-моему очевидно, что сначала обрабатывается fstab, а что не подхвачено --- будет смонтировано автоматом. Для предсказуемого монтирования рассчитывать, естественно, на fstab

ну вроде бы логично
И еще наблюдение, если диск был смонтирован из fstab, то он уже не будет автомонтироваться!!!

al37919
05-04-2008, 08:51
в этом основное преимущество использования fstab --- процесс монтирования становится предсказуемым и отпадает необходимость бороться с результатами магического автомонтирования.

Lan-profan
09-08-2008, 10:46
Подскажите пожалуйста, такая ситуация – к роутеру подключена флешка разбитая на на 3 раздела и отформатированная под ext3 и HDD отформатированный под fat32 (один раздел), что мне дописать в файле «fstab» имеющий вид:

#device Mountpoint FStype Options Dump Pass#
/dev/discs/disc0/part1 none swap sw 0 0
/dev/discs/disc0/part2 /opt ext3 rw,noatime 1 1
/dev/discs/disc0/part3 /tmp/mnt/disc0_3 ext3 rw,noatime 1 1

чтобы кроме флешки монтировался еще и жесткий диск?

DemonGloom
09-08-2008, 11:25
disc1/part1

EugeenB
09-08-2008, 13:08
что мне дописать в файле «fstab» имеющий вид:
#device Mountpoint FStype Options Dump Pass#
/dev/discs/disc0/part1 none swap sw 0 0
/dev/discs/disc0/part2 /opt ext3 rw,noatime 1 1
/dev/discs/disc0/part3 /tmp/mnt/disc0_3 ext3 rw,noatime 1 1
чтобы кроме флешки монтировался еще и жесткий диск?
Видимо это
/dev/discs/disc1/part1 /tmp/mnt/disc1_1 vfat rw,noatime 1 1
А потом не забыть создать точку монтирования:
mkdir -p /tmp/mnt/disc1_1

Lan-profan
09-08-2008, 15:08
Спасибо за помощь, но почему-то не получилось, я думаю что дело в создании точки монтирования, почему то она (как мне кажется) не создается или создается но не там где надо, вот что имеется:

[89507705900@Server root]$ df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 3072 3072 0 100% /
/dev/discs/disc1/part2 485122 8263 451811 2% /tmp/mnt/disc1_2
/dev/discs/disc1/part3 367926 85514 263416 25% /tmp/mnt/disc1_3


[89507705900@Server root]$ fdisk -l

Disk /dev/scsi/host0/bus0/target0/lun0/disc: 40.0 GB, 40060404224 bytes
255 heads, 63 sectors/track, 4870 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 4870 39118243+ c Win95 FAT32 (LBA)

Disk /dev/scsi/host1/bus0/target0/lun0/disc: 1031 MB, 1031798784 bytes
32 heads, 62 sectors/track, 1015 cylinders
Units = cylinders of 1984 * 512 = 1015808 bytes

Device Boot Start End Blocks Id System
/dev/scsi/host1/bus0/target0/lun0/part1 1 127 125953 82 Linux swap
/dev/scsi/host1/bus0/target0/lun0/part2 128 632 500960 83 Linux
/dev/scsi/host1/bus0/target0/lun0/part3 633 1015 379936 83 Linux
[89507705900@Server root]$


Как мне решить эту проблемку?

Lan-profan
10-08-2008, 07:36
Видимо это
/dev/discs/disc1/part1 /tmp/mnt/disc1_1 vfat rw,noatime 1 1
А потом не забыть создать точку монтирования:
mkdir -p /tmp/mnt/disc1_1


При создании точки монтирования, как роутер определит куда нужно смонтировать раздел - на HDD или на флешку? - я думаю в этом проблемма.

EugeenB
10-08-2008, 19:39
При создании точки монтирования, как роутер определит куда нужно смонтировать раздел - на HDD или на флешку? - я думаю в этом проблемма.Проблема в USB-плуг-энд-плее. Какое устройство определиться в ЮСБ первее, то и займёт host0, отставшему остаётся host1. Если Вы втыкаете устройста поочерёдно в уже включённый роутер, то они будут определяться в порядке подключения, но при перезагрузке роутера с уже подсоединёнными USB-устройствами... Видимо, это может зависеть и от самих устройств, но самый примитивный способ решения Вашей проблемы будет попытка поменять местами устройства в USB-гнёздах роутера.
Если это не поможет, то попробуйте в файле fstab поменять номера хостов: там, где был host0, поставте host1. И наоборот - там где был host1, поставте host0.

mbaitoff
11-08-2008, 04:58
а линукс, стоящий в роутере, поддерживает монтирование по UUID ?
тогда бы все решилось, и порядок втыкания был бы безразличен.

Lan-profan
11-08-2008, 16:52
Проблема в USB-плуг-энд-плее. Какое устройство определиться в ЮСБ первее, то и займёт host0, отставшему остаётся host1. Если Вы втыкаете устройста поочерёдно в уже включённый роутер, то они будут определяться в порядке подключения, но при перезагрузке роутера с уже подсоединёнными USB-устройствами... Видимо, это может зависеть и от самих устройств, но самый примитивный способ решения Вашей проблемы будет попытка поменять местами устройства в USB-гнёздах роутера.
Если это не поможет, то попробуйте в файле fstab поменять номера хостов: там, где был host0, поставте host1. И наоборот - там где был host1, поставте host0.

Поменял местами, по крайней мере флешка начала правильно монтироваться, но hdd не видим.
Почему то точка монтирования не видна ( подключал hdd к ББ, но там ни какой папки типа /tmp/mnt/disc1_1 нет, хотя роутер не ругается на эту команду, но почему не создает?

DemonGloom
11-08-2008, 17:17
Поменял местами, по крайней мере флешка начала правильно монтироваться, но hdd не видим.
Почему то точка монтирования не видна ( подключал hdd к ББ, но там ни какой папки типа /tmp/mnt/disc1_1 нет, хотя роутер не ругается на эту команду, но почему не создает?
/tmp - оперативная память роутера. даже у меня ее нет на диске :)

Lan-profan
11-08-2008, 19:31
Но что тогда не так, вроде бы всё сделано и все логично, но почему hdd не видим? - я так понимаю он не монтируется

EugeenB
11-08-2008, 23:23
Поменял местами, по крайней мере флешка начала правильно монтироваться, но hdd не видим.
Почему то точка монтирования не видна ( подключал hdd к ББ, но там ни какой папки типа /tmp/mnt/disc1_1 нет, хотя роутер не ругается на эту команду, но почему не создает?Флешка монтируется? - Здорово.
По hdd - надо помнить о том, что точка монтирования должна быть до того, как пытаемся монтирование выполнить.
Так как каталог /tmp - находится в ОЗУ, то после перезагрузки он должен быть пуст - без каталога /tmp/mnt/disc1_1. Попробуте нужный каталог создать из скрипта /usr/local/sbin/post-boot. Вставте команду mkdir -p /tmp/mnt/disc1_1 сразуже после первой строки #!/bin/sh. Если файла-скрипта /usr/local/sbin/post-boot у Вас ещё не создано, то читаёте как его создавать правильно в начале темы http://wl500g.info/showthread.php?t=3171
Евгений.
P.S. Скорей всего, поскольку hdd определяется первым, то и каталог для его монтирования создаётся /tmp/mnt/disc0_1 - нужно внести правки в fstab...

Reyter
12-08-2008, 12:12
а линукс, стоящий в роутере, поддерживает монтирование по UUID ?
тогда бы все решилось, и порядок втыкания был бы безразличен.
Присоединяюсь к вопросу. Для меня это очень актуально. Подключено два винта и совершенно неизвестно какой их них определится первым.

AndreyPopov
12-08-2008, 12:32
Присоединяюсь к вопросу. Для меня это очень актуально. Подключено два винта и совершенно неизвестно какой их них определится первым.

какой винт определяется первым, вы можете увидеть в логе вашего роутера. USB порты имеют свои номера и соотвтесвенно подключенные туда устройство находятся по мере возрастания номеров портов - если конечно винты у вас подключенны постоянно. если же вы их выдергивете и снова включаете, то тогда неизвестно в каком порядке они будут видитьс, но в логе вы эту информацию все равно найдете.

Reyter
12-08-2008, 12:46
USB порты имеют свои номера и соотвтесвенно подключенные туда устройство находятся по мере возрастания номеров портов - если конечно винты у вас подключенны постоянно. если же вы их выдергивете и снова включаете, то тогда неизвестно в каком порядке они будут видитьс, но в логе вы эту информацию все равно найдете.

Это срабатывает "при нормальных условиях". А вот когда "мигает" электричество, т.е. кратковременное отключение, да и при некратковременных, результат становится совершенно непредсказуемым.
Хочется полностью исключить вероятность нерпавильного монтирования.

AndreyPopov
12-08-2008, 13:11
Это срабатывает "при нормальных условиях". А вот когда "мигает" электричество, т.е. кратковременное отключение, да и при некратковременных, результат становится совершенно непредсказуемым.
Хочется полностью исключить вероятность нерпавильного монтирования.


ну вы же не можете предсказать когда имено электричество "моргнет" и какой из дисков отпасть может?

может лучше UPS с AVR модулем и подключить винты на него, чтобы они не отпадали?

Lan-profan
12-08-2008, 16:17
Флешка монтируется? - Здорово.
По hdd - надо помнить о том, что точка монтирования должна быть до того, как пытаемся монтирование выполнить.
Так как каталог /tmp - находится в ОЗУ, то после перезагрузки он должен быть пуст - без каталога /tmp/mnt/disc1_1. Попробуте нужный каталог создать из скрипта /usr/local/sbin/post-boot. Вставте команду mkdir -p /tmp/mnt/disc1_1 сразуже после первой строки #!/bin/sh. Если файла-скрипта /usr/local/sbin/post-boot у Вас ещё не создано, то читаёте как его создавать правильно в начале темы http://wl500g.info/showthread.php?t=3171
Евгений.
P.S. Скорей всего, поскольку hdd определяется первым, то и каталог для его монтирования создаётся /tmp/mnt/disc0_1 - нужно внести правки в fstab...

Ура получилось. Огромное Вам спасибо. Флешка и диски видны в сети, все отлично, но почему то на hdd не читаются русские имена папок и файло а вместо них что то такое "~BS" (пользуюсь встроенной Samba, прошивка последняя - 10), а на флешке все русские имена читаются, в чем может быть дело?

Reyter
12-08-2008, 18:01
ну вы же не можете предсказать когда имено электричество "моргнет" и какой из дисков отпасть может?

может лучше UPS с AVR модулем и подключить винты на него, чтобы они не отпадали?

Лучше конечно. А еще лучше иметь полноценный сервер с UPS. И т.п.
Вопрос был про монтирование по UUID.

Впрочем кажется где-то мелькал скрипт монтирования по метке диска/раздела. Возможно это спасет. Нужно поискать.

EugeenB
12-08-2008, 22:51
но почему то на hdd не читаются русские имена папок и файло а вместо них что то такое "~BS" (пользуюсь встроенной Samba, прошивка последняя - 10), а на флешке все русские имена читаются, в чем может быть дело?Смотрите опции монтирования чужеродной файловой системы FAT16/30 + lfn = vfat
-o codepage=866,iocharset=...

Lan-profan
13-08-2008, 16:40
Смотрите опции монтирования чужеродной файловой системы FAT16/30 + lfn = vfat
-o codepage=866,iocharset=...

Я сделал вот так, Вы это имели ввиду?

/dev/discs/disc1/part1 /tmp/mnt/disc1_1 vfat codepage=866,iocharset=cp1251 rw,no

Но почему то все папки с русскими именами просто пропали, а то что на латыни - отлично отоброжается, может еще где то я упустил?

EugeenB
13-08-2008, 22:25
/dev/discs/disc1/part1 /tmp/mnt/disc1_1 vfat codepage=866,iocharset=cp1251 rw,no
Но почему то все папки с русскими именами просто пропали, а то что на латыни - отлично отоброжается, может еще где то я упустил?...utf8 в роутере...

Lan-profan
14-08-2008, 19:07
...utf8 в роутере...

Спасибо, кодировку исправил и все заработало. Еще раз огромное спасибо!

Sashunya
20-09-2008, 19:54
народ! Подскажите. У меня жесткий диск смонтирован следующим образом:

post-mount


/sbin/swapon /dev/discs/disc0/part1
/bin/mount -o sync,noatime,rw /dev/discs/disc0/part2 /tmp/harddisk
/bin/mount -o bind /tmp/harddisk/opt /opt


На форуме все рекомендуют использовать fstab. Так вот создал я файл
/etc/fstab


#device Mountpoint FStype Options Dump Pass#
/dev/discs/disc0/part1 none swap sw 0 0
/dev/discs/disc0/part2 /tmp/harddisk ext3 rw,noatime 1 1
/tmp/harddisk/opt /opt none bind,rw,noatime 1 1


и добавил строчку /etc/fstab в .files

В post-mount все закоментировал. Сохранился. Перегрузился. Так вот, свап и /tmp/harddisk отработали а bind на /opt не сработал.

Подскажите, плиз.

McNick
22-09-2008, 15:41
народ! Подскажите. У меня жесткий диск смонтирован следующим образом:

post-mount


/sbin/swapon /dev/discs/disc0/part1
/bin/mount -o sync,noatime,rw /dev/discs/disc0/part2 /tmp/harddisk
/bin/mount -o bind /tmp/harddisk/opt /opt


На форуме все рекомендуют использовать fstab. Так вот создал я файл
/etc/fstab


#device Mountpoint FStype Options Dump Pass#
/dev/discs/disc0/part1 none swap sw 0 0
/dev/discs/disc0/part2 /tmp/harddisk ext3 rw,noatime 1 1
/tmp/harddisk/opt /opt none bind,rw,noatime 1 1


и добавил строчку /etc/fstab в .files

В post-mount все закоментировал. Сохранился. Перегрузился. Так вот, свап и /tmp/harddisk отработали а bind на /opt не сработал.

Подскажите, плиз.

Наступил на те же грабли.
Остался на варианте с post-mount.
В деталях - поищите мои стартовые посты на форуме. Их совсем немного - найдете быстро.

Serge_K
22-09-2008, 15:55
народ! Подскажите. У меня жесткий диск смонтирован следующим образом:

post-mount


/sbin/swapon /dev/discs/disc0/part1
/bin/mount -o sync,noatime,rw /dev/discs/disc0/part2 /tmp/harddisk
/bin/mount -o bind /tmp/harddisk/opt /opt


На форуме все рекомендуют использовать fstab. Так вот создал я файл
/etc/fstab


#device Mountpoint FStype Options Dump Pass#
/dev/discs/disc0/part1 none swap sw 0 0
/dev/discs/disc0/part2 /tmp/harddisk ext3 rw,noatime 1 1
/tmp/harddisk/opt /opt none bind,rw,noatime 1 1


и добавил строчку /etc/fstab в .files

В post-mount все закоментировал. Сохранился. Перегрузился. Так вот, свап и /tmp/harddisk отработали а bind на /opt не сработал.

Подскажите, плиз.

А чего бы Вам сразу /dev/discs/disc0/part2 в /opt не смонтировать?

Sashunya
23-09-2008, 09:49
Я этого не знаю, но полагаю, что /tmp/harddisk нужен при инсталляции пакетов и временных файлов (например, мс использует этот путь), ну а /opt собственно для всего остального, вобщем эта схема используется при настройке с нуля для торрентов http://wl500g.info/showthread.php?t=15266

Serge_K
23-09-2008, 10:03
Я этого не знаю, но полагаю, что /tmp/harddisk нужен при инсталляции пакетов и временных файлов (например, мс использует этот путь), ну а /opt собственно для всего остального, вобщем эта схема используется при настройке с нуля для торрентов http://wl500g.info/showthread.php?t=15266
Ну не знаю... У меня напрямую в /opt смонтировано. Ну и в скриптах всяких естественно нет ссылок на /tmp/harddisk. Оно все работает прекрасно. Возможно будут проблемы при автозапуске встроенных FTP и Samba, но я их вручную запускаю. А так как Вы хотите - fstab последнюю строчку не отработает.

Sashunya
23-09-2008, 12:35
Ну не знаю... У меня напрямую в /opt смонтировано. Ну и в скриптах всяких естественно нет ссылок на /tmp/harddisk. Оно все работает прекрасно. Возможно будут проблемы при автозапуске встроенных FTP и Samba, но я их вручную запускаю. А так как Вы хотите - fstab последнюю строчку не отработает.

Естественно возникает вопрос: почему? Например если монтировать в /mnt, а потом делать bind (как это называется, симлинк так?) на /mnt/opt /opt, то все прекрасно монтируется, просто я ставил и торренты и АДОС по скриптам, а потом уже правил конфиги, так там использовалась точка монтирования /tmp/harddisk, в принципе можно поискать где явно указана данная папка и поменять ее на другую, но это ж целая история, и к тому же я еще чайник в этом деле. Вобщем оставлю пока монтирование на post-mount, а так жду ответов от гуру ))

w0rm
11-03-2009, 22:46
Здравствуйте, у меня возникла следующая проблема

В одном usb интерфейсе вставлена флешка с двумя разделами. В fstab прописаны swap и /opt на нее /dev/discs/disc0/part1 /dev/discs/disc0/part2
В другом usb интерфейсе хочу сделать винт, который был бы виден в /tmp/harddisk и монтировался автоматически

Проблема в том, что если грузиться с одной флешкой - то она доступна по адресу /dev/discs/disc0 - и все монтируется хорошо, и далее можно подключать/отключать винт. Если грузиться с флешкой и винтом, то винт занимает адрес /dev/discs/disc0, а флешка /dev/discs/disc1

Пока что я переписал fstab так, чтобы swap и /opt были с /dev/discs/disc1 но при этом роутер всегда приходится запускать с подключенными флешкой и винтом, что не очень красиво.

Нельзя ли сделать так, чтобы флешка всегда была доступна по /dev/discs/disc1, а любой другой накопитель, вставленный в соседний usb порт по /dev/discs/disc0 и линковался в /tmp/harddisk ?

al37919
12-03-2009, 07:14
попробуй местами поменять.

А вообще, есть и глобальные решения, см. напр.:
http://wl500g.info/showpost.php?p=79119&postcount=249
http://www.wl500g.info/showpost.php?p=80436&postcount=3

w0rm
12-03-2009, 08:30
попробуй местами поменять.

А вообще, есть и глобальные решения, см. напр.:
http://wl500g.info/showpost.php?p=79119&postcount=249
http://www.wl500g.info/showpost.php?p=80436&postcount=3

Спасибо! все получилось!

vladniktep
21-04-2009, 20:34
Подскажите, что это за ошибки (подчеркнул):

...root]$ flashfs save && flashfs commit && flashfs enable
tar: Removing leading '/' from member names
etc/ld.so.conf
tar: /etc/fstab: No such file or directory
etc/profile
etc/group
etc/passwd
tmp/local/
tmp/local/sbin/
tmp/local/sbin/post-firewall
tmp/local/sbin/post-boot
tmp/local/sbin/post-mount
tmp/local/sbin/pre-shutdown
tmp/local/.files
tmp/local/root/
tar: Error exit delayed from previous errors
-rw-r--r-- 1 admin root 1009 Apr 21 23:04 /tmp/flash.tar.gz
Check saved image and type "/sbin/flashfs commit" to commit changes
.
Committed.
…root]$

al37919
21-04-2009, 20:46
убрать /etc/fstab из /usr/local/.files или создать /etc/fstab

vectorm
22-04-2009, 09:55
А остальное - не ошибки.

vladniktep
22-04-2009, 21:13
А остальное - не ошибки.

Возможно и ошибки. Их причина, если несложно?

al37919
22-04-2009, 21:34
http://wl500g.info/showpost.php?p=142669&postcount=2

vectorm
23-04-2009, 09:43
Возможно и ошибки. Их причина, если несложно?
Я разве вопрос задавал?
Сказано же - у Вас только 1 ошибка - в отсутствующем файле /etc/fstab, остальное информационные сообщения!

pa1n
22-11-2009, 21:00
так а как создать то /etc/fstab ?!

asdd
22-11-2009, 21:11
так а как создать то /etc/fstab ?!



touch /etc/fstab
flashfs save && flashfs commit && flashfs enable

Lupo_Alberto
22-11-2009, 21:24
touch /etc/fstab
flashfs save && flashfs commit && flashfs enable


Перед «тройкой волшебных команд» следует выполнить
Код:


echo "/etc/fstab" >> /usr/local/.files

ceramic
22-11-2009, 21:26
Перед «тройкой волшебных команд» следует выполнить
Код:


echo "/etc/fstab" >> /usr/local/.files

Как раз не надо:


...root]$ flashfs save && flashfs commit && flashfs enable
tar: Removing leading '/' from member names
etc/ld.so.conf
tar: /etc/fstab: No such file or directory
etc/profile
etc/group
etc/passwd
tmp/local/
tmp/local/sbin/
tmp/local/sbin/post-firewall
tmp/local/sbin/post-boot
tmp/local/sbin/post-mount
tmp/local/sbin/pre-shutdown
tmp/local/.files
tmp/local/root/
tar: Error exit delayed from previous errors
-rw-r--r-- 1 admin root 1009 Apr 21 23:04 /tmp/flash.tar.gz
Check saved image and type "/sbin/flashfs commit" to commit changes
.
Committed.
…root]$

Lupo_Alberto
22-11-2009, 21:30
Мой пост относился к этому (http://wl500g.info/showpost.php?p=170992&postcount=8) сообщению. То есть, если нужно в самом деле создать файл в /etc, его следует внести в /usr/local/.files

ceramic
22-11-2009, 21:51
Мой пост относился к этому (http://wl500g.info/showpost.php?p=170992&postcount=8) сообщению. То есть, если нужно в самом деле создать файл в /etc, его следует внести в /usr/local/.files
Этот пост -- ответ на первый, поэтому вносить запись о /etc/fstab в .files не надо.