Page 5 of 10 FirstFirst ... 34567 ... LastLast
Results 61 to 75 of 143

Thread: Проблема с fstab

  1. #61
    Quote Originally Posted by al37919 View Post
    cat /proc/scsi/usb-storage-0/0 | awk /GUID/'{print $2}' (вместо /0 может стоять другая цифра)
    Насколько было бы проще, если бы в прошивке появился blkid...

  2. #62

    Thumbs up

    можно и в post-boot, есть замечательная команда sleep

  3. #63

    Exclamation

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

  4. #64

    пока неудачно

    Quote Originally Posted by djet View Post
    А не лучше ли повесить это в pre-mount?

    У меня такой:

    PHP Code:
    #!/bin/sh

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


    logger -${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

    [ -/tmp/harddisk ] && rmdir /tmp/harddisk
    ln 
    -/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 -${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);
    Спасибо
    Лужу, паяю, примуса починяю
    -------------------------------
    WL500g Premium 128ram+4usb+2Gb usb Flash Disk (Красноярск)

  5. #65
    обозначает что и куда монтируется........ помоему и догаться можно было........
    Семь бед - один RESET.
    Ваша проблема в кривых руках!

  6. #66
    Quote Originally Posted by Vofik View Post
    обозначает что и куда монтируется........ помоему и догаться можно было........
    Ну я и догадался. А без упреков в незнании sh можно? У меня всё впереди. Не все же гениями родились.
    Ктонибудь, распишите пожалуйста в этом скрипте что есть что. У меня незаработало, хотелась бы понимать что происходит. В целом я понял, но некоторые команды мне непонятны. И зачам там переменная.
    Лужу, паяю, примуса починяю
    -------------------------------
    WL500g Premium 128ram+4usb+2Gb usb Flash Disk (Красноярск)

  7. #67
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,353
    Quote Originally Posted by djet View Post
    А не лучше ли повесить это в pre-mount?

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

  8. #68
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    предлагаю переработанный вариант того, что было предложено на несколько постов выше. Это "минималистский вариант" pre-mount --- только то, что необходимо для того, чтобы решить вопрос заданный в теме (естественно, с использованием скрипта scsi который был приведен выше).

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

    P.S. 2 Oleg: см. третий пост темы
    Last edited by al37919; 08-03-2008 at 17:03.

  9. #69
    Прошу прощения, в скрипт вкралась ошибка, заметил которую только после перезагрузки. Исправить следует этот кусок:

    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 ].

  10. #70

    Help!!

    Люди добрые помогите
    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 <=
    Как оно туда монтируется? Я ж ее закоментил
    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 не разбираюсь ! => просто помогите пожалуйста, над собой я сам потом посмеюсь
    Лужу, паяю, примуса починяю
    -------------------------------
    WL500g Premium 128ram+4usb+2Gb usb Flash Disk (Красноярск)

  11. #71
    1) проверка наличия блочного устройства (диска) по указанному пути
    2) похоже на встроенную автомонтировку

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

  12. #72
    [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)
    а вот HDD (disc0)
    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 на конце?
    Лужу, паяю, примуса починяю
    -------------------------------
    WL500g Premium 128ram+4usb+2Gb usb Flash Disk (Красноярск)

  13. #73
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    Точки монтирования:
    /tmp/flashdisk
    /opt/hdd1
    /opt/hdd2
    должны быть существующими директориями

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

    Да кстати, ext2 прошивка Олега не поддерживает.
    Last edited by al37919; 12-03-2008 at 05:44.

  14. #74

    я запутался

    Скрипты заработали, спасибо.
    Пытаюсь правильно выстроить схему монтирования. В процессе наткнулся на непонятную мне вещь. Закомментировал монтирование в 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" >> $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 невозможно. Т.е. можно заставить систему корректно монтировать устройства в зависимости от серийника, что мы и делаем Что называется "подход с другой стороны"
    Лужу, паяю, примуса починяю
    -------------------------------
    WL500g Premium 128ram+4usb+2Gb usb Flash Disk (Красноярск)

  15. #75
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    Я осознал, что сделать привязку по серийнику к disc0 или disc1 невозможно
    точно.

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

Page 5 of 10 FirstFirst ... 34567 ... LastLast

Similar Threads

  1. Как зафиксировать порядок USB носителей (fstab)?
    By ParadoxRus in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 229
    Last Post: 10-11-2014, 21:11

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •