51 (edytowany przez m80 2014-02-27 23:04:31)

Odp: PXE boot na OpenWRT

Spróbuj zamienić plik na routerze z undionly.kpxe na ipxe.pxe.
Ostatecznie zostaje procedura testowa.

UPDATE:
Dzisiejsze iPXE skompilowane z poleceniem ping i innymi dodatkami.

Masz tego kompa podłączonego bezpośrednio pod router z tftp czy przez jeszcze jeden router?

Próbowałem odtworzyć sytuację gdy nie ma połączenia (użyłem undionly.kpxe z paczki z tego postu) i doszedłem do tego, że wchodzisz do konsoli przy pierwszym ctrl+b, piszesz tylko ifopen a następnie sanboot ..... lub chain ..... i powinno pójść.

52 (edytowany przez m80 2014-02-28 00:30:46)

Odp: PXE boot na OpenWRT

@Skajper4
Jeżeli fizycznie obraz nie mieści się do pamięci to trzeba zrobić coś a'la "nośnik zewnętrzny".
Chociaż mamy w kompie np: tylko 1GB RAMU, zaś płyta DVD ma 4.7GB to bez problemu zainstalujemy z niej system. Dlaczego tak jest? Ano dlatego, że Windows/Linux ma sterowniki napędu dvd, inaczej mówiąc wie jak dostać się do swoich plików na jakimś urządzeniu zewnętrznym. Windows "nie wie" / "nie dba" o to czy jego obraz iso  jest cały w pamięci czy na dysku a może na NASie - właśnie to ukrywają przed nim sterowniki (WinVBlock i Firadisk) - mogą korzystać zarówno z obrazu iso w ramdysku jak również z pliku iso na dysku twardym.

Drugim sposobem jest połączenie możliwości iPXE oraz AoE (ATA over Ethernet) do korzystania z obrazów (hdd, iso) bez konieczności ładowania ich do pamięci RAM. Także w tym przypadku obraz instalacyjny Windows/Linuxa musi być odpowiednio spreparowany i zawierać w sobie sterownik AoE oraz sterownik karty sieciowej (wraz z ustawieniami np: ssid i hasło wifi) przez którą dostęp do obrazu na serwerze w czasie bootowania będzie się odbywał. Nowsze wersje windoz są zaopatrzone w większą ilość wbudowanych sterowników dlatego łatwiej jest je przystosować do tego rodzaju bootowania.

Najłatwiej zainstalować system na małej partycji (np: 10GB), zainstalować sterowniki (chipset, sieć, grafika,...), ustawić interfejs użytkownika i inne opcje, ustawić tryb ładowania sterownika karty sieciowej na "boot", zamknąć system a później zgrać spod linuxa obraz partycji/dysku z windozą do pliku (przy pomocy dd lub gddrescue) i wystawić taki plik na serwerze.

Pozdrawiam
Michał

53

Odp: PXE boot na OpenWRT

pingi działają bezbłędnie zarówno lokanie jak i na zewnątrz po dns

polecenie chain http://boot.org/demo/boot.php zwraca błąd że strona nie istnieje

strona faktycznie tak działa.

Lokalnie nic się nie zmieniło poza pingowaniem, ifstat cały czas "open".

Rano spróbuję z undionly.kpxe.

Na razie dziękuję i serdecznie Pozdrawiam.

54 (edytowany przez m80 2014-02-28 00:11:09)

Odp: PXE boot na OpenWRT

Adres demo to:

http://boot.ipxe.org/demo/boot.php

plik boot.php zwraca zwykły skrypt ipxe:

#!ipxe

kernel vmlinuz-2.6.17-14mdv bootfile=http://boot.ipxe.org/demo/boot.php fastboot
initrd initrd.img
boot

55

Odp: PXE boot na OpenWRT

po wystartowanu z lanu tak czy inaczej muszę ręcznie wpisać komendę dhcp choć pokazuje się przez chwilę adres mojego komputera z którego się loguję.

Mam już pełen dostęp do zewnętrznych serwerów z obrazami .iso i wszystko pięknie startuje wink
Natomiast po sieci lokalnej nie mogę załadować żadnego .iso. obojętnie czy jest to obraz Win czy Linux. Otrzymuję komunikat "coult open SAN device :Error ........

