1 (edytowany przez martyman 2013-01-06 13:00:59)

Temat: nie działa automatyczne skanowanie extroota przy starcie

Przeszedłem przez kilka podobnych tematów, ale nie mogę sobie z tym poradzić.

Wgrałem na mr3220 najnowszego gargoyla i odpaliłem extroota na pendrivie. partycja ext4 bez indeksowania.
opkg remove plugin-gargoyle-usb-storage zastosowałem, ale nic się nie odinstalowuje, tak jakbym już tego nie miał.
block-mount jest standardowo zainstalowy. w fstabie mam
        option target    /overlay
    option uuid ab868cfa-96e2-4c67-8b59-a11a48e8ba54
    option fstype    ext4
    option options    rw,noatime
    option enabled    1
    option enabled_fsck 1
i choćbym nawet wyjął pendriva podczas pracy routera, to i tak w pliku z logami mam
EXT4-fs (sda2): warning: mounting unchecked fs, running e2fsck is recommended
EXT4-fs (sda2): mounted filesystem without journal. Opts: (null)

Extroot normalnie działa:

rootfs on / type rootfs (rw)
/dev/root on /rom type squashfs (ro,relatime)
proc on /proc type proc (rw,noatime)
sysfs on /sys type sysfs (rw,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
tmpfs on /dev type tmpfs (rw,noatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,noatime,mode=600)
/dev/sda2 on /overlay type ext4 (rw,noatime,user_xattr,barrier=1)
overlayfs:/overlay on / type overlayfs (rw,relatime,lowerdir=/,upperdir=/overlay)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)

Z tego co widzę wielu osobom się ten sam problem przytrafiał, ale mimo wszystko nie potrafię tego rozwiązać.
Oczywiście e2fsprogs zainstalowałem.

2

Odp: nie działa automatyczne skanowanie extroota przy starcie

Jak byś przeczytał co gargoyle zawiera to byś wiedział że dla mr3220/mr3420 nie ma e2fsck standardowo w obrazie.

I instalacja na extroocie nic ci nie da, bo przecież to ma się wykonać PRZED zamontowaniem nośnika.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: nie działa automatyczne skanowanie extroota przy starcie

instalowałem e2fsprogs i mam e2fsck, mogę normalnie uruchomić podczas pracy routera.

Ale faktycznie mam to na extroocie neutral

Ale jak mam to zrobić, skoro przed zrobieniem extroota we flashu nie ma miejsca na e2fsprogs?

4

Odp: nie działa automatyczne skanowanie extroota przy starcie

No właśnie nie możesz. Odłącz go od routera, uruchom bez, wgraj e2fsprogs do pamięci, przeskanuj, zresetuj

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: nie działa automatyczne skanowanie extroota przy starcie

To wiem, tylko chodzi mi o to, żeby e2fsprogs było na stałe wgrane i automatycznie skanowało system plików przy starcie. Czy jest możliwośc wgrania tego jakoś do gargoyla, czy muszę zrezygnować z gargoyle i przejść na czyste openwrt?

6

Odp: nie działa automatyczne skanowanie extroota przy starcie

Musisz zrezygnować z gargoyle. Tam nie miejsca na wgranie tego.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7 (edytowany przez martyman 2013-01-06 16:47:27)

Odp: nie działa automatyczne skanowanie extroota przy starcie

Mam wgrane czyste openwrt, oczywiście mające e2fsprogs. We flashu "fstab" mam zapisany tak samo jak na extroocie, a w "system" mam też we flashu i w penie to samo, czyli:
option 'cronloglevel' '0'
    option 'log_type' 'file'
       option 'log_size' '256'
       option 'log_file' '/logi.txt'

Problem w tym, że jak uruchomię router bez extroota i po załadowaniu podłączę pendriva, to w pliku z logami znajdującym się we flashu jest info o e2fsck i pen jest skanowany i potem montowany. Ale jak uruchomię z podpiętym penem, to odczytując loga z pena mam tylko:
EXT4-fs (sda2): mounted filesystem without journal. Opts: (null)  ale śladu po wpisach e2fsck nie ma. Czy log z extroota jest inny niż log we flashu?

8

Odp: nie działa automatyczne skanowanie extroota przy starcie

Bo wynik tego fsck nie jest logowany.

Odłącz extroota, uruchom router. Potem wejdź do  /lib/functions/fsck/e2fsck.sh  i zamiast | logger ...
zrób >> /tmp/logi.txt to zobaczysz wynik skanowania.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: nie działa automatyczne skanowanie extroota przy starcie

Czy zawartość tego pliku ma wyglądać tak?

fsck_e2fsck() {
    set -o pipefail
    e2fsck -p "$device" 2>&1 | logger -t "fstab: e2fsck ($device)"
    local status="$?"
    set +o pipefail
    case "$status" in
        0|1) ;; #success
        2) reboot;;
        4) echo "e2fsck ($device): Warning! Uncorrected errors."| logger -t fstab
            return 1
            ;;
        *) echo "e2fsck ($device): Error $status. Check not complete."| logger -t fstab;;
    esac
    return 0
"| logger" występuje w trzech miejscach. tylko "| logger" mam zamienić, czy razem z tekstem do końca linijki?

