1 (edytowany przez jzef 2016-09-05 10:52:14)

Temat: Problem z odpalaniem z PXE - opcje 'keeppxe' lub 'pxe detect'

Od jakiegoś czasu mam postawiony serwer PXE na OpenWrt AA 12.09 na routerze HG553 gdzie sieć skonfigurowana jest według tego postu -> vodafone HG553 - serwer PXE i serwer działa bardzo dobrze. Ostatnio odkryłem pewien błąd - gdy próbuję odpalić GRUB4DOS z serwera PXE postawionego na OpenWrt wykorzystując opcję pxe detect lub keeppxe w menu pxelinux.cfg:

LABEL gop
MENU LABEL GRUB4DOS over PXE
boot grldr pxe detect

lub

LABEL gop
MENU LABEL GRUB4DOS over PXE
kernel grub.exe
append keeppxe --config-file="/menu.lst/default"

prawdziwe komputery restartują się a maszyna wirtualna MS VPC wyrzuca błąd:

An unrecoverable processor error has been encountered. The virtual machine will reset now.

http://savepic.net/8397138m.png

Wygląda na to iż jest to wina serwera PXE postawionego na OpenWrt ponieważ ta sama konfiguracja serwera PXE żywcem przeniesiona na inny komputer i system pod inny program serwujący np. ThinkPad X61, WinXP SP2 64-bit, Tiny PXE Server działa bez problemu.

Próbowałem najnowszych wersji GRUB4DOS ale nic to nie daje. Dopiero jak usunę opcję keeppxe:

LABEL gop
MENU LABEL GRUB4DOS over PXE
kernel grub.exe
append --config-file="/menu.lst/default"

to GRUB4DOS startuje ale do linii poleceń ponieważ nie ma w tym momencie urządzenia (pd) a więc brak menu.lst - w moim przypadku menu default
Fakt - używam starej wersji PXELINUX 3.86 ale nie zamierzam zmieniać na nowszą bo kiedyś jak tworzyłem i konfigurowałem cały serwer to przy testowaniu nowszej wersji wiele rzeczy przestało mi działać ponieważ nie pasuje konfiguracja ze starej wersji.

Przypominam iż problem zauważyłem tylko na OpenWrt a na innym komputerze serwer działa wyśmienicie.

Mógłby ktoś to sprawdzić na swoim serwerze postawionym na OpenWrt czy opcje pxe detect lub keeppxe powodują też restart komputera.

Jeśli nie mamy GRUB4DOS na serwerze to należy pobrać np. najnowszy tutaj -> http://grub4dos.chenall.net/, wypakować z archiwum do katalogu głównego serwera PXE pliki grldr i grub.exe a w menu pxelinux.cfg lub w pliku default na serwerze dodać którąś z pozycji uruchamiającej GRUB4DOS albo tę dla pliku grldr albo dla pliku grub.exe

Z góry dzięki.

2

Odp: Problem z odpalaniem z PXE - opcje 'keeppxe' lub 'pxe detect'

jzef napisał/a:

Od jakiegoś czasu mam postawiony serwer PXE na OpenWrt AA 12.09 [...] Wygląda na to iż jest to wina serwera PXE postawionego na OpenWrt [...]

OpenWrt AA 12.09 to od dawna niewspierana, prehistoryczna wersja.
Nawet jak są tam jakieś błędy i wiadomo jak je naprawić, to nikt tego nie zrobi.

W skrócie, zrób aktualizację.

3 (edytowany przez jzef 2016-09-05 11:20:14)

Odp: Problem z odpalaniem z PXE - opcje 'keeppxe' lub 'pxe detect'

pepe2k napisał/a:

OpenWrt AA 12.09 to od dawna niewspierana, prehistoryczna wersja.
Nawet jak są tam jakieś błędy i wiadomo jak je naprawić, to nikt tego nie zrobi.

W skrócie, zrób aktualizację.

Wiem iż to o co proszę wymaga poświęcenia nieco więcej czasu ale porada w stylu wymień system na nowszy nie jest rozwiązaniem problemu a raczej obejściem - o ile w nowszej wersji OpenWrt CC opcje pxe detect lub keeppxe nie restartują komputera.

