Ха, товарищ по несчастью
Я сделал динамический fstab:
Имеется ввиду, что винт монтируется всегда на /home и втыкается в ближний к "дну" роутера порт.Code:[~]$ cat /tmp/local/sbin/pre-mount #! /bin/sh # Номера дисков по умолчанию (внутренняя флешка - нулевой; винт - отсутствует) OPT=0 HOME=5 echo -e "# device\t\tMountpoint\tFStype\tOptions\t\tDump\tPass#" > /etc/fstab [ -L /dev/discs/disc1 ] && OPT=1 && HOME=0 [ -L /dev/discs/disc2 ] && OPT=2 echo -e "/dev/discs/disc$OPT/part1\t/opt\t\text3\trw,noatime\t1\t1" >> /etc/fstab [ $HOME -ne 5 ] && \ echo -e "/dev/discs/disc$HOME/part1\t/home\t\text3\trw,noatime\t1\t1" >> /etc/fstab # Проверяем разделы for i in `/usr/bin/awk '/ext3/{print($1)}' /etc/fstab` do /bin/grep -q $i /proc/mounts || /sbin/e2fsck -p $i 2>&1 | /usr/bin/logger -t e2fsck done
Нужно бы еще отладить случай, когда воткнут винт и доп. флешка втыкается нагорячую в свободный порт. Всё руки не доходят...
Last edited by bbsc; 15-02-2009 at 20:45.
Сделал скрипт по ссылкам al37919, спасибо, вроде то, что нужно! Удивляюсь только, почему столь полезный скрипт не был добавлен в "Инструкции по настройке ...".
Скрипт от bbsc у меня работал, когда были подключены одновременно винт и флэшка при загрузке роутера. Но если загрузить роутер только с флэшкой, а потом подключить винт - то винт перемонтировался и на /opt, и на /home одновременно.
Все выше сказанное ИМХО (Имею Мнение, Хрен Оспоришь)
ASUS WL-500g Premium + (1.9.2.7-rtn-r4667) + Tsunami eDATA 3500 with 1Tb + HPLJ1018 + Wake-On-LAN
"Установка программ для чайника v.12.4" + Iconbit HD400DVD + APC Smart-UPS 1000XL + Samsung UE32C6620UWXRU
Запустили роутер с флэшкой без HDD (флэшка распаяна на USB3 и находится в корпусе роутера, HDD подключаю в USB1)
Подключили HDDPHP Code:
[admin@WL-00221521AF9F root]$ cat /etc/fstab
#device Mountpoint FStype Options Dump Pass#
scsi add-single-device 0 0 0 0
/dev/scsi/host0/bus0/target0/lun0/part1 /opt ext3 noatime,nodiratime,rw 0 1
/part1 /tmp/mnt/disc1_1 ext3 noatime,nodiratime,rw 0 0
[admin@WL-00221521AF9F root]$ df -h
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 3072 3072 0 100% /
/dev/scsi/host0/bus0/target0/lun0/part1
485106 99420 360639 22% /opt
Запустили роутер с флэшкой и HDDPHP Code:
[admin@WL-00221521AF9F root]$ cat /etc/fstab
#device Mountpoint FStype Options Dump Pass#
scsi add-single-device 0 0 0 0
/dev/scsi/host0/bus0/target0/lun0/part1 /opt ext3 noatime,nodiratime,rw 0 1
scsi add-single-device 1 0 0 0
/dev/scsi/host1/bus0/target0/lun0/part1 /tmp/mnt/disc1_1 ext3
noatime,nodiratime,rw 0 0
[admin@WL-00221521AF9F root]$ df -h
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 3072 3072 0 100% /
/dev/scsi/host0/bus0/target0/lun0/part1
485106 99420 360639 22% /opt
/dev/scsi/host1/bus0/target0/lun0/part1
192292124 381660 182142544 0% /tmp/mnt/disc1_1
PHP Code:
[admin@WL-00221521AF9F root]$ cat /etc/fstab
#device Mountpoint FStype Options Dump Pass#
scsi add-single-device 1 0 0 0
/dev/scsi/host1/bus0/target0/lun0/part1 /opt ext3 noatime,nodiratime,rw 0 1
scsi add-single-device 0 0 0 0
/dev/scsi/host0/bus0/target0/lun0/part1 /tmp/mnt/disc1_1 ext3
noatime,nodiratime,rw 0 0
[admin@WL-00221521AF9F root]$ df -h
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 3072 3072 0 100% /
/dev/scsi/host1/bus0/target0/lun0/part1
485106 99419 360640 22% /opt
/dev/scsi/host0/bus0/target0/lun0/part1
192292124 381660 182142544 0% /tmp/mnt/disc1_1
Отличный результат!
Можете готовым скриптом поделится?
Все выше сказанное ИМХО (Имею Мнение, Хрен Оспоришь)
ASUS WL-500g Premium + (1.9.2.7-rtn-r4667) + Tsunami eDATA 3500 with 1Tb + HPLJ1018 + Wake-On-LAN
"Установка программ для чайника v.12.4" + Iconbit HD400DVD + APC Smart-UPS 1000XL + Samsung UE32C6620UWXRU
Отличный метод, переделаю и себе, пожалуй, на такую схему.
star, а зачем в fstab вот это:
scsi add-single-device 0 0 0 0
?
AlekseyA, готовый скрипт выкладывал al37919 несколькими постами выше
Я скопировал скрипт один-в-один, ну разве что серийники свои вбил для девайсов и точку монтирования исправил.
bbsc, честно говоря, не знаю, что эта команда делает, но вышеприведенный скрипт ее запихивает в fstab. Будет время - попробую запуститься без нее
star, похоже на мистику... в оригинальном скрипте нет места, где в fstab пишется, к примеру, слово scsi!
Пэтому для меня остается загадкой не только откуда взялась строчка
scsi add-single-device 0 0 0 0
но и даже каким образом могла получиться строка вида
/dev/scsi/host0/bus0/target0/lun0/part1 /opt ext3 noatime,nodiratime,rw 0 1
в то время как должны быть вариации в виде (с учетом поправки точки монтирования на /opt и опций)
/dev/discs/disc0/part1 /opt ext3 noatime,nodiratime,rw 0 1
Еще интересно как используются "серийники"...
Хотелось бы глянуть на поправленную версию скрипта
wl-500gp v2 + tor + polipo + барахло всякое на python
Ладно, сегодня буду вечером дома, посмотрю, как туда эта строчка попадает. А по поводу пути к устройству - если не ошибаюсь, то в прошивках до 1.9.7.10 путь был именно таким :
/dev/scsi/host0/bus0/target0/lun0/part1
А в последней 10-й прошивке стало можно обращаться и по /dev/discs/disc0/part1. Пробовал монтировать что по первому варианту, что по второму - результат одинаковый.
Если не ошибаюсь, то первая строка более "приближена" к логическому определению SCSI-томов, коим хоть и виртуально, но являются USB-девайсы для роутера.
это: /dev/discs/disc0 есть симлинк на это: /dev/scsi/host0/bus0/target0/lun0 причем с незапамятных времен. Что использовать все равно, но первое запоминать проще (хотя к сожалению само слово disc написано коряво --- лучше было бы disk)
нет сомнений, что это теже яйца, только сбоку...
сомнения же были относительно того, что опубликованное 7-ю постами ниже содержимое файла fstab никак не могло получиться в результате выполнения оригинального скрипта, опубликованного 10-ю постами ниже
Last edited by the; 19-02-2009 at 12:46.
wl-500gp v2 + tor + polipo + барахло всякое на python
Словом, я немного песню сократил, получился следующий кусок для pre-mount:
Ессно, ГУИДы свои нужно повставлять. Ну, и точки монтирования тоже.Code:#!/bin/sh hdd_guid="05e307020000000000000000" flash_guid="058f638700000001a211f3f9" hdd_mount="/home" flash_mount="/opt" mnt_options="noatime,nodiratime,rw" scsi () { hostid="" for i in 0 1 2 3; do host="/proc/scsi/usb-storage-$i/$i" [ -f $host ] && [ ${#1} -eq 24 ] && grep "GUID: $1" $host -q && grep "Attached: Yes" $host -q && hostid=$i && break done dev="/dev/scsi/host$hostid/bus0/target0/lun0/part1" && [ -e $dev ] && echo $dev } hdd_dev=`scsi $hdd_guid` flash_dev=`scsi $flash_guid` echo -e "# device\t\t\t\tMountpoint\tFStype\tOptions\t\t\tDump\tPass#" > /etc/fstab [ -n "$hdd_dev" ] && echo -e "$hdd_dev\t$hdd_mount\t\text3\t$mnt_options\t0\t0" >> /etc/fstab [ -n "$flash_dev" ] && echo -e "$flash_dev\t$flash_mount\t\text3\t$mnt_options\t0\t0" >> /etc/fstab
P.S. Эстеты могут заменить строчку
dev="/dev/scsi/host$hostid/bus0/target0/lun0/part1" && [ -e $dev ] && echo $dev
на строчку
dev="/dev/discs/disc$hostid/part1" && [ -e $dev ] && echo $dev
P.P.S. Сорри, закосячил кавычки. Уже всё поправлено.
Last edited by bbsc; 19-02-2009 at 17:10.
Все выше сказанное ИМХО (Имею Мнение, Хрен Оспоришь)
ASUS WL-500g Premium + (1.9.2.7-rtn-r4667) + Tsunami eDATA 3500 with 1Tb + HPLJ1018 + Wake-On-LAN
"Установка программ для чайника v.12.4" + Iconbit HD400DVD + APC Smart-UPS 1000XL + Samsung UE32C6620UWXRU