Czemu muszę tak kombinować? PRzegrzebałem kilka tematów, w których pisałeś, że po ustawieniu w fstab skanowania przy starcie skanowanie musi działać jeśli jest pakiet e2fsprogs, i gdzieś ktoś pisał, chyba "nomado", że miał normalnie w pliku w logami info o pracy e2fsck. Już się zaczynam gubić w tym i nie wiem, co ma być, a czego ma nie być, żeby szło info do pliku z logiem.

10

Odp: nie działa automatyczne skanowanie extroota przy starcie

To stare posty. System się zmienia z tygodnia na tydzień. Extroot się robi zanim cokowiek wystartuje.

e2fsck -p "$device" 2>&1 | logger -t "fstab: e2fsck ($device)"

zamień na

e2fsck -p "$device" 2>&1 >> /tmp/log.txt

We flash nie na extroocie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: nie działa automatyczne skanowanie extroota przy starcie

Ok, działa. Czyli nie ma opcji, żeby informacje o skanowaniu były w głównym pliku z logami? Wtedy miałbym w logach całą historię skanowań. Bo log z tmp zniknie po restarcie, więc będzie w nim przechowywana informacja tylko o aktualnym ostatnim skanowaniu. Dobrze myślę?

12

Odp: nie działa automatyczne skanowanie extroota przy starcie

1. W ogóle po co Ci to przechowywać?
2. w momencie skanowania nie masz ani uruchomionych demonów ani nic jeszcze. jffs tylko jest.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: nie działa automatyczne skanowanie extroota przy starcie

Masz rację, wystarczy mi pewność, że system plików jest sprawdzany na starcie. Tam, gdzie mam podłączony router czasami zdarzają się awarie w dostawie prądu, więc chcę, żeby system był na takie awarie przygotowany. Dzięx za pomoc.

14

Odp: nie działa automatyczne skanowanie extroota przy starcie

A w jaki sposób zrobić to samo w ostatnim Backfire? Tzn. w logach, czy to przez logread, czy przez logowanie do pliku jest tylko "EXT4-fs (sda2): mounted filesystem without journal." i żadnego info dotyczącego e2fsck.
Modyfikacja /lib/functions/fsck/e2fsck.sh nic nie daje. Tworzy się tylko pusty plik /tmp/log.txt, ale zapewne w backfire trzeba to zrobić inaczej. Proszę o info jak to tutaj zrobić.

15

Odp: nie działa automatyczne skanowanie extroota przy starcie

Chyba trochę zagmatwałem, więc napiszę jeszcze raz zwięźle:
Jak otrzymać w logach info o skanowaniu partycji extroota przed jej zamontowaniem w Backfire?
E2fsprogs zainstalowane we flashu.
Enable_fsck włączone we flashu.
A w logach brak wpisów od e2fsck, więc nie wiem, czy w ogóle skanuje.

16

Odp: nie działa automatyczne skanowanie extroota przy starcie

Wiesz w której funkcji się to robi więc przed wywołaniem polecenia możesz sobie dodać echo "tu jestem" >> /tmp/log.txt i będziesz wiedział czy w ogóle tam wszedł i się uruchomiło.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17 (edytowany przez martyman 2013-01-11 11:57:02)

Odp: nie działa automatyczne skanowanie extroota przy starcie

Tworzy się plik z wpisem "tu jestem", czyli e2fsck jest uruchamiane. Ale jak podejrzeć wynik skanowania? Chcę mieć pewność, że funkcja nie tylko się uruchamia, ale skanuje system plików i naprawia go w razie potrzeby.

E2fsck jest uruchamiane, ale w logach i tak mam:
"EXT4-fs (sda2): warning: mounting unchecked fs, running e2fsck is recommended
EXT4-fs (sda2): mounted filesystem without journal"

18

Odp: nie działa automatyczne skanowanie extroota przy starcie

Możesz skopiować to co było w AA

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

19

Odp: nie działa automatyczne skanowanie extroota przy starcie

Próbowałem. Wpisanie "e2fsck -p "$device" 2>&1 >> /tmp/log.txt" nie daje żadnego wyniku, tworzy się pusty plik log.txt. A jak mam dodatkowo przed tym echo "tu jestem" >> /tmp/log.txt, to w pliku jest tylko napis "tu jestem" i nic więcej. W logach to samo - że zamontował niesprawdzony system plików.

20

Odp: nie działa automatyczne skanowanie extroota przy starcie

Może się wykłada podczas próby sprawdzenia.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: nie działa automatyczne skanowanie extroota przy starcie

Sprawdzałem pena na kompie i jest czysty.
Jak w fstabie ustawię isrootfs 0 i podepnę pena w trakcie pracy routera, to przed jego zamontowaniem będą wpisy z e2fsck, a w pliku /etc/log.txt:
/dev/sda2: clean, 31/211744 files, 14767/846336 blocks

Z włączonym extrootem już nie ma info z e2fsck ani w logach, ani w pliku /tmp/log.txt.

Tak jakby z włączonym extrootem z jakiegoś powodu skanowanie nie startowało, ale sam e2fsck rusza.