4

Odp: Problem z odpalaniem z PXE - opcje 'keeppxe' lub 'pxe detect'

jzef napisał/a:
pepe2k napisał/a:

OpenWrt AA 12.09 to od dawna niewspierana, prehistoryczna wersja.
Nawet jak są tam jakieś błędy i wiadomo jak je naprawić, to nikt tego nie zrobi.

W skrócie, zrób aktualizację.

To nie jest rozwiązanie problemu a raczej obejście - o ile w nowszej wersji OpenWrt CC opcje pxe detect lub keeppxe nie restartują komputera.

Nie, to nie jest żadne obejście problemu.
Chcesz sobie to naprawić w wersji AA, to sobie napraw samemu i korzystaj ze zbudowanych samodzielnie obrazów i pakietów.

Po prostu ja Cię informuję, że masz dokładnie 0% szans na poprawkę w oficjalnym repozytorium, a jakiekolwiek próby zgłoszenia tego błędu szybko skończą się na jego zamknięciu z dokładnie takim samym komentarzem jak powyżej: zrób aktualizację.

Wydanie AA, to trup, którym nikt się nie interesuje.
Zresztą, sam sobie sprawdź daty modyfikacji pakietów: https://downloads.openwrt.org/attitude_ … /packages/. Jeżeli coś było aktualizowane, to tylko naprawdę krytyczne dziury, choć i tak od dłuższego czasu i one nie są łatane.

Jeśli błąd występuje w nowej wersji, to wtedy zgłaszaj.
A niewspieranym i w gruncie rzeczy dawno zapomnianym wydaniem po prostu nie zawracaj ludziom głowy.

5

Odp: Problem z odpalaniem z PXE - opcje 'keeppxe' lub 'pxe detect'

Do pepe2k - czy masz w tej chwili jakiś router z działającym PXE serwerem na OpenWrt aby to sprawdzić bo jeśli tak to nie powinno być problemu - kwestia dopisania kilku linijek i skopiowania jednego pliku.

Wydaje mi się iż tu nie chodzi o zawracanie głowy tylko o to iż w tym przypadku problem jest zbyt złożony i ciężko to sprawdzić jeśli nie mamy postawionego serwera PXE na OpenWrt a stawianie go tylko po to aby sprawdzić zależność o którą proszę to masa czasu i konfiguracji.

Więc proszę aby w temacie wypowiadały się osoby które mają w danym momencie postawiony serwer PXE na dowolnej wersji OpenWrt i mogłyby to szybko sprawdzić.

6 (edytowany przez jzef 2016-09-08 09:24:48)

Odp: Problem z odpalaniem z PXE - opcje 'keeppxe' lub 'pxe detect'

Pogrzebałem, potestowałem i są efekty, którymi podzielę się na forum. Domyślnie używam pendrive'a 2GB z partycją FAT32 zamontowaną za pomocą pliku fstab:

config global automount
    option from_fstab '1'
    option anon_mount '0'

config mount
    option target '/mnt/extstor'
    option device '/dev/sda1'
    option fstype 'vfat'
    option options 'rw'
    option enabled '1'

Dlatego tak iż dzięki temu pendrive działa szybciej i automat nie montuje go z opcją sync która spowalnia transfer - można o tym poczytać:
huawei hg553 / vodafone /
Jak poradzić sobie z powolnym kopiowaniem plików na pendrive USB

Postanowiłem przenieść server PXE z pendrive'a FAT32 na dysk przenośny NTFS:

  • zainstalowałem więc pakiet ntfs-3g

  • podłączyłem dysk do drugiego portu USB w routerze (w pierwszym jest pendrive) - fdisk wykrywa partycję jako sdb5

  • zamontowałem ręcznie w ten sposób: mount /dev/sdb5 /mnt/win

  • skopiowałem cały folder PXE z pendrive'a na dysk przenośny

  • zmieniłem ścieżkę serwera TFTP w LuCI z /mnt/extstor/pxe na /mnt/win/PXE (nazwa folderu PXE musi być dużymi literami bo na dysku też jest dużymi)

  • restartowałem sieć

