PDA

Bekijk de volledige versie : Как поправить руки или автомонтировка /opt



OlegI
22-05-2005, 16:03
как монтировать и делать доступными дополнительные диски?

Первая вставленная USB-флэшка автоматически монтируется в /tmp/harddisk и становится видна по ftp. Если вставлять еще флэшки, то они автоматически не монтируются и не доступны по ftp.

Oleg
22-05-2005, 17:19
Имеется в виду, что Вы меняете флешки во время работы устройства? Или пытаетесь использовать сразу две?

OlegI
24-05-2005, 11:05
пытаюсь использовать сразу две. Чтобы смонтировать вторую флэшку даю команды
mkdir /tmp/harddisk/harddisk1
mount -o utf8 /dev/discs/disc1/part1 /tmp/harddisk/harddisk1
приходится монтировать в поддиректорию, иначе недоступен по ftp.
Может есть лучшее решение?
или планируется в будущих прошивках монтировать диски по-другому - в поддиректории вроде /tmp/harddisk/diskN?

Дальше планирую настроить samba, но про нее есть FAQ на английском. Мелочь - FTP не отображает русские имена на ntfs разделах.

Еще можно в FAQ: ключи WEP создаются из Passphrase не по стандарту. Часто драйвера карт принимают ключи либо в ASCII либо в HEX и нужно знать соответствие. Пример готового скрипта http://www.einhorn-net.de/jstools/wepkey.html

Общее впечатление: этот роутер лучший, очень доволен покупкой.

FOXTREE
24-05-2005, 11:10
Ну коль пошла такая пьянка то тоже вопрос про USB HDD

Можно ли заставить видеть диски без включения ftp или samba ?
У меня получилось только так - включил ftp , отключил все логины stupid-ftp при перезагрузке моунтит диск добавляет 2 директории и вырубается дальше уже post-boot работает .
А можно сделать это без участия stupid-ftp?

Oleg
30-05-2005, 15:01
пытаюсь использовать сразу две. Чтобы смонтировать вторую флэшку даю команды
mkdir /tmp/harddisk/harddisk1
mount -o utf8 /dev/discs/disc1/part1 /tmp/harddisk/harddisk1
приходится монтировать в поддиректорию, иначе недоступен по ftp.
Может есть лучшее решение?

Если флешки доступны уже при загрузке, то можно сделать так в post-boot:


mkdir -o /tmp/harddisk/disk1
mkdir -o /tmp/harddisk/disk2
mount ваши_опции /dev/discs/disc1/part1 /tmp/harddisk/disk1
mount ваши_опции /dev/discs/disc2/part1 /tmp/harddisk/disk2

После этого Вы получите "красивую" иерархию. Если в момент загрузки флешки нет - то можно поиграться с hotplug и написать собственный обработчик.



или планируется в будущих прошивках монтировать диски по-другому - в поддиректории вроде /tmp/harddisk/diskN?

Нет. Причина банальна - совместимость с АСУСовскими прошивками и user manual.



Дальше планирую настроить samba, но про нее есть FAQ на английском. Мелочь - FTP не отображает русские имена на ntfs разделах.

Скорее всего нужно добавить опции, аналогичные тем, что в FAQ приведены для FAT (http://wl500g.info/showpost.php?p=15321&postcount=2) (если используется "автомонтирование"). Переменная называется usb_ntfs_options.



Еще можно в FAQ: ключи WEP создаются из Passphrase не по стандарту. Часто драйвера карт принимают ключи либо в ASCII либо в HEX и нужно знать соответствие. Пример готового скрипта http://www.einhorn-net.de/jstools/wepkey.html

Никакого стандарта НЕ СУЩЕСТВУЕТ. Каждый из производитель делает это на собственное усмотрение, поэтому я рекомендую всегда использовать HEX ключи с WEP. В FAQ добавлю. :)

Oleg
30-05-2005, 15:10
Ну коль пошла такая пьянка то тоже вопрос про USB HDD

Можно ли заставить видеть диски без включения ftp или samba ?
У меня получилось только так - включил ftp , отключил все логины stupid-ftp при перезагрузке моунтит диск добавляет 2 директории и вырубается дальше уже post-boot работает .
А можно сделать это без участия stupid-ftp?
Трюк со stupid-ftpd самый простой. Альтернатива - только ручное монтирование.