56 (edytowany przez m80 2014-02-28 12:56:54)

Odp: PXE boot na OpenWRT

Masz do nich dostęp po http (nie po sambie i nie po ftp) z innych komputerów w sieci?
Na stronie ipxe.org jest napisane:

HTTP
The format of an HTTP SAN URI is simply a standard HTTP URI. For example:

  http://boot.ipxe.org/freedos/fdfullcd.iso

Note that the HTTP server must support range requests, otherwise SAN booting will fail.

Note that the HTTP server must support range requests, otherwise SAN booting will fail.
Możliwe, że uhttpd tego nie wspiera...

Druga sprawa, jeżeli piszą o standardowym HTTP URI to port też powinno się móc podać, np:

sanboot http://192.168.1.1:666/linux.iso

wtedy serwer http będzie można uruchomić za pomocą jednego polecenia (w Gargoyle):

httpd_gargoyle -p 666 -d /mnt/hdd/images/iso

PS. Strona z przykładowym menu (dość rozbudowanym) stworzonym za pomocą skryptów ipxe.

57

Odp: PXE boot na OpenWRT

Po http mam dostęp do routera np do panelu sterowania lucii. Ale chyba na routerze muszą znajdować sie jakieś skypty umożliwiające  dostęp do poszczególnych zasobów.
Być może trzeba zmienić serwer na inny, albo generalnie zmienić "filozofię" podejścia do problemu.

58

Odp: PXE boot na OpenWRT

enrike4 napisał/a:

Po http mam dostęp do routera np do panelu sterowania lucii. Ale chyba na routerze muszą znajdować sie jakieś skypty umożliwiające  dostęp do poszczególnych zasobów.

Ale to nie wystarczy bo ten serwer udostępnia pliki z katalogu z interfejsem Gargoyle'a,
trzeba uruchomić drugą instancję serwera (httpd_gargoyle lub uhttpd), który będzie serwował pliki z katalogu z obrazami iso (tak jak w poście wyżej)

enrike4 napisał/a:

Być może trzeba zmienić serwer na inny,

Jeżeli uhttpd nie wspiera "range requests" czyli serwowania dowolnej części pliku to trzeba będzie postawić inny serwer.

enrike4 napisał/a:

albo generalnie zmienić "filozofię" podejścia do problemu.

Tzn..??? Masz jakieś propozycje?

59

Odp: PXE boot na OpenWRT

Tak na szybko :

zainspirował mnie pomysł:

http://dyski.cdrinfo.pl/artykuly/pendri … trona1.php

i odpaliłem taki "gwiazdozbiór: z 16GB pendriva. Działa wszystko i ma świetna opcję

generowania na bieżąco, menu  obrazów ISO, które się doda tylko do jednego katalogu !!!!. 

Myślę, że może to poddać jakiś koncept takiej implementacji na potrzeby openwrt na naszych

