можно и в post-boot, есть замечательная команда sleep
можно и в post-boot, есть замечательная команда sleep
кстати, у меня на бете, такая странность есть - если флеш и винт воткнуть в хаб, а его в роутер, то ВСЕГДА (ни разу не было подругому) они не меняютсься! поменять их можно, поменяв местами в хабе......... так, что делайте выводы
Семь бед - один RESET.
Ваша проблема в кривых руках!
...создал /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);
Лужу, паяю, примуса починяю
-------------------------------
WL500g Premium 128ram+4usb+2Gb usb Flash Disk (Красноярск)
обозначает что и куда монтируется........ помоему и догаться можно было........
Семь бед - один RESET.
Ваша проблема в кривых руках!
Ну я и догадался. А без упреков в незнании sh можно? У меня всё впереди. Не все же гениями родились.
Ктонибудь, распишите пожалуйста в этом скрипте что есть что. У меня незаработало, хотелась бы понимать что происходит. В целом я понял, но некоторые команды мне непонятны. И зачам там переменная.
Лужу, паяю, примуса починяю
-------------------------------
WL500g Premium 128ram+4usb+2Gb usb Flash Disk (Красноярск)
предлагаю переработанный вариант того, что было предложено на несколько постов выше. Это "минималистский вариант" pre-mount --- только то, что необходимо для того, чтобы решить вопрос заданный в теме (естественно, с использованием скрипта scsi который был приведен выше).
Здесь sn_* --- это Serial number отсюда:Code:#! /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
для нескольких устройств это может быть либо 0/1 либо 1/0 (в общем случае x/y , где x >= 0; y >= 0) --- надо проверить все варианты (при всех возможных подключенных устройствах). Короче --- это уникальные идентификаторы физических устройств по которым мы определяем кто есть кто. Приведенные идентификаторы transcend и fujitsu корректны только для djet. Каждый должен составить список серийных номеров устройст, которые могут быть подключены к его конкретной системе.Code:cat /proc/scsi/usb-storage-0/0
P.S. 2 Oleg: см. третий пост темы
Last edited by al37919; 08-03-2008 at 17:03.
Прошу прощения, в скрипт вкралась ошибка, заметил которую только после перезагрузки. Исправить следует этот кусок:
Забыл partx при проверке [ -b ].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" >
Люди добрые помогите
1) что значит -b ?2) В /usr/local/sbin/post-boot[ -b $dev_trsnd/part1 ] && echo "$dev_trsnd/part1 $mp....Но после flashfs save && flashfs commit && flashfs enable && reboot в /tmp/harddisk <=# mount /dev/discs/disc0/part3 /tmp/harddisk
Как оно туда монтируется? Я ж ее закоментил
3) Попытка подмонтировать HDD в ручнуюпопытки смонтировать куда нибудь типа в /opt/hdd тоже Invalid argument (папка /tmp/harddisk существует)[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]$
! Я в linux и в sh не разбираюсь ! => просто помогите пожалуйста, над собой я сам потом посмеюсь
Лужу, паяю, примуса починяю
-------------------------------
WL500g Premium 128ram+4usb+2Gb usb Flash Disk (Красноярск)
1) проверка наличия блочного устройства (диска) по указанному пути
2) похоже на встроенную автомонтировку
Посмотрите после загрузки содержимое fstab (cat /etc/fstab) и сделайте mount -a.
На борту флэшка (disc1) подмонтирована правельно если не обращать внимание на 2)[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]$
а вот HDD (disc0)
fstab:а что значат 0 0 на конце?#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
Лужу, паяю, примуса починяю
-------------------------------
WL500g Premium 128ram+4usb+2Gb usb Flash Disk (Красноярск)
Точки монтирования:
/tmp/flashdisk
/opt/hdd1
/opt/hdd2
должны быть существующими директориями
На две цифры в конце можно не обращать внимания. Это часть стандартного синтаксиса fstab, которая в нашем случае не используется.
Да кстати, ext2 прошивка Олега не поддерживает.
Last edited by al37919; 12-03-2008 at 05:44.
Скрипты заработали, спасибо.
Пытаюсь правильно выстроить схему монтирования. В процессе наткнулся на непонятную мне вещь. Закомментировал монтирование в pos-boot но при этом вопреки моим стараниям диски монтируются в /tmp/harddisk хотя я указал /opt/flashdisk . Думаю, срабатывает автомонтирование, но я думал что pos-boot срабатывает до монтирования и у меня есть возможность смонтировать по своему. Не поняв кем/когда/в какую очередь стартует pre-mount, стартанул его из pos-boot .
Вопрос: 1) что у меня со swap ? Он вроде работает, но при этом он смонтирован 82 Linux swap /tmp/harddisk
2) как правильно монтировать вопреки автомонтированию?
3) скриптами создаётся fstab. Какая информация в нем учитывается, как он участвует в процессах монтирования? Выходит система его знает и опрашивает?
4) В папке /tmp/harddisk поселились какието файлы и бездонная папка /?.Э_
Выкладываю свои мытарства:[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" >> $fstabJohn@(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/hdd2P.S. Я осознал, что сделать привязку по серийнику к disc0 или disc1 невозможно. Т.е. можно заставить систему корректно монтировать устройства в зависимости от серийника, что мы и делаем Что называется "подход с другой стороны"[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]$
Лужу, паяю, примуса починяю
-------------------------------
WL500g Premium 128ram+4usb+2Gb usb Flash Disk (Красноярск)
точно.Я осознал, что сделать привязку по серийнику к disc0 или disc1 невозможно
Кстати, версия прошивки? Похоже не превью?