FilimoniC
10-12-2006, 08:13
Вопрос: как это сдеалать самым простым способом, если места на оставшемся харде меньше чем вессит zip(/opt/*), то есть он туда не влезит. Подключать второй хард аозможность есть, но только как?

Oleg
10-12-2006, 10:06
что-то типа

tar -cC /opt . | tar -xvC /mnt

FilimoniC
11-12-2006, 22:27
не.. :) сказать то как системе что есть второй хард? если можно, поточнее 6)

GearST
11-12-2006, 22:48
я с одного на 2й переносил таром, а тебе я так понял надо 2й подрубить и там опт? ищи в путях я точно незнаю, но надо просто дописать пути к бину из опт 2го харда

BlackHorse
23-01-2007, 05:14
Пошагово что делаю:
0. дано - WL-500gP, винт 400Gb (300Gb exf3, 1Gb linux swap, 99 fat32) в usb-коробке...
1. делаю все как указано в http://www.macsat.com/macsat/content/view/22/29/, кроме форматирования разделов - они уже созданы на "большом брате" (может тут собака порылась - но создавать разделы больше 10Gb - роутер у меня отказывается)...
2. перезагружаюсь - /opt не смонтирован...post-boot не сработал... делаю команды из файлика по монтированию opt вручную - все ок..
3. смотрю что надо прописать http://wl500g.info/showthread.php?t=3171 - в post-mount... прописываем - результат тот же... команды вручную - все ок, команды в post-... не подключается...
вопрос - в какой части ошибаюсь?
естественно flshfs сделано...

ЗЫ: в линуксе - ушел очень не далеко от null :(

TVadim
23-01-2007, 06:03
Права на выполнение и ""#!/bin/sh" в начале файла есть?

n0isy
23-01-2007, 10:02
Права на выполнение и ""#!/bin/sh" в начале файла есть?

chmod +x ?

TVadim
23-01-2007, 18:31
chmod +x ?

Да и первой строкой в файле post-boot должно быть:

#!/bin/sh

dfayruzov
23-01-2007, 18:37
Скажи, а в /tmp/harddisk монтируется?
покажи вывод команды df сразу после перезгрузки роутера.

BlackHorse
23-01-2007, 22:21
Сразу после ребута
================================================== =====
wl-500 login: admin
Password:
[admin@wl-500 root]$ df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 2944 2944 0 100% /
=============== а буквально через 10 секунд видим
[admin@wl-500 root]$ df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 2944 2944 0 100% /
/dev/discs/disc0/part5 310257260 62456 294681944 0% /tmp/harddisk
/dev/discs/disc0/part7 74426976 32 74426944 0% /tmp/harddisk/part1

а есть еще /part6 - которая linux swap
================================================== =======
файл post-boot
#!/bin/sh
# wait for /opt to mount
mount -obind /tmp/harddisk/opt /opt
i=0
while [ $i -le 30 ]
do
if [ -d /opt/etc ]
then
break
fi
sleep 1
i=`expr $i + 1`
done

# Activate swap
swapon /dev/discs/disc0/part6

# Run all active services - active means starts with S
/opt/etc/init.d/rc.unslung

================================================== ======
файл post-mount
#!/bin/sh
swapon /dev/scsi/host0/bus0/target0/lun0/part6
#явная команда монтировки двух портов, чтобы не зависеть от того запущен stupid-ftp или нет. Смонтируется хоть что-то
#/bin/mount -o sync,noatime,rw /dev/discs/disc0/part5 /tmp/harddisk
#/bin/mount -o sync,noatime,rw /dev/discs/disc1/part1 /tmp/harddisk
# если /opt находится на общем смонтированном диске, а не как отдельный раздел:
mount -o bind,sync,noatime,rw /tmp/harddisk/opt /opt
#запуск cron если установлен:
#/opt/etc/init.d/S10cron

================================================== =======
Вот какие права у файликов...
[admin@wl-500 root]$ cd /usr/local/sbin
[admin@wl-500 sbin]$ ls -l
-rwxr-xr-x 1 admin root 322 Jan 23 06:07 post-boot
-rwxr-xr-x 1 admin root 0 Jan 23 06:08 post-firewall
-rwxr--r-- 1 admin root 509 Jan 24 00:16 post-mount

BlackHorse
23-01-2007, 22:26
На последний фалйик "x" навешивал - не помогает...

FilimoniC
23-01-2007, 23:51
а у тебя каталог /tmp/harddisk/etc существует? (aka /opt/etc )

я бы добавил ожидание монтирования /tmp/harddisk/opt (по аналогии, второй строкой post-boot


j=0
while [ $j -le 30 ]
do
if [ -d /tmp/harddisk/opt ]
then
mount -obind /tmp/harddisk/opt /opt
fi
sleep 1
j=`expr $j + 1`
done
соответственно на флешке должна быть папка opt

BlackHorse
24-01-2007, 06:54
Добавил - итог тот-же...
у меня такое ощущение, что данные файлы не используются...
Как проверить - запускает их система или нет? есть там глюки при выполнении или нет?

BlackHorse
24-01-2007, 07:37
>а у тебя каталог /tmp/harddisk/etc существует? (aka /opt/etc )
Не так, а вот так /tmp/harddisk/opt/etc - существует...
я папку моунтю в opt, а не раздел...

dfayruzov
24-01-2007, 09:07
Когда я игрался с автомонтированием, обнаружил вот что: если через веб-интерфейс включена samba, то USB HDD всегда монтируется в /tmp/harddisk.

Как сделано у меня: самба в свойствах веб-интерфейса отключена (ну люблю я ручками все делать :))), а post-boot выглядит так:



# USB HDD setup
# load modules
insmod scsi_mod
insmod sd_mod
insmod usb-storage
#явная команда монтировки двух портов, чтобы не зависеть от того запущен ли фтп
/bin/mount -o sync,noatime,rw /dev/discs/disc0/part1 /opt
/bin/mount -o sync,noatime,rw /dev/discs/disc0/part2 /mnt
# Activate swap
swapon /dev/discs/disc0/part3

Armann
24-01-2007, 09:13
...кроме форматирования разделов - они уже созданы на "большом брате" (может тут собака порылась - но создавать разделы больше 10Gb - роутер у меня отказывается)...
Не совсем по теме монтировки - раздел в 35 гиг роутер у меня прекрасно создал

dfayruzov
24-01-2007, 09:24
У тебя включен своп, а у BlackHorse, похоже - нет.
Для подтверждения можно посмотреть команду free.

imdex
24-01-2007, 12:08
Я без свопа создавал на 80 гб, не в этом проблема, думаю.

BlackHorse
25-01-2007, 04:33
Уже все перепробовал... но такое ощущение что просто файлы не используются вообще! Где можно глянуть запускаются ли файлы при загрузке и какие выдают ошики?!?!!

tsostik
25-01-2007, 08:54
Где можно глянуть запускаются ли файлы при загрузке и какие выдают ошики?!?!!
в post-bbot пишешь
echo "Post-boot run" >> /tmp/my.log
или export TMP_POSTBOOT_FLAG=1

И после загрузки проверяешь файл или переменную.

BlackHorse
26-01-2007, 07:46
Ага! Вот где собака порылась... не запускаются... нет не переменных, ни файлика...
Что может быть?!?!?

=== Информация к размышелнию ===================================
[admin@WL500 root]$ export
export HOME='/usr/local/root'
export LOGNAME='admin'
export PATH='/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bi
n:/sbin:/bin'
export PS1='[\u@\h \W]$ '
export PWD='/tmp/local/root'
export SHELL='/bin/sh'
export TERM='linux'
export USER='admin'
[admin@WL500 root]$ cd /usr/local/sbin
[admin@WL500 sbin]$ ls -l
-rwxr-xr-x 1 admin root 259 Jan 26 06:41 post-boot
-rwxr-xr-x 1 admin root 491 Jan 26 06:41 post-mount
[admin@WL500 sbin]$ cat post-boot
#!/bin/sh

export TMP_POSTBOOT_FLAG=1

#явная команда монтировки
mount /dev/scsi/host0/bus0/target0/lun0/part1 /opt

# Activate swap
swapon /dev/discs/disc0/part2

# Run all active services - active means starts with S
/opt/etc/init.d/rc.unslung[admin@WL500 sbin]$ cat post-mount
#!/bin/sh

export TMP_POSTMOUNT_FLAG=1

/sbin/swapon /dev/scsi/host0/bus0/target0/lun0/part2

#/bin/mount -o sync,noatime,rw /dev/discs/disc0/part1 /tmp/harddisk
#/bin/mount -o sync,noatime,rw /dev/discs/disc0/part3 /tmp/harddisk

/bin/mount -o bind,sync,noatime,rw /dev/scsi/host0/bus0/target0/lun0/part1 /opt
/bin/mount -o bind,sync,noatime,rw /tmp/harddisk/opt /opt

#запуск cron если установлен:
#/opt/etc/init.d/S10cron
# запуск thttpd:
#/opt/etc/init.d/S80thttpd start

tsostik
26-01-2007, 10:43
А просто руками эти файлы запускаются? пробелы лишние? Новые строки?

FilimoniC
26-01-2007, 21:26
Вспомнил :) Была такая же проблема! Удали этот файл нафиг и сделай новый! (я так решил именно)

BlackHorse
27-01-2007, 15:32
снес, создал - ничего... вообще-то что-то перестал понимать...
в файле post-boot оставил
==========================
#!/bin/sh
export TMP_POST_BOOT=1
==========================
запускаю руками
>post-boot
или
>sh post-boot
в export нет такой переменной...
что делаю не так?!?!
признак "x" у файла есть... ошибок не дает...

Уже даже и перепрошил все завново... ничего не помогает - что делать?!?!?!!?? :(
причем инет раздает нормально, по самбе достучаться легко... все работает - не могу только справитсья с этими post файлами...

FilimoniC
27-01-2007, 20:31
снес, создал - ничего... вообще-то что-то перестал понимать...
в файле post-boot оставил
==========================
#!/bin/sh
export TMP_POST_BOOT=1
==========================
запускаю руками
>post-boot
или
>sh post-boot
в export нет такой переменной...
что делаю не так?!?!
признак "x" у файла есть... ошибок не дает...

Уже даже и перепрошил все завново... ничего не помогает - что делать?!?!?!!?? :(
причем инет раздает нормально, по самбе достучаться легко... все работает - не могу только справитсья с этими post файлами...

экспорт, если не изменяет память, создает переменную только для процесса sh..

лучше echo туда вставьте

BlackHorse
27-01-2007, 21:34
Тяжело ломиться головой в запертую дверь... :)

Вообщем так - удалил все post-файлы...
создал новые и все примоунтилось...
а export действительно работает только для запущенного процесса - создание лога надежнее!...

скорее всего нельзя копировать файлы post-* с "большого брата" на роутер - может что в структуре текстовых файлов не так?...

Mirage-net
19-04-2007, 14:58
скорее всего нельзя копировать файлы post-* с "большого брата" на роутер - может что в структуре текстовых файлов не так?...
Именно так ... разные символы окончания строки ... надо использовать на большом брате перекодировщик и все будет ок

TDA
08-08-2007, 15:24
Роутер с Олеговой прошивкой подключенн винт 500гб в ext3 на нем установленны mc vsftpd все настроенно и работает...
Решил подключить еще один винт его тоже использовать с роутером но он в ntfs и инфа на нем ценная - решил слить на винт роутера и отформатировать в ext3, думал через роутер это будет быстрее........
подключил, даю команду:


/bin/mount -o sync,noatime,rw /dev/discs/disc1/part5 /opt/hdd

диск монтируеться но когда захожу в opt/hdd то там видно только файлы и папки с английским названием а те что были с русским - словно нет их :confused:
Перечитал еще раз и про настройку с нуля и про подключение усб - собсно никто такого и не дела посему вопрос - как его правильно смонтировать для полноценного отображения всего содержимого?

про русификацию читал и делал и даже проверил - все команды введены верно и собсно проблемм с русским небыло - все и через фтп и самбу виделось и писалось а тут просто нету и все

TDA
09-08-2007, 02:12
кое что уже решил - после прохода виндового скандиска часть файлов стало видно(но некоторые нечитаемы - 0 размера) как понял это "особенности" работы с нтфс...
увы но идея с треском провалилась - скорость копирования с винта на винт средствами роутер - 1,5-2мб/сек против 3-4 через самбу или фтп - сразу вспомнил упоминание олегом кривой реализации усб в роутере, посему копирование делаю через самбу..

skelet
10-08-2007, 14:18
увы но идея с треском провалилась - скорость копирования с винта на винт средствами роутер - 1,5-2мб/сек против 3-4 через самбу или фтп - сразу вспомнил упоминание олегом кривой реализации усб в роутере, посему копирование делаю через самбу..

Тоже интересен подобный момент, можно чуть подробнее?

TDA
10-08-2007, 17:13
Тоже интересен подобный момент, можно чуть подробнее?

Что именно тебе нужно описать?
Самба встроенная без настройки, скопировал уже 200гиг без каких либо проблемм..

skelet
10-08-2007, 17:19
не ну интересно если не средствами роутера, то средствами чего вы копируете, у вас ведь усб-диск как я понимаю.

"самба встроенная без настройки"

встроенная в роутер? но ведь это и есть по усб вроде как

TDA
11-08-2007, 04:53
Читай внимательно первые посты - хотел подключить два винта к роутеру и скопировать с винта на винт но не пошло - тот что в ntfs виделись не все файлы и скорость копирования оказалась ниже чем ожидалось...
Сейчас копирую - один винт подключенн к роутеру другой к компу и через сетевое окружение копируеться - скорость 3-4мб/сек..

awk
16-08-2007, 15:46
Коллеги!

А каким образом можно реализовать авто-монтирование USB винта
при подключении к его к роутеру без перезагрузки роутера?
Т.е. допустим, в качестве "постоянного" дискового устройства
используется флэшка, которая всегда воткнута в роутер.
На ней установлены проги и лежит своп. Но еще есть USB винт
или другая флэшка, которые иногда подключаются к роутеру.
Хотелось бы, чтобы при подключении этот диск автоматически
монтировался в определенный каталог, без ручного набирания
команды mount в командной строке.

angel_il
07-11-2007, 13:52
вобщем делаю
umount /dir
- не отмонтируется
umount -f /dir
- не хочет.
качаю lsof
смотрю кто держит, держит - библиотека с которой собран lsof :)
больше никто :), хорошо, закрываю всё, всех убиваю
killall -9 имя_процесса
kill процесс.
вобщем все умерли, прибиваю dropbear, отключаюсь от ssh.
Захожу в веб интерфейс, захожу в закладку "Системные команды",
далаю - ps, все мертвы, выполняю umount - посылает. идей больше нет.

Как быть то?

al37919
07-11-2007, 21:58
могу предложить способ, конечно, извратный, но действующий. Отключаем ХДД, перегружаем роутер --- таким образом мы пропускаем запуск процессов из пост-бута, далее, подключаем ХДД --- он автомонтируется, делаем унмаунт --- и он проходит успешно...

KirBo
08-11-2007, 07:54
Попробуй так:
killall stupid-ftpd - enter
umount /tmp/harddisk/ - enter

angel_il
08-11-2007, 17:07
2 KirBo: я убил все процессы на нот момент, кроме самых важных.
2 al37919: ну просто отключить винт то я могу, вопрос скорее принципиальный, как отмонтировать когда он отмонтироваться не хочет.
2 Oleg, а нельзя ли включить lsof в прошивку, чтобы у него небыло зависимостей от uclib лежащей на usb диске

leniviy
28-11-2007, 09:26
сначала был один, через несколько дней 2, теперь 3!

[admin@router root]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 2880 2880 0 100% /
/dev/root 2880 2880 0 100% /
/dev/discs/disc0/part2
37980836 30557044 5494476 85% /tmp/harddisk
/dev/discs/disc0/part2
37980836 30557044 5494476 85% /opt
/dev/discs/disc0/part2
37980836 30557044 5494476 85% /opt
/dev/discs/disc0/part2
37980836 30557044 5494476 85% /opt

в post-mount
mount -obind /tmp/harddisk/opt /opt

nightrus
28-11-2007, 09:35
наверное флэшку(диск) перетыкал раза 3? (просто предположение)

leniviy
28-11-2007, 09:50
нет, не перетыкал. А как это исправить? umount?
Он правда один раз завис при загрузке, а когда выдернул и воткнул питание, то /opt вовсе не подмонтировалась.
Только на третий раз загрузился. Я ещё с этим не разобрался, возможно связано с тем, что USB принтер был в этот момент включен.

Mam(O)n
28-11-2007, 10:47
А в принтере есть кардридер с флешкой? Вот от туда и могут ноги расти. Как вариант могу предложить дополнить команду монтирования так:

mount | grep " /opt " > /dev/null || mount -obind /tmp/harddisk/opt /opt

bigest
30-11-2007, 19:44
в post-mount
mount -obind /tmp/harddisk/opt /opt
Я бы перенес это в post-boot. Меня смущает название post-mount - логичным кажется, что скрипт выполняется после КАЖДОГО монтирования, отсюда и дюпы. :)

Romeo9128
08-02-2008, 16:56
Добройго времени суток, уважаемые ворумчане.
Некоторое время назад замомрочился с расшариванием разделов ка отдельной машинке. Разделы расшарены через Samba. Монтирую вручную командой

smbmount //192.168.1.10/video /opt/data/mountfiles/video -o guest
Вручную монтируется без проблем. В каталоге /opt/data/mountfiles/video появляются файлы из //192.168.1.10/video. Но проблема заключается в том, что после ребута роутера каталог /opt/data/mountfiles/video пуст. Добавление этих команд в post-boot или post-mount результата не приности. При этом, если создать шел-скриптик и в нём указать эту команду, запустит его вручную, то монтирование происходит.
В чём накривили опять мои руки, может кто подскажет? Может сталкивались с подобной проблемой?

l2net
20-02-2008, 10:28
Благодаря Mam(O)n -всетаки удалось смонтировать шару .
но теперь столкнулся с проблеммой описаной выше (пробовал через post-mount и даже пытался прокинуть все это через cron - автоматом после ребута не монтируется). подскажите решение пожалуйста.

SancheSZ
20-02-2008, 22:15
а если через cron попробовать?

Vofik
22-02-2008, 11:18
всё проще! запускайте скрипт из port-mount или post-boot, именно скрипт с командой, а не команду! И БУДЕТ ВАМ СЧАСТИЕ!

SancheSZ
22-02-2008, 18:15
А в чем прикол? почему просто команда не работает?

l2net
22-02-2008, 19:23
проблемма была в том что команда smbmount не выполнялась из файла post-mount. А решение оказалось как всегда на поверхности - нужно было только прописать полный путь к модулю smbmount.
Очередная благодарность Mam(O)n'у за помощь в рещении!

Pink Panther
02-04-2008, 20:53
Дано: WL500gP с прошивкой 1.9.2.7-10, жесткий диск 500гб (виден как disk0_1). Как смонтировать вторым диском флешку для установки всякого добра? В "инструкции понастройке с нуля" сказано:Первый подключенный диск автоматически монтируется в /tmp/harddisk остальные диски нужно монтировать вручную или скриптом. Начиная с версии 1.9.2.7-8 монтируются все диски в /tmp/mnt/ С Линуксом ранее не сталкивался, так что предложение "монтировать вручную" меня весьма озадачило:p Подскажите, люди добрые!:rolleyes:

piezomotor
02-04-2008, 23:51
Дано: WL500gP с прошивкой 1.9.2.7-10, жесткий диск 500гб (виден как disk0_1). Как смонтировать вторым диском флешку для установки всякого добра? В "инструкции понастройке с нуля" сказано:Первый подключенный диск автоматически монтируется в /tmp/harddisk остальные диски нужно монтировать вручную или скриптом. Начиная с версии 1.9.2.7-8 монтируются все диски в /tmp/mnt/ С Линуксом ранее не сталкивался, так что предложение "монтировать вручную" меня весьма озадачило:p Подскажите, люди добрые!:rolleyes:
У меня в post-boot для первого прописано-

mount /dev/scsi/host0/bus0/target0/lun0/part1 /opt

а для второго прописано -

mount /dev/scsi/host1/bus0/target0/lun0/part1 /tmp/mnt

А ваще команда fdisk -l у меня выдает-



Disk /dev/scsi/host0/bus0/target0/lun0/disc: 160.0 GB, 160041885696 bytes
16 heads, 63 sectors/track, 310101 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 305802 154124176+ 83 Linux
/dev/scsi/host0/bus0/target0/lun0/part2 305803 307883 1048824 82 Linux swap

Disk /dev/scsi/host1/bus0/target0/lun0/disc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/scsi/host1/bus0/target0/lun0/part1 1 121601 976760001 c Win95 FAT32 (LBA)

Pink Panther
03-04-2008, 07:05
У меня в post-boot для первого прописано-

mount /dev/scsi/host0/bus0/target0/lun0/part1 /opt

а для второго прописано -

mount /dev/scsi/host1/bus0/target0/lun0/part1 /tmp/mnt



а как сделать так, чтобы там появилась эта вторая строчка?:confused::)

Pink Panther
03-04-2008, 08:53
Всё, спасибо, вопрос снят - всё дело было в плохом контакте:D

AndreyPopov
23-04-2008, 22:19
имею WL-300G. usb у него нет, но прощивка Олега ставится и может работать. возник вопрос о том, как же устанавливать проги - ту же красивую статитстику к примеру rrd?

и возник вопрос - можно ли в качестве /opt использовать зашаренную папку на другом устройстве?
т.е. подключить сетевой диск, смонитровать его как /opt и установить на него нужные проги.

такое возможно?
какими командами подключать сетевой диск?

dadittoz
24-04-2008, 06:41
Не знаю как насчет 300g, но на 500gp так:

Если диск расшарен по nfs, то примерно так


insmod sunrpc
insmod lockd
insmod nfs
/usr/sbin/portmap
/bin/mount -t nfs 192.168.1.2:/nfs /opt

Если через SMB, то читать здесь (http://wl500g.info/showthread.php?t=12842).

AndreyPopov
24-04-2008, 18:19
Не знаю как насчет 300g, но на 500gp так:

Если диск расшарен по nfs, то примерно так


insmod sunrpc
insmod lockd
insmod nfs
/usr/sbin/portmap
/bin/mount -t nfs 192.168.1.2:/nfs /opt

Если через SMB, то читать здесь (http://wl500g.info/showthread.php?t=12842).

а грузить модуль Samba smbfs.o надо? или он есть в прошивке?

у меня прошита 1.9.2.7-9 для WL-300g. вроде по умолчанию Samba в этой прошивке есть.
или для WL-300G ее не вставляли в прошивку?

dadittoz
24-04-2008, 20:56
Надо грузить модуль. У меня в 1.9.2.7-10 его нет. Попробуйте отсюда (http://wl500g.info/showpost.php?p=69166&postcount=12)

al37919
24-04-2008, 21:34
он есть в отдельном файле с модулями от Олега.

AndreyPopov
25-04-2008, 14:44
al37919 точно! торможу что-то

кроме модуля надо еще вот эти команды выполнять:


insmod sunrpc
insmod lockd
insmod nfs
/usr/sbin/portmap


или они для nfs только?

у меня есть вот такоф NAS - 3Com OfficeConnect Network Storage Saerver 40
сюдя по EULAs.txt так таки стоит Samba:


Tcpip1 / Net-Tools
GPL
Samba suite

Samba
GPL (c) Samba Group
Services
/etc/services


но все равно что-то не получается.

[admin@wl300g root]$ mount -t smbfs //192.168.1.250/WL300G /usr/local/opt/share
mount: Mounting //192.168.1.250/WL300G on /usr/local/opt/share failed: Invalid argument

а в логе
Apr 25 15:36:33 kernel: smbfs: mount_data version 268513024 is not supported

просветите что это?

al37919
25-04-2008, 15:34
кроме модуля надо еще вот эти команды выполнять:
PHP код:
insmod sunrpc
insmod lockd
insmod nfs
/usr/sbin/portmap
или они для nfs только?
Это все дла nfs. Еще она грузит statd и mountd. Надо сказать, что гораздо проще включить галку в вебе о поддержке nfs и все что ей надо будет загружено самостоятельно.

Вообще то, юникс с юниксом надо соединять по nfs. samba предназначена для общения с сетью m$.

По поводу сообщения об ошибке --- поищите в гугле.

AndreyPopov
25-04-2008, 15:54
Это все дла nfs. Еще она грузит statd и mountd. Надо сказать, что гораздо проще включить галку в вебе о поддержке nfs и все что ей надо будет загружено самостоятельно.

Вообще то, юникс с юниксом надо соединять по nfs. samba предназначена для общения с сетью m$.

По поводу сообщения об ошибке --- поищите в гугле.

только у WL300G этого меню USB Application - нет! :(
чтобы там поставить галку

или можно руками зайти сюда:
http://xxxxx/Advanced_NFS_Content.asp и включить - будет так работать?

nfs.o клиента надо подгружать? из модулей?

а если у моего NAS 3Com доступ только по Samba - он предназначен, чтобы виндам отдавать ресурсы. там будет доступ по nfs? шары то я сделал на NAS 3Com - кто вот только их обслуживает?

al37919
25-04-2008, 17:05
http://xxxxx/Advanced_NFS_Content.asp и включить - будет так работать?
Откровенно говоря, без малейшего понятия, т.к. с 300 лично не знаком и исхожу из общей масштабируемости прошивки на разные устройства.

Вообще, нужно ли на 300 включать поддержку nfs сервера --- не уверен. nfs сервер должен быть запущен на 500, который предоставляет файлы.

У меня решена следующая задача: на 500 живет nfs сервер и ПК к нему успешно присоединяется. В принципе, она аналогична обсуждаемой. Какие модули сидят в памяти ПК могу посмотреть вечером.

AndreyPopov
25-04-2008, 17:24
Откровенно говоря, без малейшего понятия, т.к. с 300 лично не знаком и исхожу из общей масштабируемости прошивки на разные устройства.

Вообще, нужно ли на 300 включать поддержку nfs сервера --- не уверен. nfs сервер должен быть запущен на 500, который предоставляет файлы.

У меня решена следующая задача: на 500 живет nfs сервер и ПК к нему успешно присоединяется. В принципе, она аналогична обсуждаемой. Какие модули сидят в памяти ПК могу посмотреть вечером.


я ж хочу решить проблему ,чтобы и на WL300 поставить ipkg и пакеты статистики.

потому интересно к WL300G подключить внешний сетевой ресурс. смонтировать его в /opt
и туда ставить нужные пакеты

dadittoz
25-04-2008, 18:13
Попробуйте так. В зависимости от версии вашей прошивки качайте:

http://oleg.wl500g.info/1.9.2.7-9/modules-1.9.2.7-9.tgz
или
http://oleg.wl500g.info/1.9.2.7-10/modules-1.9.2.7-10.tgz
или еще что-то. Я не вкурсе вашей версии прошивки.

Распакуйте /lib/modules/2.4.20/kernel/fs/smbfs.o и закиньте на рутер. На рутере запустите

insmod smbfs.o
а потом монтируйте

mount -t smbfs //192.168.1.250/WL300G /usr/local/opt/share

AndreyPopov
25-04-2008, 18:29
Попробуйте так. В зависимости от версии вашей прошивки качайте:

http://oleg.wl500g.info/1.9.2.7-9/modules-1.9.2.7-9.tgz
или
http://oleg.wl500g.info/1.9.2.7-10/modules-1.9.2.7-10.tgz
или еще что-то. Я не вкурсе вашей версии прошивки.

Распакуйте /lib/modules/2.4.20/kernel/fs/smbfs.o и закиньте на рутер. На рутере запустите

insmod smbfs.o
а потом монтируйте

mount -t smbfs //192.168.1.250/WL300G /usr/local/opt/share


так и сделал и получил ошибку, о которой написано. единственное, это я взял smbfs.o из modules-1.9.2.7-10, а прошита 1.9.2.7-9

сейчас попробую из modules-1.9.2.7-9 - хотя размер файла одинаковый

AndreyPopov
25-04-2008, 18:55
с modules из 9 таже ошибка:
mount -t smbfs //192.168.1.250/WL300G /usr/local/opt/share
mount: Mounting //192.168.1.250/WL300G on /usr/local/opt/share failed: Invalid argument

в логе:
Apr 25 19:35:02 kernel: smbfs: mount_data version 268513024 is not supported

по поводу этой ошибки нашел:
http://www.debian-administration.org/articles/165

If the output includes the following text then you're missing the smbfs package:
smbfs: mount_data version 1919251317 is not supported

dadittoz
25-04-2008, 19:10
Похоже что не хватает smbmount. Где его взять пока не придумал :)

dadittoz
25-04-2008, 19:53
Попробуйте вот этот архив во вложении, это я с репозитория бинарники выдрал, вдруг будет работать. У меня вроде бы работает, но у меня /opt подмонтирован

Должно вот так цепляться

./smbmount //192.168.1.250/WL300G /usr/local/opt/share

al37919
25-04-2008, 20:02
smbmount есть в пакете samba2, доступном через ipk. Там лежит samba 2.2 в прошивку встроена samba 2.0 Можно ли брать smbmount из 2.2 и использовать вместе с 2.0 я не знаю. Надо пробовать. Еще в этом пакете есть smbclient --- утилита, позволяющая коннектиться к шаре в режиме похожем на ftp. В общем случае тестирование лучше начинать с нее.

Как и обещал --- посмотрел на ПК. lsmod показывает наличие в памяти sunrpc, nfs и lockd; ps кажет portmap и statd. mountd отсутствует (с ПК ничего не расшарено).

монтировать (на 300) надо коммандой
mount -t nfs ...
Предварительно шары надо экспортировать (на 500) через веб интерфейс или сохранив файл /etc/exports
Проверять (на 500) наличие успешно экспортированных шар:
showmount -e
cat /var/lib/nfs/etab

Вот для примера сторка в fstab:

192.168.1.1:/opt /mnt/opt nfs rsize=8192,wsize=8192,timeo=14,rw,hard,intr 0 0

dadittoz
25-04-2008, 20:07
Только нету у него 500, и nfs нет, есть только NAS 3com-овский и 300g :D

al37919
25-04-2008, 20:16
нда, точно. Прочитал невнимательно. Просто знаю, что 500 у него тоже есть :)

AndreyPopov
25-04-2008, 23:05
Попробуйте вот этот архив во вложении, это я с репозитория бинарники выдрал, вдруг будет работать. У меня вроде бы работает, но у меня /opt подмонтирован

Должно вот так цепляться

./smbmount //192.168.1.250/WL300G /usr/local/opt/share

вот так говорит
[admin@wl300g opt]$ smbmount
-sh: smbmount: not found

AndreyPopov
25-04-2008, 23:25
smbmount есть в пакете samba2, доступном через ipk. Там лежит samba 2.2 в прошивку встроена samba 2.0 Можно ли брать smbmount из 2.2 и использовать вместе с 2.0 я не знаю. Надо пробовать. Еще в этом пакете есть smbclient --- утилита, позволяющая коннектиться к шаре в режиме похожем на ftp. В общем случае тестирование лучше начинать с нее.

Как и обещал --- посмотрел на ПК. lsmod показывает наличие в памяти sunrpc, nfs и lockd; ps кажет portmap и statd. mountd отсутствует (с ПК ничего не расшарено).

монтировать (на 300) надо коммандой
mount -t nfs ...
Предварительно шары надо экспортировать (на 500) через веб интерфейс или сохранив файл /etc/exports
Проверять (на 500) наличие успешно экспортированных шар:
showmount -e
cat /var/lib/nfs/etab

Вот для примера сторка в fstab:

192.168.1.1:/opt /mnt/opt nfs rsize=8192,wsize=8192,timeo=14,rw,hard,intr 0 0


сделал:
echo "192.168.1.250:/WL300G" >> /etc/exports

вот что говорит в самом начале:
showmount -e
mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive

потом:
insmod sunrpc
insmod lockd
insmod nfs
portmap

в логе появилось:
portmap[78]: user rpc not found, reverting to user bin

showmount -e
теперь говорит
mount clntudp_create: RPC: Program not registered

попытка
mount -t nfs 192.168.1.250:/WL300G /usr/local/opt/share

mount: RPC: Unable to receive; errno = Connection refused
mount: nfsmount failed: Bad file descriptor
mount: Mounting 192.168.1.250:/WL300G on /usr/local/opt/share failed: Bad file descriptor

al37919
25-04-2008, 23:27
-sh: smbmount: not found
это значит, что блюблюотеки не совпадают. И это чистая правда, т.к. uclibc-opt и иже с ней не установлены.

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

nikita1234
26-04-2008, 21:33
Что пишется в качестве параметров для windows шары в команде mount -t smbfs?

nightrus
26-04-2008, 22:59
что-то вроде mount -t smbfs не отрабатывает, вот так получается

smbmount //comp/folder /tmp/share

можешь явно пользователя указать

-o username=user,password=pass

nikita1234
27-04-2008, 08:57
Можно ли это сделать со встроенной самбой? В этой или соседней теме был архив с smbmount, но при запуске из него конфигурационный файл ищется в /opt/etc, а у меня лежит в /etc.

Dekker
15-05-2008, 08:31
проблема начала проявлять себя в теме по кардшарингу, при подключении девайса USB to COM во второй порт роутера, отваливается флешка установленная в первом порту

ага, сказали мужики, шнур фиговый. но вместе с другим шнуром я притащил еще одну флешку. шо маемо (имеем)

первый порт кингстон однОгиговый
Vendor: Kingston Model: DataTraveler 2.0 Rev: 1.04

второй порт, родственник
Vendor: Kingston Model: DataTraveler 2.0 Rev: PMAP

в логах, нормальная загрузка без подключения второго порта

hub.c: connect-debounce failed, port 2 disabled (нет во втором порту ничего, ну и не нада, я так понимаю)

загрузка с включенным во второй и в первый порт флешами

hub.c: connect-debounce failed, port 1 disabled

... простите, на каком основании дизаблить первый порт ??? соответсвенно далее в логах все порядочно, кроме того что мы уже не видим EXT3 и соответственно ничерта не маунтим (флеша то нет по мнению роутера в первом порту)

как быть что делать куда копать ?

dev WL500gp (версию забыл посмотреть)
firmw 1.9.2.7-9

vectorm
15-05-2008, 10:03
А если вторую флешку вставить уже после загрузки?

Dekker
15-05-2008, 10:29
я вставлял после загрузки USB to COM (FTDI), отваливается флешка в первом порту почти сразу

вариант втыкнуть второй флеш (а не конвертер) на горячую попробуем

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


echo "insmod scsi_mod" >> /usr/local/sbin/post-boot
echo "insmod sd_mod" >> /usr/local/sbin/post-boot
echo "insmod usb-storage" >> /usr/local/sbin/post-boot
chmod +x /usr/local/sbin/post-boot
flashfs save && flashfs commit && flashfs enable && reboot

dmig
15-05-2008, 11:38
м.б. питания не хватает?
очень похоже. и тот и другой девайс питаются от usb. сколько ест переходник -- не знаю, а флэшка -- 100-200мА

Dekker
15-05-2008, 20:02
шутка юмора у роутера ... новые дэвайсы (флешки, переходники и т.п.) стал подключать в ПЕРВЫЙ порт, а флешку из первого порта, во ВТОРОЙ порт. ё, работает ....

skelet
17-06-2008, 22:18
подскажите где поиметь smbmount этот...
в samba2 его как-то нету (поставил - ничего)

а mount пишет
[admin@Router mnt]$ mount -t smbfs //192.168.1.4/distrib test
mount: Mounting //192.168.1.4/distrib on test failed: Invalid argument


:rolleyes:

smbfs.o файл ставил в ручную по ссылке выше (видимо он кривой)

McNick
22-08-2008, 11:40
Имеем:
asus wl-500gp v2
firmware 1.9.2.7-10 by Oleg
usb flash диск /dev/scsi/host0/bus0/target0/lun0/disc
на нем раздел ext3 (/dev/scsi/host0/bus0/target0/lun0/part1)
и раздел swap на всяк случ, пока не используется (/dev/scsi/host0/bus0/target0/lun0/part2)


Задача:
auto-монтировать при ребуте рутера каталог /opt ext3-раздела флешки в корневой /opt.


После ребута состояние такое:


fdisk -l
Disk /dev/scsi/host0/bus0/target0/lun0/disc: 262 MB, 262144000 bytes
9 heads, 56 sectors/track, 1015 cylinders
Units = cylinders of 504 * 512 = 258048 bytes

Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 776 195524 83 Linux
/dev/scsi/host0/bus0/target0/lun0/part2 777 1015 60228 82 Linux swap



Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 3072 3072 0 100% /
/dev/discs/disc0/part1 189343 14006 165561 8% /tmp/mnt/disc0_1


т.е. разделы флешки видны.
Это хорошо.


ls -lp
-rw-r--r-- 1 admin root 41 Jan 1 1970 MACHINE.SID
-rw-r--r-- 1 admin root 12 Jan 1 2000 TZ
-rw-r--r-- 1 admin root 250 Jan 1 1970 dnsmasq.conf
-rw-r--r-- 1 admin root 30 Jan 1 1970 ethers
-rw-r--r-- 1 admin root 116 Aug 20 00:04 fstab
-rw-r--r-- 1 admin root 28 Jan 1 2000 group
-rw-r--r-- 1 admin root 102 Jan 1 1970 hosts
-rw-r--r-- 1 admin root 125 Mar 30 11:53 ipkg.conf
-rw-r--r-- 1 admin root 1097 Mar 30 11:53 ld.so.cache
-rw-r--r-- 1 admin root 23 Mar 30 11:53 ld.so.conf
-rw-r--r-- 1 admin root 104 Jan 1 2000 passwd
-rw-r--r-- 1 admin root 240 Mar 30 11:53 profile
-rw-r--r-- 1 admin root 5834 Mar 30 11:53 protocols
lrwxrwxrwx 1 admin root 16 Jan 1 2000 resolv.conf -> /tmp/resolv.conf
-rw-r--r-- 1 admin root 1615 Mar 30 11:53 rpc
-rw-r--r-- 1 admin root 12042 Mar 30 11:53 services
-rw-r--r-- 1 admin root 467 Jan 1 1970 smb.conf


cat /tmp/etc/fstab
#device Mountpoint FStype Options Dump Pass#

/tmp/mnt/disc0_1/opt /opt ext3 rw,noatime,auto 0 1

fstab на месте.
содержимое имхо в порядке.

НО после ребута аутомонтирования не происходит:


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)

И даже так:


mount -a
mount: Mounting /tmp/mnt/disc0_1/opt on /opt failed: Block device required

тоже отрицательный результат:


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)

Единственное, что помогает:


mount -obind /tmp/mnt/disc0_1/opt /opt



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/disc0/part1 on /opt type ext3 (rw,noatime)


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


Что не так?
Нужно автомонтировать каталог flashka/opt в каталог корня /opt.
Или fstab работает только с разделами и не может монтировать директории?

тогда где прописывать
mount -obind /tmp/mnt/disc0_1/opt /opt
команду?

В post-boot? в post-mount?
как правильно?
Подскажите, плз!

Vollsky
22-08-2008, 19:28
Имеем:
asus wl-500gp v2
firmware 1.9.2.7-10 by Oleg
usb flash диск /dev/scsi/host0/bus0/target0/lun0/disc
на нем раздел ext3 (/dev/scsi/host0/bus0/target0/lun0/part1)
и раздел swap на всяк случ, пока не используется (/dev/scsi/host0/bus0/target0/lun0/part2)


Задача:
auto-монтировать при ребуте рутера каталог /opt ext3-раздела флешки в корневой /opt.

Подскажите, плз!
Вот здесь: http://wl500g.info/showpost.php?p=102995&postcount=833

DemonGloom
22-08-2008, 19:59
cat /tmp/etc/fstab
#device Mountpoint FStype Options Dump Pass#

/tmp/mnt/disc0_1/opt /opt ext3 rw,noatime,auto 0 1
Жуть, какая... Знаете, /tmp/mnt/disc0_1/opt - это не устройство. /dev/discs/disc0/part1 - вот устройство




mount -a
mount: Mounting /tmp/mnt/disc0_1/opt on /opt failed: Block device required
Логично... Причина - та же.


тогда где прописывать
mount -obind /tmp/mnt/disc0_1/opt /opt
команду?

В post-boot? в post-mount?
как правильно?
Подскажите, плз!

post-boot

elico
22-08-2008, 21:33
либо так в /etc/fstab:
/dev/discs/disc0/part1 /tmp/mnt/disc0_1 ext3 rw,noatime 1 1
/tmp/mnt/disc0_1/opt /opt none bind,rw,noatime 1 1

либо так в post-boot:
/bin/mount -o sync,noatime,rw /dev/discs/disc0/part1 /tmp/mnt/disc0_1
/bin/mount -o bind,sync,noatime,rw /tmp/mnt/disc0_1/opt /opt

McNick
23-08-2008, 13:08
Спасибо всем откликнувшимся!
далее микроотчет.

Методу sleep не доверяю. Сорри. Ничего личного :)

вариант с fstab не заработал.
максимум что удалось добиться это mount -a таки монтировал нужный каталог но в ручном режиме.
mount (ы) в post-boot не работают тоже.

сработал вариант:

/bin/mount -o bind,sync,noatime,rw /tmp/mnt/disc0_1/opt /opt
в post-mount.

но вопросы у меня остались и даже появились новые :)
Как сделать так, чтобы пакеты из /opt автостартовали именно после того, как сам /opt будет уже смонтирован?
Почему каталог на флеш-диске не монтируется из fstab?
почему mount не работает из post-boot?
в чем разница между устройствами /dev/discs/disc0/part1 и /dev/scsi/host0/bus0/target0/lun0/part1?

Не бросайте!
Расскажите или киньте ссылкой, плз!

elico
23-08-2008, 14:10
echo /etc/fstab >> /usr/local/.files делали? ;)

/dev/discs/disc0/part1 и /dev/scsi/host0/bus0/target0/lun0/part1.
это одно и тоже. Это вроде симлинка, если не ошибаюсь.
Например, тоже самое и на "взрослых" линуксах:
/dev/sda и /dev/scsi/host0/bus0/target0/lun0/disc

выполните команды:
cat /usr/local/sbin/pre-shutdown ( может быть, некорректно выключается и требуется запуск fsck ?)
cat /usr/local/sbin/post-boot
cat /etc/fstab
и выложите их вывод.

McNick
23-08-2008, 18:36
echo /etc/fstab >> /usr/local/.files делали? ;)

Да, конечно ;)


/dev/discs/disc0/part1 и /dev/scsi/host0/bus0/target0/lun0/part1.
это одно и тоже. Это вроде симлинка, если не ошибаюсь.
Например, тоже самое и на "взрослых" линуксах:
/dev/sda и /dev/scsi/host0/bus0/target0/lun0/disc



я тож так думаю.
Но почему /dev/discs/disc0/part1 у меня монтировать получается, а /dev/scsi/.../lun0/part1 нет?


выполните команды:
cat /usr/local/sbin/pre-shutdown ( может быть, некорректно выключается и требуется запуск fsck ?)


[admin@router root]$ cat /usr/local/sbin/pre-shutdown
#!/bin/sh
пустой т.е.


cat /usr/local/sbin/post-boot


[admin@router root]$ cat /usr/local/sbin/post-boot
#!/bin/sh

/bin/mount -o sync,noatime,rw /dev/discs/disc0/part1 /tmp/mnt/disc0_1
/bin/mount -o bind,sync,noatime,rw /tmp/mnt/disc0_1/opt /opt


cat /etc/fstab
и выложите их вывод.




[admin@router root]$ cat /etc/fstab
#device Mountpoint FStype Options Dump Pass#

#/dev/scsi/host0/bus0/target0/lun0/part1 /dev/discs/disc0/part1 none rw,noatime 1 1

/dev/discs/disc0/part1 /tmp/mnt/disc0_1 ext3 rw,noatime 1 1
/tmp/mnt/disc0_1/opt /opt none bind,rw,noatime 1 1

#/tmp/mnt/disc0_1/opt /opt none bind,rw,noatime,auto 1 1

включены либо команды в пост-буте, либо в фстабе.
но не вместе! :cool:

Жду комментов! :)

Где-то тут нашел, что post-boot пускается после запуска всех служб но до USB и, соотв, диск еще просто не прикручен к файловой системе, а post-mount как раз поле того, как USB уже опознан и смонторован в каталог /dev. Потому в пост-буте монтировать просто еще нечего. Это так?

Если да, то как же тогда запустить службу, которая лежит на еще не смонтированом диске? опять в post-mount - e?

И вообще!
Когда появляются в системе
/dev/scsi/host0/bus0/target0/lun0/part1
/dev/discs/disc0/part1
/tmp/mnt/disc0_1 ?

elico
23-08-2008, 20:14
решил все настроить "с нуля" (для чистоты эксперимента).
Как ни странно, но согласно fstab-у ничего не хотело монтироваться. :confused: Хотя до "эксперимента" все работало :(
Так что, оставил следующий вариант.
добавить второй строкой в post-mount:

/bin/mount -o bind,sync,noatime,rw /tmp/harddisk/opt /opt
На тот момент основной раздел уже смонтирован автоматически, поэтому все проходит гладко.
P.s. настоятельно рекомендую корректно завершать работу с флешкой:
например вот так:
pre-shutdown

lsof -t /tmp/harddisk /opt | xargs kill -9
sleep 3
/bin/umount /opt
/bin/umount /tmp/harddisk
pre-mount

fsck.ext3 -vy dev/scsi/host0/bus0/target0/lun0/part2 >> /tmp/syslog.log

McNick
27-08-2008, 15:29
решил все настроить "с нуля" (для чистоты эксперимента).
Как ни странно, но согласно fstab-у ничего не хотело монтироваться. :confused: Хотя до "эксперимента" все работало :(
Так что, оставил следующий вариант.
добавить второй строкой в post-mount:

/bin/mount -o bind,sync,noatime,rw /tmp/harddisk/opt /opt
На тот момент основной раздел уже смонтирован автоматически, поэтому все проходит гладко.
P.s. настоятельно рекомендую корректно завершать работу с флешкой:
например вот так:
pre-shutdown

lsof -t /tmp/harddisk /opt | xargs kill -9
sleep 3
/bin/umount /opt
/bin/umount /tmp/harddisk
pre-mount

fsck.ext3 -vy dev/scsi/host0/bus0/target0/lun0/part2 >> /tmp/syslog.log


На том пока и остановился, ибо углубляться в причины неприкручивания из фстаба времени нет. Может когда-нить позже.
Всем спасибо за участие и помощь!
Пошел строить рутинг.. Так что ждите в другой ветке! ;)

elico
27-08-2008, 18:00
хм. я тут заметил - сейчас у меня включен FTP через морду (правда, согласно этим настройкам к нему нельзя подрубиться).
Есть подозрение, что из-за этого подгружаются модули поддержки USB и в тот же момент происходит монтирование. то ись, /etc/fstab обрабатывается уже ПОСЛЕ монтирования (свап монтируется нормально, а обычные разделы - автоматом).
Поэтому можно попробовать вообще вырубить FTP и SAMBA, а в post-boot вписать ручную подгрузку модулей usb. Может так железка будет реагировать на fstab... Надо пробовать. Вполне возможно, что у меня так и было до "эксперимента" :)

Cd_spb
16-09-2008, 14:10
Только что поставил серию экспериментов - если USB включен через web и есть /etc/fstab, то:
1. если есть что-то исполняемое в "/tmp/local/sbin/pre-mount"(в моем случае "mkdir /tmp/usbflash"), то не стартуют "usr/sbin/vsftpd" "usr/sbin/nmbd" "/usr/sbin/smbd", но происходит монтирование (у меня "/dev/scsi/host0/bus0/target0/lun0/part1 /tmp/usbflash")
2. если НЕТ ничего исполняемого в "/tmp/local/sbin/pre-mount", то стартуют "usr/sbin/vsftpd" "usr/sbin/nmbd" "/usr/sbin/smbd", но не монтируется в соответствии с fstab.
(В данном случае я пытался монтировать в папку, которое нет сразу после загрузки)
Если в отключена поддержка в вебе, то необходимо грузить модули поддержки usb из скриптов. Например так:


[admin@dtr_rout root]$ cat /tmp/local/sbin/post-boot
#!/bin/sh
if [ ! -d /dev/discs ]
then
insmod scsi_mod && insmod sd_mod && insmod usb-storage && sleep 20s
fi

Pasechnick
06-10-2008, 11:49
Итак, наличиствует следующая проблемы.
Есть флешка, нормально работающая.
С ФС ФАТ.
Подключаю ее к роутеру. Она монтируется в /tmp/mnt/disc0_1.
Все здорово.
Демонтирую ее, форматирую в ЕХТ3:

mke2fs -j /dev/scsi/host0/bus0/target0/lun0/part1
Теперь монтирую отформатированную флешку в /opt:

mkdir /tmp/mnt/disc0_1/opt
mount -obind /tmp/mnt/disc0_1/opt /opt
Ставлю ИПКГ, базовые программы, прописываю в post-boot монтирование в /opt
Но после перезагрузки флешка вообще не монтируется: ни автоматически в /tmp/mnt/disc0_1, ни, естественно, в /opt
Смотрю фдиском:

fdisk -l

Disk /dev/scsi/host0/bus0/target0/lun0/disc: 1014 MB, 1014497280 bytes
255 heads, 63 sectors/track, 123 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 124 990675 b Win95 FAT32
Partition 1 has different physical/logical endings:
phys=(1023, 254, 63) logical=(123, 85, 63)

Что-то я здесь не понимаю.

Vollsky
06-10-2008, 13:21
Итак, наличиствует следующая проблемы.
Есть флешка, нормально работающая.
С ФС ФАТ.
Подключаю ее к роутеру. Она монтируется в /tmp/mnt/disc0_1.
Все здорово.
...................Смотрю фдиском:

fdisk -l

Disk /dev/scsi/host0/bus0/target0/lun0/disc: 1014 MB, 1014497280 bytes
255 heads, 63 sectors/track, 123 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 124 990675 b Win95 FAT32
Partition 1 has different physical/logical endings:
phys=(1023, 254, 63) logical=(123, 85, 63)

Что-то я здесь не понимаю.А что не понятного? Флешка в фат32 отформатирована.

vectorm
06-10-2008, 13:29
Итак, наличиствует следующая проблемы.
Есть флешка, нормально работающая.
С ФС ФАТ.
Подключаю ее к роутеру. Она монтируется в /tmp/mnt/disc0_1.
Все здорово.
Демонтирую ее, форматирую в ЕХТ3:

mke2fs -j /dev/scsi/host0/bus0/target0/lun0/part1
Теперь монтирую отформатированную флешку в /opt:

mkdir /tmp/mnt/disc0_1/opt
mount -obind /tmp/mnt/disc0_1/opt /opt
Ставлю ИПКГ, базовые программы, прописываю в post-boot монтирование в /opt
Но после перезагрузки флешка вообще не монтируется: ни автоматически в /tmp/mnt/disc0_1, ни, естественно, в /opt
Смотрю фдиском:

fdisk -l

Disk /dev/scsi/host0/bus0/target0/lun0/disc: 1014 MB, 1014497280 bytes
255 heads, 63 sectors/track, 123 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 124 990675 b Win95 FAT32
Partition 1 has different physical/logical endings:
phys=(1023, 254, 63) logical=(123, 85, 63)

Что-то я здесь не понимаю.
Флешку надо:
1. Отмонтировать.
2. удалить раздел, сохранить, ребутнуться.
3. Проверить, что раздел удалился, создать новый, ребутнуться.
4. Проверить, что новый создался, отформатировать.
У меня такое впечатление, что некоторые производители форматируют как-то странно, форматишь, после перезагрузки - все по-старому. При чем в других системах то один раздел видно, то другой. Прямо мистика ...

Pasechnick
06-10-2008, 17:53
vectorm, спасибо большое. Разобрался.

ivantest
12-04-2009, 01:14
Уже второй раз слетает раздел на флешке куда смонтирован каталог /opt. Причем каким-то непонятным странным образом именно при попытке обновления или переустановке пакетов через ipkg. Первый раз просто обновился через ipkg update && ipkg upgrade, а сейчас вот решил переустановить coreutils. В результате


Apr 12 03:00:08 e2fsck: e2fsck: while trying to open /dev/scsi/host0/bus0/target0/lun0/part2
Apr 12 03:00:08 e2fsck: /dev/scsi/host0/bus0/target0/lun0/part2:
Apr 12 03:00:08 e2fsck: The superblock could not be read or does not describe a correct ext2
Apr 12 03:00:08 e2fsck: filesystem. If the device is valid and it really contains an ext2
Apr 12 03:00:08 e2fsck: filesystem (and not swap or ufs or something else), then the superblock
Apr 12 03:00:08 e2fsck: is corrupt, and you might try running e2fsck with an alternate superblock:

опять все заново форматировать и переставлять?

vectorm
12-04-2009, 11:02
Ну так запустите проверку с альтернативным суперблоком, как Вам и советуется.
Скорее всего у Вас либо флешка приказывает долго жить, либо скрипт pre-shutdown не настроен нормально.

ivantest
12-04-2009, 14:06
флешка Corsair Voyager 8gb. слетел и /opt и swap. проверка e2fsck с альтернативным суперблоком e2fsck -b 8193

The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>

pre-shutdown


#/opt/etc/init.d/rc.unslung stop
#sleep 10s
#for i in `cat /proc/mounts | awk '/ext3/{print($1)}'` ; do
#mount -oremount,ro $i
#done
#swapoff -a
#sleep 1s

#! /bin/sh

logger -t pre-shutdown "$* started."

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

sleep 10s

sync

for i in `cat /proc/mounts | sort -r | awk '/ext3/{print($1)}'`
do
[ -n "`/opt/sbin/lsof -t "$i"`" ] &&
/opt/sbin/lsof -t "$i" | sort -nr | xargs kill -9
sleep 2s
/bin/mount -oremount,ro $i
done

swapoff -a

sleep 1s

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

al37919
12-04-2009, 15:16
pre-shutdown у вас выполняться не может, т.к. как минимум #! /bin/sh должно быть первой строкой в файле.

ivantest
12-04-2009, 15:28
то есть если #! /bin/sh идет не самой первой строкой, то файл не будет выполняться? ну я так и думал. но все-таки pre-shutdown здесь не причем, так как сбой был именно в процессе установки пакетов.
Конечно же ребуты были в процессе настроек. И если допустить, что скрипт pre-shutdown не отрабатывает или его вообще нет, могло ли это явится причиной вышеописанных сбоев?

vectorm
12-04-2009, 17:40
то есть если #! /bin/sh идет не самой первой строкой, то файл не будет выполняться? ну я так и думал. но все-таки pre-shutdown здесь не причем, так как сбой был именно в процессе установки пакетов.
Конечно же ребуты были в процессе настроек. И если допустить, что скрипт pre-shutdown не отрабатывает или его вообще нет, могло ли это явится причиной вышеописанных сбоев?
Если pre-chutdown не отрабатывал, то никто не может сказать какие действия производились с флешкой в момент ребута. Так что последствия вполне предсказуемые.

ivantest
12-04-2009, 20:11
всеравно почему-то не отрабатывает такой pre-shutdown

#! /bin/sh

logger -t pre-shutdown "$* started."

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

sleep 10s

sync

for i in `cat /proc/mounts | sort -r | awk '/ext3/{print($1)}'`
do
[ -n "`/opt/sbin/lsof -t "$i"`" ] &&
/opt/sbin/lsof -t "$i" | sort -nr | xargs kill -9
sleep 2s
/bin/mount -oremount,ro $i
done

swapoff -a

sleep 1s

все сервисы останавливает вроде ок. потом захожу телнетом и смотрю вывод mount - как было все в rw, так и осталось.

vectorm
12-04-2009, 20:41
всеравно почему-то не отрабатывает такой pre-shutdown

#! /bin/sh

logger -t pre-shutdown "$* started."

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

sleep 10s

sync

for i in `cat /proc/mounts | sort -r | awk '/ext3/{print($1)}'`
do
[ -n "`/opt/sbin/lsof -t "$i"`" ] &&
/opt/sbin/lsof -t "$i" | sort -nr | xargs kill -9
sleep 2s
/bin/mount -oremount,ro $i
done

swapoff -a

sleep 1s

все сервисы останавливает вроде ок. потом захожу телнетом и смотрю вывод mount - как было все в rw, так и осталось.
В строке "#! /bin/sh" пробел не нужен!
Должно быть "#!/bin/sh", так что он до сих пор не работает.

ABATAPA
12-04-2009, 20:45
В строке "#! /bin/sh" пробел не нужен!
Должно быть "#!/bin/sh", так что он до сих пор не работает.

Это не так. Испокон веков допускается как наличие пробела(ов) в строке интерпретатора, так и его(их) отсутствие:
$ echo -e "#! /bin/sh\ndate" > test
$ chmod +x test
$ ./test
Sun Apr 12 22:42:43 MSD 2009
$ cat test
#! /bin/sh
date
$

ivantest
12-04-2009, 20:53
на самом деле у меня в pre-shutdown в строке #! /bin/sh нет пробела. я сюда просто скопировал pre-shutdown из поста al37919 (http://www.wl500g.info/showpost.php?p=134183&postcount=37). как раз именно этот скрипт я и использую.
да и потом, я же вижу что скрипт отрабатывает (сервисы останавливаются), но не так как надо. вот в этом и вопрос.

al37919
13-04-2009, 00:12
понавтыкайте в него строк типа logger ... это может помочь разобраться доходит ли выполнение до конца и что при этом происходит

ivantest
14-04-2009, 00:22
опять все слетело. причем я уже настроил чтобы все сервисы останавливались корректно через rc.unslung. проверял что все действительно работает. все сервисы опускаются и при ребуте поднимаются. проверил что pre-shutdown отрабатывает нормально и после этого разделы перемонтируются в read-only. вообщем все было отлично.
но при очередном ребуте опять все слетело. теперь все еще интереснее

Filesystem Size Used Available Use% Mounted on
/dev/root 3.0M 3.0M 0 100% /
/dev/discs/disc0/part2 957.4M 152.5M 755.4M 17% /tmp/mnt/disc0_2
/dev/discs/disc0/part3 5.8G 128.1M 5.4G 2% /tmp/mnt/disc0_3

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

e2fsck на оба раздела

e2fsck /dev/discs/disc0/part2
e2fsck 1.38 (30-Jun-2005)
/dev/discs/disc0/part2: clean, 10484/253184 files, 46985/253023 blocks (check in 4 mounts)
e2fsck /dev/discs/disc0/part3
e2fsck 1.38 (30-Jun-2005)
/dev/discs/disc0/part3: clean, 12/1583680 files, 82408/1582402 blocks

update: сходу не заметил - раздел /dev/discs/disc0/part2 монтируется не туда куда надо (не в /opt). ок, вручную перемонтирую его в /opt. смотрю в /opt вроде все нормально. все как там было, так и осталось. но пропал fstab. все бы ничего, но в /tmp пусто. кроме пустого каталога root ничего нет.

подскажите, может можно все-таки все восстановить?

ivantest
14-04-2009, 09:55
Почему все пропало из /tmp ?

Power
14-04-2009, 12:38
Почему все пропало из /tmp ?

Значит так, в /tmp/ не может быть пусто, туда при работе роутера куча файлов пишется. Если вы имели в виду /tmp/local/, то надо смотреть, что у вас с flashfs случилось. Выполните flashfs list и изучите результат.

ivantest
14-04-2009, 17:48
да, конечно же. спасибо что поправили. речь идет именно про /tmp/local/. пока сходу все восстановилось с сохраненного архива flashfs.tar.gz, который многим ранее был выгружен стандартными средствами через веб-интерфейс. сейчас все снова работает. однако же интересно, почему все тогда пропало из /tmp/local/ и с чем это может быть связано.

eugenem
30-04-2009, 20:58
Добрый день,

такая проблема: к USB портам подключено два устройства с конвертерами usb->com на ftdi чипе. В программе обработки задано, что на ttyUSB0 находится командный интерфейс, а на ttyUSB1 - радиоинтерфейс. Обычно
устройства монтируются в нужном порядке, и все работает. Но иногда, после перезагрузки, без физического переподключения, командный интерфейс монтируется на ttyUSB1 и соответственно радиоинтерфейс - на ttyUSB0. И, соответственно, все перестает работать.

В чем может быть причина и что делать, чтобы устройство, подключенное в конкретный usb порт всегда монтировалось на конкретный tty?

Заранее спасибо,
Eugene

al37919
30-04-2009, 21:19
http://wl500g.info/showpost.php?p=79119&postcount=249
http://www.wl500g.info/showpost.php?p=80436&postcount=3
http://wl500g.info/showthread.php?t=18485

eugenem
01-05-2009, 08:06
http://wl500g.info/showpost.php?p=79119&postcount=249
http://www.wl500g.info/showpost.php?p=80436&postcount=3
http://wl500g.info/showthread.php?t=18485

Э-э-э, спасибо конечно, но я спрашивал не про монтирование разделов на носителях - с этим все ок и так, а про то, что подключены два конвертера serial->usb и это они иногда меняются местами..

Eugene

al37919
01-05-2009, 08:33
извини, похоже только заголовок прочитал :(

ИМХО на порядок usb устройств повлиять не удастся... Можно пытаться определить кто есть кто после подключения и при запуске софта подсовывать нужный tts.

попробуй найти отличия в записях относящихся к конвертерам здесь:

cat /proc/bus/usb/devices
cat /proc/tty/driver/*

tarasius
07-08-2009, 14:38
подскажите как может быть такое.
РОВНО через каждый reboot флешка то смонтирована в /opt , то не смонтирована и просто выглядит как /mnt/disc_0_1
закономерность именно через каждый reboot ...
изза чего грабли? подскажите:confused:

Amlet1
16-08-2009, 15:34
Подскажите как создать директорию opt в корне,если параметры чтения только ready only.Я ее создал,но не могу вспомнить как.mkdir /opt не создает.Подскажите кто знает.

Xerks
16-08-2009, 16:09
предполагается, что эта директория там (в прошивке) уже есть, и создавать ее не требуется. Кстати, с какой целью пытаетесь ее создать? Какая прошивка, ее версия?

Amlet1
16-08-2009, 16:26
Версия 1.9.2.7-d-r396

У меня в корне этой директории небыло.Я уже все установил и настроил.А как я создал каталог opt ума не приложу.Создал именно в корне.Что его там небыло,это точно.

vectorm
17-08-2009, 08:33
Не сбиваем народ с толку - читаем ВНИМАТЕЛЬНО "настройки с нуля" и видим там последовательность действий для поялвения в роутере директории /opt
В корне флеш памяти роутера так просто ничего не создать, учим матчасть.

brain-ripper
04-02-2010, 16:19
Хочется в ip-up-script'е (который запускается при соединении роутера с провайдером) запускать кое-какую программу с флешки.

Проблема в том, что запуск pppd (который поднимает соединение и запускает ip-up-script) и монтирование флешки вызываются асинхронно, в моем случае ip-up-script вызывается раньше, чем смонтировалась флешка.

Вопрос такой - какие способы есть синхронизироваться?

В идеале было бы вызывать в бэкграунде из ip-up-script скрипт, лежащий в /tmp/local/sbin, который ждал бы события монтирования и дождавшись запускал программу с флешки или прибивал бы сам себя по таймауту, недождавшись. Есть какие-то события монтирования, которые можно отловить?

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


P.S. конкретно это надо вот для чего: сейчас у меня из ip-up-script'а вызывается скрипт отправки почты - отправляется встроенным telnet'ом, поэтому флешка для этого не нужна. Хочется к отправляемому письму, помимо айпишника приделать еще статистику, собранную vnstat'ом, а базы последнего лежат как раз на флешке.

Kentawr
24-03-2010, 20:58
Естественно все перестало работать: и торренты и вебстраничка и т.п.

Вроде ниче такого не делал. Где что подправить?

прошивка Олега, настройка по мануалу [DURAK EDITION]

upd
каждый раз при перезагрузке роутер самовольно меняет метку диска. То disk0_2, то 1_2.

А еще я и putty зайти не могу - пишет пароль неправильный. В вебморду по этому логину/паролю пускает (даже сменил на всякий пожарный), а в консоль нифига :(

al37919
25-03-2010, 07:58
См. эту тему: http://wl500g.info/showthread.php?t=18485 В начале темы обсуждаются решения для оригинальной прошивки Олега, в конце для текущей 1.9.2.7-d через UUID