routerkach.  U mnie TP4300. ( Michał czy to ty tak nabiłeś oglądalność tego wątku przez te

kilka dni ?? wink

Pozdrawiam.

60 (edytowany przez m80 2014-02-28 20:10:12)

Odp: PXE boot na OpenWRT

Dobre, dorobić tylko bootowanie z sieci i jest git smile
Ciekawe jak zrobione jest wykrywanie nowych obrazów?

PS. Sprawdziłem i ani httpd_gargoyle ani uhttpd nie radzą sobie z serwowaniem obrazów dla ipxe (polecenie sanboot). Więc zainstalowałem na routerze ngnix'a. W pliku /etc/nginx/nginx.conf zmieniłem port/listen na inny niż 80, charset na utf-8, w sekcji server -> location -> root wpisałem ścieżkę do plików i dodałem w tej samej sekcji opcję "autoindex on;" żeby pokazywał ładnie pliki w katalogu. Dałem /etc/init.d/nginx enable i /etc/init.d/nginx start. Pliki ładnie się teraz ładują sanboot'em. Problem w tym, że większość dystrybucji nie jest przystosowana do bootowania przez http i proces zatrzymuje się w połowie drogi. Pozostaje memdisk i ładowanie do pamięci ale to trwa o wiele dłużej niż przy sanboot'cie i jesteśmy ograniczeni wielkością pamięci RAM.

61

Odp: PXE boot na OpenWRT

Nie wiem czy czytałeś cały ten tekst. Jest tam sporo szczegółów, ktore może Cię na coś naprowadzą. Na pewno w tym obrazie jest sporo linuxowych skryptów.
ew. poprubujemy zapytać kokoś z tamtego forum. Jak myślisz? Skoro w sieci lokalnej nie trzeba ładować całego obrazu do ramu , bo sterowniki są "przedłużeniem remu" , to może faktycznie niewiele już potrzeba do pełni szczęścia. (Przecież z pendriva nie ładuje się całego obrazu do ramu)

62 (edytowany przez m80 2014-03-01 00:58:54)

Odp: PXE boot na OpenWRT

Sprawa nie jest taka prosta...
Nie ładuje się całego obrazu tylko w przypadku gdy system w nim zawarty umie i wie, że ma czytać z medium, z którego wgrywa go loader (ramdysk, usb, http, nfs). W zamyśle obrazy iso są przeznaczone do nagrywania na płyty... a że dzisiaj powstała możliwość bootowania ich ze wszystkiego co się rusza to nie zawsze to się udaje. Jeżeli system w danym obrazie nie jest przygotowany na obsługę innego medium to się po prostu zatrzyma w połowie bootowania z kernel panic albo z niebieskim ekranem. To nie loadery i menu są tu najtrudniejszą sprawą a przygotowanie / spreparowanie obrazów.

63 (edytowany przez enrike4 2014-03-01 09:31:00)

Odp: PXE boot na OpenWRT

No tak, ale faktycznie musi to leżeć po stronie serwera udostępniającego dany obraz.
ISO to ISO . Jeżeli możemy jakiś system instalować bezpośrednio z sieci , czasem musi się załadować do ramu ,wtedy rola serwera polega tylko na serwowaniu takiego obrazu.

Przykład ze strony podanej powyżej, pokazuje że obrazy ISO nie są w żaden sposób modyfikowane, więc nie są "przygotowywanie /spreparowanie".

Być może jakaś mądrzejsza głowa od mojej dorzuci coś do tego "ogródka" i w taki sposób to

to ruszy. " Gdzie wielu doradców tam mądrość" wink

Pozdrawiam

64 (edytowany przez jzef 2016-09-25 22:10:14)

Odp: PXE boot na OpenWRT

enrike4 napisał/a:

No tak, ale faktycznie musi to leżeć po stronie serwera udostępniającego dany obraz.
ISO to ISO . Jeżeli możemy jakiś system instalować bezpośrednio z sieci , czasem musi się załadować do ramu ,wtedy rola serwera polega tylko na serwowaniu takiego obrazu.

Przykład ze strony podanej powyżej, pokazuje że obrazy ISO nie są w żaden sposób modyfikowane, więc nie są "przygotowywanie /spreparowanie".

Być może jakaś mądrzejsza głowa od mojej dorzuci coś do tego "ogródka" i w taki sposób to

to ruszy. " Gdzie wielu doradców tam mądrość" wink

Pozdrawiam

Tak, rola serwera polega na serwowaniu obrazu ISO ale chodzi o to iż instalator nie będzie umiał skorzystać z obrazu ISO dostępnego przez sieć czy w pamięci RAM i dlatego obrazy muszą być preparowane aby był z nich jakiś pożytek smile

m80 napisał/a:

Sprawdziłem i ani httpd_gargoyle ani uhttpd nie radzą sobie z serwowaniem obrazów dla ipxe (polecenie sanboot). Problem w tym, że większość dystrybucji nie jest przystosowana do bootowania przez http i proces zatrzymuje się w połowie drogi. Pozostaje memdisk i ładowanie do pamięci ale to trwa o wiele dłużej niż przy sanboot'cie i jesteśmy ograniczeni wielkością pamięci RAM.

Polecenie sanboot domyślnie rejestruje obraz jako dysk twardy a w przypadku obrazu ISO należy używać go razem z opcją --drive która określa jaki rodzaj obrazu chcemy załadować, i tak:

  • 0x00, 0x01 - obraz dyskietki

  • 0xe0 - obraz ISO

  • 0x80, 0x81 - obraz dysku

Poza tym w poleceniu sanboot można wykorzystać inny niż http protokół np. AoE i wtedy bez problemu wystartujemy obraz ISO. Wystarczy doinstalować pakiecik vblade, odpalić serwowanie obrazu np. w trybie tylko do odczytu:

vblade -r -b 65 0 0 br-lan /mnt/images/win.iso

wystartować komputer z iPXE i wykonać polecenie:

sanboot --drive 0xe0 aoe:e0.0

Nie wiem jak z innymi systemami Windows ale odpowiednio przygotowany obraz ISO WinXP da się odpalić i zainstalować za pomocą protokołu iSCSI - tylko nie testowałem tego na OpenWrt bo nie ma paczki serwera iSCSI ale testowałem na Windows z usługą serwera iSCSI wirtualnego napędu optycznego Alcohol52%:

sanboot --drive 0xe0 iscsi:${dhcp-server}:::0:xp

Jak kogoś interesuje jak spreparować i zainstalować XP'eka przez iSCSI to zapraszam na forum reboot.pro gdzie opisałem w szczegółach jak to zrobić.

P.S. Jak ktoś skompiluje serwer iSCSI dla OpenWrt CC 15.05.1 brcm63xx to mogę przetestować smile

Odpalanie obrazów dyskietek lub dysków z vblade działa super.

65 (edytowany przez djmysia 2017-02-08 10:24:57)

Odp: PXE boot na OpenWRT

Witam !

Mam dwa routery  tp-link (oryginalne firmware) a drugi nexx z gargulcem z extrootem . Tplink jest podłączony do neta (192.168.0.1) a nexx do tp linka jako ftp uhttpd itp. (192.168.0.2). Do nexxa do roota wrzuciłem /tftpboot (źródło:https://blog.sloniupl.eu/wp-content/uploads/2013/07/tftpboot.zip)  i wyedytowałem plik /etc/dnsmasq.conf

enable-tftp
tftp-root=/tftpboot
dhcp-boot=gpxelinux.0,192.168.0.2

Laptop nie widzi serwera tftp po z bootowaniu z LAN. Jak można sprawdzić w terminalu czy serwer działa i jakie ma ip ?

PunBB bbcode zrzut

66

Odp: PXE boot na OpenWRT

djmysia napisał/a:

Witam !

Mam dwa routery  tp-link (oryginalne firmware) a drugi nexx z gargulcem z extrootem . Tplink jest podłączony do neta (192.168.0.1) a nexx do tp linka jako ftp uhttpd itp. (192.168.0.2). Do nexxa do roota wrzuciłem /tftpboot (źródło:https://blog.sloniupl.eu/wp-content/uploads/2013/07/tftpboot.zip)  i wyedytowałem plik /etc/dnsmasq.conf

enable-tftp
tftp-root=/tftpboot
dhcp-boot=gpxelinux.0,192.168.0.2

Laptop nie widzi serwera tftp po z bootowaniu z LAN. Jak można sprawdzić w terminalu czy serwer działa i jakie ma ip ?

A dnsmasq.conf na TP-LINKu przeedytowałeś? to musisz ustawić na routerze który jest DHCP serwerem (chyba) smile

OpenWRT na TP-LINK Archer C7 v2, Korbox Gigabitus (Zbtlink ZBT-WE1326), Xiaomi AIoT Router AC2350 | http://blog.sloniupl.eu/

67

Odp: PXE boot na OpenWRT

Serwer ftp, tv i kamera działa pod adresem 192.168.0.2. Tylko jak edytować w tp-linku z oryginalnym oprogramowaniem ?

68

Odp: PXE boot na OpenWRT

Nie wiem czy się da smile Ja to robiłem na openWRT i działa elegancko. Ale miałem DHCP na openwrt. Pamiętaj że klient pobiera informacje o PXE z serwera DHCP.

OpenWRT na TP-LINK Archer C7 v2, Korbox Gigabitus (Zbtlink ZBT-WE1326), Xiaomi AIoT Router AC2350 | http://blog.sloniupl.eu/

69

Odp: PXE boot na OpenWRT

Nie da się, w oryginalnym softcie nie da się nic zmienić (nie mówiąc o dostaniu się przez telnet/ssh).

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

70 (edytowany przez jzef 2017-02-08 12:30:43)

Odp: PXE boot na OpenWRT

Wszystko da się zrobić smile

Jak masz podłączony nexx do tp-linka? Najlepiej podłącz bez routingu czyli switch-switch: tp-link LAN - LAN nexx. Wyłącz DHCP serwer na tp-link a włącz na nexx. Na nexx konfiguruj cały serwer PXE. Ja mam np. tak:
/etc/config/dhcp:

config dnsmasq
    option enable_tftp '1'
    option tftp_root '/mnt/extstor/pxe'
    option dhcp_boot 'pxelinux.0'

Oczywiście ścieżkę root tftp i plik startowy podajesz swoje jakich używasz.

71 (edytowany przez djmysia 2017-02-08 18:43:48)

Odp: PXE boot na OpenWRT

Dzięki. Wszystko super hula.
P.s Próbował ktoś może instalację windows xp ? Jaki zrobić wpis w pxelinux.cfg/default ?

72

Odp: PXE boot na OpenWRT

Mój sprawdzony sposób to instalacja z obrazu ISO załadowanego do RAM za pomocą iPXE - potrzeba sterownika ramdysku np. WinVBlock. Najprzyjemniej jednak instaluje się system za pomocą iSCSI również odpalonego z iPXE - potrzeba sterowników iSCSI i karty sieciowej. Dzięki iSCSI możesz zainstalować WinXP nawet do obrazu dysku przez sieć smile Wszystko masz na forum reboot.pro, tutaj instalacja do obrazu dysku Install XP to a iSCSI Target Disk and boot from it. Na prawdziwy dysk instalujesz tak samo tylko na ekranie instalatora wybierasz dysk lokalny na atapi zamiast iScsiPrt:
http://savepic.net/8974678m.png
Darmowy serwer iSCSI obrazów napędów optycznych - Alcohol52% FE:
http://savepic.net/8961366m.png
Jak chcesz bawić się w instalację do obrazu dysku to potrzebujesz innego serwera który potrafi serwować obraz dysku RAW lub VHD. Dobry ale nie darmowy serwer różnych obrazów - dysków twardych i napędów optycznych to iSCSI Cake - potrafi serwować dynamiczny obraz VHD maszyny wirtualnej MS VPC tylko trzeba przy wybieraniu dysku przełączyć aby pokazywał wszystkie typy plików:
http://savepic.net/8964457m.png
!!! Nie pytaj tu o szczegóły bo to nie jest forum od tego. Jak coś to zapraszam na reboot.pro


Oooo... nasunąłeś mi pomysł aby jako serwer iSCSI wykorzystać router z OpenWrt zamiast Alcohol52 czy iSCSI Cake smile wink - aż sam jestem ciekaw i chyba założę oddzielny wątek tutaj na forum.

73

Odp: PXE boot na OpenWRT

@jzef masz jakieś doświadczenia w kwestii instalacji WIN8.1 ew. WIN10 na iSCSI ?
Do dyspozycji mam NAS Synology - iSCSI i LEDE - PXE.
Znalazłem kilka tutoriali ale nie wiem jak ugryźć to z dnsmasq w LEDE.
Jeden z przykładowych -> http://labalec.fr/erwan/?p=423

Jakby co pisz -> http://eko.one.pl/forum/viewforum.php?id=5

APU2 @ OpenWrt 18.06-SNAPSHOT, r7852-7ac6044632

74

Odp: PXE boot na OpenWRT

Tak, możesz to zrobić tak samo jak instaluje się Windows za pomocą wimboot tylko musisz zaserwować obraz dysku i zahook'ować go w iPXE przed uruchomieniem wimboot. Tutaj masz instrukcję jak odpalić obraz WIM i uruchomić instalatora Windows z udostępnionego dysku:
Instalacja Windows przez wimboot
w iPXE zrób tak:

dhcp
sanhook -d 0x80 iscsi:${dhcp-server}::::xp
chain http://${dhcp-server}/boot.ipxe

Jak odpalisz Instalator z lokalizacji sieciowej to powinien zobaczyć dysk iSCSI, na screenshot'cie Instalator widzi dysk lokalny i iSCSI - ten zaznaczony:
http://savepic.net/8953214m.png