i wszystko śmiga, jak ręką odjął smile

Nie wiem co jest grane ale widocznie serwer PXE na pendrive'ie FAT32 ma jakiś problem.

Zauważyłem iż partycja NTFS jest montowana jako system plików fuseblk z opcją blksize=4096:

/dev/sdb5 on /mnt/win type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)

a pendrive jest zamontowany jako vfat:

/dev/sda1 on /mnt/extstor type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

Nie wiem czy to chodzi o to samo blksize co wyświetla polecenie pxe w GRUB4DOS ale działa. Gdy odpalę komputer z serwera Tiny PXE z Windows z partycji NTFS to GRUB4DOS wyświetla blksize: 1408 a jak odpalam z serwera OpenWrt z NTFS to pokazuje inne blksize: 1432:
http://savepic.net/8418666m.png
Jak widać na obrazku w moim pierwszym poście GRUB4DOS odpalony z pendrive'a FAT32 z OpenWrt próbuje startować z blokiem wielkości 1408 ale restartuje komputer.

7 (edytowany przez jzef 2016-09-08 10:54:15)

Odp: Problem z odpalaniem z PXE - opcje 'keeppxe' lub 'pxe detect'

Aby naprawić więc tytułowy problem:

  • zmieniamy system plików na pendrive 2GB na NTFS

  • zmieniamy system plików vfat na auto w pliku /etc/config/fstab

UWAGA! Aby serwer NFS działał poprawnie trzeba też poprawić ścieżkę linku symbolicznego zmieniając nazwę folderu pxe na PXE (duże litery) bo tak mam na dysku:

cd /
rm debian-live
ln -s /mnt/extstor/PXE/images/debian-live /

To samo dotyczy ścieżek w plikach konfiguracyjnych wszelkich usług np. uhttpd, samba, FTP itp. Widocznie przy vfat wielkość liter nie ma znaczenia a przy NTFS lub fuseblk ma.

config global automount
    option from_fstab '1'
    option anon_mount '0'

config mount
    option target '/mnt/extstor'
    option device 'dev/sda1'
    option fstype 'auto'
    option options 'rw'
    option enabled '1'

Pendrive montowany jest tak:

/dev/sda1 on /mnt/extstor type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=2048)

Teraz PXELINUX i GRUB4DOS działa z opcją pxe detect smile

Strzelam w ciemno iż nawet na najnowszej wersji OpenWrt CC będzie ten sam problem z pendrive'em FAT32 2GB - nie pamiętam jak go formatowałem ale chyba z pod WinXP, typ HEX był chyba 0B jeśli to ma znaczenie.

Edytowano
--------------
Można nawet nie określać systemu plików ani opcji odczyt-zapis w /etc/config/fstab i zamontuje automatycznie jako fuseblk w trybie rw:

config global automount
    option from_fstab '1'
    option anon_mount '0'

config mount
    option target '/mnt/extstor'
    option device 'dev/sda1'
    option enabled '1'

Warunek - musi być zainstalowany pakiet ntfs-3g (2011.4.12-1-fuseint)

8 (edytowany przez jzef 2016-12-22 16:01:38)

Odp: Problem z odpalaniem z PXE - opcje 'keeppxe' lub 'pxe detect'

jzef napisał/a:

Można nawet nie określać systemu plików ani opcji odczyt-zapis w /etc/config/fstab i zamontuje automatycznie jako fuseblk w trybie rw:

config global automount
    option from_fstab '1'
    option anon_mount '0'

config mount
    option target '/mnt/extstor'
    option device 'dev/sda1'
    option enabled '1'

Warunek - musi być zainstalowany pakiet ntfs-3g (2011.4.12-1-fuseint)

Tak było w AA. Natomiast okazuje się iż CC 15.05.1 nie potrafi montować systemu plików NTFS za pomocą fstab i trzeba robić to np. za pomocą /etc/rc.local:

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

ntfs-3g -o big_writes /dev/sda1 /mnt/extstor

exit 0