Instalacja Ubuntu 9.10 przez LAN – PXE Install
Zwykle nie zastanawiamy sie w jaki sposob zainstalowac system operacyjny, wrzucamy CD/DVD do napedu i ruszamy z instalacja bootujac system z plytki. Ale co zrobic, gdy komputer nie posiada wbudowanego napedu optycznego? Tak, mozemy zbootowac przez USB. A co zrobic, gdy BIOS nie posiada takiej opcji w boot menu? Bootujemy z PCMCIA. A co gdy… Mozna tak dlugo, az w koncu z braku mozliwosci zajmiemy sie transplantacja dysku twardego do komputera, w ktorym istnieje mozliwosc uruchomienia instalatora.
Zalozmy jednak, ze komputer nie posiada ani floppy, ani optyki, ani innego typowego napedu umozliwiajacego uruchomienie instalatora systemu a przeniesienie dysku nie wchodzi w gre, w takim przypadku mozemy przeprowadzic uruchomienie za pomoca oprogramowania PXE (Preboot Execution Environment), w ktore musi byc wyposazona nasza karta sieciowa. System PXE zaczytywany jest z flash’a podczas bootowania LAN, np. Intel UNDI, ktory nastepnie zacznie wyszukiwanie serwera DHCP, z ktorego bedzie probowal pobrac boot loadera systemu Ubuntu.
Wiec zaczynamy…
Klientem nazwiemy komputer, ktory laczy sie przez PXE z DHCP zainstalowanym na drugiej jednostce, ktora nazwiemy Stacja, aby nie mylic z serwerem DHCP na niej instalowanym. Spinamy teraz dwa komputery ze soba, najlepiej bezposrednio skretka. Jezeli mamy pomiedzy nimi router sprzetowy z wlasnym DHCP to nalezy go wylaczyc.
Przygotowanie Stacji
Na poczatek zacznijmy sciagac w tle Alternate Install CD, przyda nam sie jak skonczymy konfigurowac Stacje… ok, chyba przesadzilem – wystarczy jedynie katalog netboot, ja jako, ze mam juz Alternate CD, przyklad ten bazuje na netboot z tej wlasnie plytki. Tutaj znajdziemy samego netboot’a dla Ubuntu Karmic.
1. Instalujemy serwer DHCP (To tez mozesz przeczytac…)
czlowiek@maszyna:~$ sudo apt-get install dhcp3-server
Stacja ma dwie karty sieciowe, gdzie jedna na interfejsie eth1 umozliwia wyjscie na swiat, natomiast druga przez eth0 jest wlasnie spieta z klientem.
2. Wybieramy na jakim interfejsie postawimy DHCP
czlowiek@maszyna:~$ sudo dpkg-reconfigure dhcp3-server
i wpisujemy eth0
sprawdzamy czy DHCP odpowiednio jest podpiety, w pliku powinna byc odkomentowana linia INTERFACES=”eth0″
czlowiek@maszyna:~$ sudo nano /etc/default/dhcp3-server
lub
czlowiek@maszyna:~$ cat /etc/default/dhcp3-server | grep INTERFACES
INTERFACES="eth0"
3. Konfigurujemy DHCP
czlowiek@maszyna:~$ sudo gedit /etc/dhcp3/dhcpd.conf
wpisujemy
option domain-name "domowka";
authoritative;
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 194.204.152.34, 194.204.159.1;
option ip-forwarding off;
range dynamic-bootp 192.168.1.5 192.168.1.10;
}
host pxeinstall {
hardware ethernet 00:A0:CC:DF:FC:32;
fixed-address 192.168.1.5;
filename "pxelinux.0";
}
zapisujemy
4. Ustawiamy interfejs eth0
czlowiek@maszyna:~$ sudo nano /etc/network/interfaces
i dopisujemy to
auto eth0 iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0
5. Restartujemy siec i serwer
czlowiek@maszyna:~$ sudo /etc/init.d/networking restart czlowiek@maszyna:~$ sudo /etc/init.d/dhcp3-server restart * Stopping DHCP server dhcpd3 [ OK ] * Starting DHCP server dhcpd3 [ OK ]
Jak mamy OKi to idziemy dalej, w przeciwnym razie wracamy do ptk 1 i sprawdzamy jeszcze raz, albo dajemy komentarz i ktos odpowie
6. Instalujemy TFTP (Trivial File Transfer Protocol), taki prosty FTP
TFTP umozliwi transfer plikow do klienta
czlowiek@maszyna:~$ sudo apt-get install tftpd-hpa tftp-hpa openbsd-inetd
7. Konfigurujemy TFTP
czlowiek@maszyna:~$ sudo gedit /etc/inetd.conf
dodajemy linie, jezeli jej nie ma
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
tworzymy katalog, jezeli go nie ma
czlowiek@maszyna:~$ sudo mkdir /var/lib/tftpboot
edytujemy default’a tftpd’a
czlowiek@maszyna:~$ sudo gedit /etc/default/tftpd-hpa
wpisujemy to
RUN_DAEMON="yes" OPTIONS="-l -s /var/lib/tftpboot"
jezeli nie ma i restartujemy demona
czlowiek@maszyna:~$ sudo /etc/init.d/tftpd-hpa restart
i sprawdzamy czy zyje
czlowiek@maszyna:~$ netstat -lu
...
udp 0 0 *:tftp *:*
...
8. Konfigurujemy netboot’a
Pobrany obraz plyty Alternate CD wypalamy lub montujemy
czlowiek@maszyna:~$ mount -o loop ~/Download/os/karmic-alternate-i386.iso /media/cdrom0
kopiujemy zawartosc katalogu netboot
czlowiek@maszyna:~$ sudo cp -R /media/cdrom0/install/netboot/* /var/lib/tftpboot/
tworzymy dowiazanie do pliku default dla klienta, nazwa dowiazania to MAC karty klienta bez znaku :, czyli 00:A0:CC:DF:FC:32 zamieniamy na 00A0CCDFFC32
czlowiek@maszyna:~$ sudo ln -s /var/lib/tftpboot/pxelinux.cfg/default /var/lib/tftpboot/pxelinux.cfg/00A0CCDFFC32
9. Sprawdzamy konfiguracje
czlowiek@maszyna:~$ tftp 192.168.1.1 -c get pxelinux.0 czlowiek@maszyna:~$ ls ... pxelinux.0 ...
jak zaciagnelo pliczek to … to byloby na tyle w kwestii konfiguracji Stacji, przechodzimy do Klienta …
Przygotowanie Klienta
1. Konfigurujemy klienta
Wchodzimy do BIOS’u i ustawiamy 1st urzadzenie bootujace na Intel UNDI, ktory zaladuje PXE z karty sieciowej
restart i czekamy … uruchamia sie PXE, skanuje siec,
uruchamia sie instalator,
instalujemy Ubuntu Karmic Koala i cieszymy sie swiezutkim OS’em.
Wszystkie podobienstwa do hardware, software oraz ipkow, macow istniejacych w rzeczywistosci jest niezamierzone i zupełnie przypadkowe.


February 22nd, 2010 at 15:08
No nareszcie porządny, rzeczowy profesjonalny opis. Dziękuję i gratuluję.
May 6th, 2010 at 20:22
Elo, fajny opis, ale co zrobić gdy nie znam maca urządzenia i chcę żeby każdy mac podłączony otrzymywał możliwość dostępu do tego obrazu płyty ?
September 27th, 2010 at 00:14
Znowu się przydało
Chyba wydrukuję ! Pozdrawiam
September 27th, 2010 at 18:50
You’re welcome
Jak wyjdzie 10.10 to sprawdze i zaktualizuje jezeli zajdzie taka potrzeba.
December 21st, 2010 at 01:11
No ja już prawie zostałem użytkownikiem Ubuntu, niby wszytsko ładnie a tu dalej no boot filename czy jakos tak… Daje jeszcze raz komende tftp 192.168.1.1 -c get pxelinux.0
Transfer timed out.
No i dupa…
December 21st, 2010 at 18:39
Wszystko niby idzie ok, lecz gdy daję tftp 192.168.1.1 -c get pxelinux.0 to wyświetla się Transfer timed out.
Na kliencie komunikat No boot filename received.
January 3rd, 2011 at 21:54
“jak zaciagnelo pliczek to …” – niestety w 10.10 po komendzie
tftp 192.168.69.1 -c get pxelinux.0 to wyświetla się Transfer timed out. – a bylo by tak pieknie -:(
January 3rd, 2011 at 23:17
Oupss
po restarcie kompa pliczek się zaciągnął, a jak jeszcze w firestarterze zezwoliłem na ruch sieciowy Ubuntu 10.10 zaczęło się instalować.
Dzięki za przewodnik.
April 7th, 2011 at 10:35
Witam, u mnie zadziałało dopiero po tym, jak w podanym przez ciebie bloku dodanym do pliku /etc/dhcp3/dhcpd.conf zmieniłem adres MAC na taki, jaki ma mój klient.