PXE boot: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
Ver 0.8 (Tegemisel) | Ver 0.8 (Tegemisel) | ||
Line 15: | Line 14: | ||
=Vajalikud komponendid.= | =Vajalikud komponendid.= | ||
Toimimise alt on näha, et asja | Toimimise alt on näha, et asja käitamiseks on kindlasti vaja järgmiseit kahte põhiteenust: | ||
DHCP ja TFTP - Trivial File Transfer Protocol | DHCP ja TFTP - Trivial File Transfer Protocol | ||
Network bootstrap programmi: | Network bootstrap programmi: | ||
Line 21: | Line 20: | ||
Hilisemaks installimiseks (ei ole selle hetkel juhendi osa): | Hilisemaks installimiseks (ei ole selle hetkel juhendi osa): | ||
NFS, FTP, HTTP | NFS, FTP, HTTP | ||
'''Tähelepanek:''' | '''Tähelepanek:''' | ||
''Selleks et oleks võimalik kasutada | |||
''Selleks et oleks võimalik kasutada kpeerimist ja pasteerimist näidetest tuleb Serveri installi käigus anda masinale staatiline IP aadress 192.168.100.2 võrgust 192.168.100.0/24, '' | |||
=Põhikomponentide paigaldamine ja nende seadistamine.= | =Põhikomponentide paigaldamine ja nende seadistamine.= | ||
Line 31: | Line 32: | ||
'''Install''' | '''Install''' | ||
Fedora: | Fedora: | ||
yum install dhcp | |||
Ubuntu: https://wiki.itcollege.ee/index.php/Apt | Ubuntu server: https://wiki.itcollege.ee/index.php/Apt | ||
apt-get install dhcp3-server | |||
'''Seadistamine''' | '''Seadistamine''' | ||
Seadistame DHCP serveri võrgus 192.168.100.0/24 (255.255.255.0) jagama IP aadresse 192.168.100.100 kuni 192.168.100.110. | Seadistame DHCP serveri võrgus 192.168.100.0/24 (255.255.255.0) jagama IP aadresse 192.168.100.100 kuni 192.168.100.110. | ||
Fedora: | Fedora: | ||
nano /etc/dhcp/dhcpd.conf | nano /etc/dhcp/dhcpd.conf | ||
Ubuntu: | Ubuntu server: | ||
nano /etc/dhcp3/dhcpd.conf | nano /etc/dhcp3/dhcpd.conf | ||
dhcpd.conf | |||
<pre> | |||
allow booting; | allow booting; | ||
allow bootp; | allow bootp; | ||
subnet 192.168.100.0 netmask 255.255.255.0 { | subnet 192.168.100.0 netmask 255.255.255.0 { | ||
# IP aadressite piirkond mida server jagab The range of IP addresses the server | # IP aadressite piirkond mida server jagab The range of IP addresses the server | ||
Line 79: | Line 84: | ||
filename "pxelinux.0"; # see on parameeter kus nimetame et millist NBP-d kasutatakse | filename "pxelinux.0"; # see on parameeter kus nimetame et millist NBP-d kasutatakse | ||
option bootfile-name "pxelinux.0"; | option bootfile-name "pxelinux.0"; | ||
} | } | ||
# subneti l6pp | # subneti l6pp | ||
</pre> | |||
Lisa DHCP options-ite saab lugeda manualist. | Lisa DHCP options-ite kohta saab lugeda manualist. | ||
man dhcp-options | |||
Line 90: | Line 96: | ||
Fedoral on vaikimisi ip tables seadistatud | Fedoral on vaikimisi ip tables seadistatud | ||
Liikluse lubamine: | Liikluse lubamine: | ||
(vaja teha) | |||
==TFTP== | ==TFTP== | ||
Line 96: | Line 102: | ||
'''Paigaldamine''' | '''Paigaldamine''' | ||
yum install tftp-server | Fedora: | ||
yum install tftp-server | |||
apt-get install tftpd-hpa | Ubuntu server: | ||
apt-get install tftpd-hpa | |||
'''Seadistamine''' | '''Seadistamine''' | ||
Line 107: | Line 114: | ||
Fedora | Fedora | ||
Et tftpd server käima läheks, on vaja xinetd teenuses lubada omakorda tftp teenus. Selleks aga tuleb xinet.d confi failis asendada disabled=yes, disabled=no. | Et tftpd server käima läheks, on vaja xinetd teenuses lubada omakorda tftp teenus. Selleks aga tuleb xinet.d confi failis asendada disabled=yes, disabled=no. | ||
nano /etc/xinetd.d/tftpd | nano /etc/xinetd.d/tftpd | ||
service tftp | |||
{ | tftpd | ||
<pre> | |||
service tftp | |||
{ | |||
socket_type = dgram | socket_type = dgram | ||
protocol = udp | protocol = udp | ||
Line 120: | Line 130: | ||
cps = 100 2 | cps = 100 2 | ||
flags = IPv4 | flags = IPv4 | ||
} | }</pre> | ||
Restardime xinetd teenuse. | Restardime xinetd teenuse. | ||
service xinetd restart | service xinetd restart | ||
Ubuntu | Ubuntu | ||
Vaatame korra vaikekonfiguratsiooni, sealt näeme millisest kaustast annab tftp boot failid (vaikeseadistuse peask olema auskoht /var/lib/tftpboot) | Vaatame korra vaikekonfiguratsiooni, sealt näeme millisest kaustast annab tftp boot failid (vaikeseadistuse peask olema auskoht /var/lib/tftpboot) | ||
cat | cat /etc/default/tftpd-hpa | ||
Kontrollime kas teenus juba ei käi. | Kontrollime kas teenus juba ei käi. | ||
status tftpd-hpa | status tftpd-hpa | ||
Kui teenus ei käi käivitame tftp-hpa teenuse. | Kui teenus ei käi käivitame tftp-hpa teenuse. | ||
service tftpd-hpa start | service tftpd-hpa start | ||
=PXE “paigaldamine”= | =PXE “paigaldamine”= | ||
Line 139: | Line 149: | ||
Laeme syslinuxi tmp kausta. | Laeme syslinuxi tmp kausta. | ||
cd tmp | cd tmp | ||
wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.03.tar.bz2 | wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.03.tar.bz2 | ||
Kui wget peaks systeemist puuduma, | Kui wget peaks systeemist puuduma, saab selle paigaldada järgmiselt. | ||
Ubuntu: | Ubuntu: | ||
apt-get install wget | apt-get install wget | ||
Fedora: | Fedora: | ||
yum install wget | yum install wget | ||
Pakime allalaetud faili lahti: | Pakime allalaetud faili lahti: | ||
tar -jxvf syslinux-4.03.tar.bz2 | tar -jxvf syslinux-4.03.tar.bz2 | ||
Ning kopeerimie pxelinux.0 faili /var/lib/tftpboot kausta: | Ning kopeerimie pxelinux.0 faili /var/lib/tftpboot kausta: | ||
cp ./syslinux-4.03/core/pxelinux.0 /var/lib/tftpboot/ | cp ./syslinux-4.03/core/pxelinux.0 /var/lib/tftpboot/ | ||
Nüüdseks oleme saanud suure põhitüki paika. Järgmisena loome vajaliku seade failide kausta, ja teeme menüüd, ning paneme erinevate linux-i pakkide bootimiseks vajalikud komponendid paika. | Nüüdseks oleme saanud suure põhitüki paika. Järgmisena loome vajaliku seade failide kausta, ja teeme menüüd, ning paneme erinevate linux-i pakkide bootimiseks vajalikud komponendid paika. | ||
Tekitame kausta /var/lib/tftpboot omakorda alamkausta pxelinux.cfg, mis hakab hoidma meil konfiguratsooni faile. | Tekitame kausta /var/lib/tftpboot omakorda alamkausta pxelinux.cfg, mis hakab hoidma meil konfiguratsooni faile. | ||
mkdir /var/lib/tftpboot/pxelinux.cfg | mkdir /var/lib/tftpboot/pxelinux.cfg | ||
PXELINUX (pxelinux.0) otsib pxelinux.cfg kaustast järgmiselt conf faile. | PXELINUX (pxelinux.0) otsib pxelinux.cfg kaustast järgmiselt conf faile. | ||
* ARP tüübi ja oma mac aadressijärgi n2it. (ARP type 1) aadressiga 88:99:AA:BB:CC:DD otsib faili nimega 01-88-99-aa-bb-cc-dd. | |||
* oma IP hex koodi järgi näit. 192.0.2.91 -> C000025B | |||
Ja lõpuks otsib default faili. (mis kehtib siis k2igile) | * Ja lõpuks otsib default faili. (mis kehtib siis k2igile) | ||
Meie kasutame selles juhendis default faili mida otsitakse kõige viimasena | |||
Selline otsimine võimaldab erinevale riistvarale erinevaid seadistusi jagada. | Meie kasutame selles juhendis default faili mida otsitakse kõige viimasena. Selline otsimine võimaldab erinevale riistvarale erinevaid seadistusi jagada. | ||
Kopeerime eelnevalt allalaetud ja lahtipakitud syslinuxi kaustast menüü käivituseks vajaliku faili ning seadistame esmase menüü. | Kopeerime eelnevalt allalaetud ja lahtipakitud syslinuxi kaustast menüü käivituseks vajaliku faili ning seadistame esmase menüü. | ||
cp /syslinux-4.03/com32/menu/menu.c32 ./ | cp /syslinux-4.03/com32/menu/menu.c32 ./ | ||
Seadistamine Ubuntu serveri ja Fedora 14 core installikad menüüs. Selleks loome endajaoks arusaadav kataloogistruktuuri tftp kausta alla. | Seadistamine Ubuntu serveri ja Fedora 14 core installikad menüüs. Selleks loome endajaoks arusaadav kataloogistruktuuri tftp kausta alla. | ||
<pre> | |||
/tftpboot/menu/ <-- eelkõige menyy komponentide hoidmise jaoks | /tftpboot/menu/ <-- eelkõige menyy komponentide hoidmise jaoks | ||
/tftpboot/ubuntu/ | /tftpboot/ubuntu/ | ||
Line 175: | Line 188: | ||
/tftpboot/fedora/14/64 | /tftpboot/fedora/14/64 | ||
/tftpboot/fedora/14/x86 | /tftpboot/fedora/14/x86 | ||
</pre> | |||
Kopeerime ISOdest PXE jaoks vmlinuz ja initrd.img failid vastavatesse kaustadesse. | Kopeerime ISOdest PXE jaoks vmlinuz ja initrd.img failid vastavatesse kaustadesse. | ||
T2HELEPANEK: Peab kasutama nende distro (paketide) versiooni vmlinuz ja initrd.img faile mida on plaanis juurutama hakata. | |||
'''T2HELEPANEK:''' Peab kasutama nende distro (paketide) versiooni vmlinuz ja initrd.img faile mida on plaanis juurutama hakata. | |||
Alustame Ubuntu Serveri failide kopeerimisega. Kõigepealt ühendame (moundime) allalaetud iso järgmise käsuga: | Alustame Ubuntu Serveri failide kopeerimisega. Kõigepealt ühendame (moundime) allalaetud iso järgmise käsuga: | ||
ISO mountimine | ISO mountimine | ||
mount -o loop disk1.iso /mnt/ISO | |||
disk1.iso on allalaetud faili nimi. | disk1.iso on allalaetud faili nimi. | ||
kopeerime vajalikud failid eelnevalt valmistatud kaustadesse. | kopeerime vajalikud failid eelnevalt valmistatud kaustadesse. | ||
cp install/netboot/ubuntu-installer/amd64/* /var/lib/tftpboot/ubuntu/server/10_10/64/ | cp install/netboot/ubuntu-installer/amd64/* /var/lib/tftpboot/ubuntu/server/10_10/64/ | ||
Nyyd kopeerime Feodra Image ja vmlinuzi failid sarnaselt Ubuntu omadega. | Nyyd kopeerime Feodra Image ja vmlinuzi failid sarnaselt Ubuntu omadega. | ||
Line 190: | Line 208: | ||
Loome conf faili ilusa menyy milles on lihtne navigeerida struktuur mille loome menüüdega on järgmine: | Loome conf faili ilusa menyy milles on lihtne navigeerida struktuur mille loome menüüdega on järgmine: | ||
<pre> | |||
Ubuntu | Ubuntu | ||
-- Server | -- Server | ||
Line 195: | Line 214: | ||
Fedora | Fedora | ||
--Fedora Core 14 | --Fedora Core 14 | ||
</pre> | |||
Menüüle on võimalik määrata ka välimus. | Menüüle on võimalik määrata ka välimus. | ||
Seadistame välimuse | Seadistame välimuse | ||
nano menu/graphics.conf | nano menu/graphics.conf | ||
menu color tabmsg 37;40 #80ffffff #00000000 | graphics.conf | ||
menu color hotsel 30;47 #40000000 #20ffffff | <pre> | ||
menu color sel 30;47 #40000000 #20ffffff | menu color tabmsg 37;40 #80ffffff #00000000 | ||
menu color scrollbar 30;47 #40000000 #20ffffff | menu color hotsel 30;47 #40000000 #20ffffff | ||
MENU MASTER PASSWD jalgratas | menu color sel 30;47 #40000000 #20ffffff | ||
MENU PASSWORDMARGIN 26 | menu color scrollbar 30;47 #40000000 #20ffffff | ||
MENU ROWS 6 | MENU MASTER PASSWD jalgratas | ||
MENU TABMSGROW 15 | MENU PASSWORDMARGIN 26 | ||
MENU CMDLINEROW 15 | MENU ROWS 6 | ||
MENU ENDROW 24 | MENU TABMSGROW 15 | ||
MENU PASSWORDROW 12 | MENU CMDLINEROW 15 | ||
MENU TIMEOUTROW 13 | MENU ENDROW 24 | ||
MENU VSHIFT 6 | MENU PASSWORDROW 12 | ||
MENU PASSPROMPT Sisesta parool: | MENU TIMEOUTROW 13 | ||
NOESCAPE 1 | MENU VSHIFT 6 | ||
ALLOWOPTIONS 0 | MENU PASSPROMPT Sisesta parool: | ||
NOESCAPE 1 | |||
ALLOWOPTIONS 0 | |||
</pre> | |||
1. Kõigepealt seadistame ära peamenyy, mis asub pxelinux.cfg/defaut failis. | 1. Kõigepealt seadistame ära peamenyy, mis asub pxelinux.cfg/defaut failis.[[File:pxe_mainmenu.png]] | ||
nano ./pxelinux.cf/default | nano ./pxelinux.cf/default | ||
default menu.c32 | default | ||
prompt 0 | <pre> | ||
default menu.c32 | |||
prompt 0 | |||
menu title PXE menyy | menu title PXE menyy | ||
menu INCLUDE menu/graphics.conf | menu INCLUDE menu/graphics.conf | ||
MENU AUTOBOOT K2ivitame systeemi lokaalselt kettalt # sekundi p2rast | MENU AUTOBOOT K2ivitame systeemi lokaalselt kettalt # sekundi p2rast | ||
label bootlocal | label bootlocal | ||
menu label ^K2ivita Kettalt | menu label ^K2ivita Kettalt | ||
menu default | menu default | ||
localboot 0 | localboot 0 | ||
timeout 80 | timeout 80 | ||
TOTALTIMEOUT 9000 | TOTALTIMEOUT 9000 | ||
LABEL Ubuntu | LABEL Ubuntu | ||
MENU LABEL ^Ubuntu | MENU LABEL ^Ubuntu | ||
KERNEL menu.c32 | KERNEL menu.c32 | ||
APPEND menu/graphics.conf menu/ubuntu.menu | APPEND menu/graphics.conf menu/ubuntu.menu | ||
LABEL Fedora | LABEL Fedora | ||
MENU LABEL ^Fedora | |||
KERNEL menu.c32 | |||
APPEND menu/graphics.conf menu/fedora.menu | |||
</pre> | |||
2. Loome alamenüüd Fedorale ja Ubuntule failidesse fedora.menu ja ubuntu.menu | 2. Loome alamenüüd Fedorale ja Ubuntule failidesse fedora.menu ja ubuntu.menu | ||
nano ./menu/ubuntu.menu | |||
MENU TITLE Ubuntu | Ubuntule | ||
nano ./menu/ubuntu.menu | |||
ubuntu.menu | |||
<pre> | |||
MENU TITLE Ubuntu | |||
LABEL Tagasi | |||
MENU LABEL <-- ^Tagasi | |||
KERNEL menu.c32 | |||
APPEND pxelinux.cfg/default | |||
LABEL Ubuntu Server | |||
MENU LABEL ^Ubuntu Server | |||
KERNEL menu.c32 | |||
APPEND menu/graphics.conf menu/ubuntu_server.menu | |||
</pre> | |||
Fedorale | Fedorale | ||
nano ./menu/fedora.menu | nano ./menu/fedora.menu | ||
fedora.menu | |||
<pre> | |||
MENU TITLE Fedora | MENU TITLE Fedora | ||
LABEL Tagasi | LABEL Tagasi | ||
Line 265: | Line 298: | ||
KERNEL menu.c32 | KERNEL menu.c32 | ||
APPEND menu/graphics.conf menu/fedora_14.menu | APPEND menu/graphics.conf menu/fedora_14.menu | ||
</pre> | |||
3. Nendele omakorda veel alammenüüd (kuna Ubuntul on olemas nii Server kui Desktop siis ubuntul saab olema omakorda veel versiooni alammenüü erinevalt fedorast) | 3. Nendele omakorda veel alammenüüd (kuna Ubuntul on olemas nii Server kui Desktop siis ubuntul saab olema omakorda veel versiooni alammenüü erinevalt fedorast) | ||
nano menu/ubuntu_server.menu | nano menu/ubuntu_server.menu | ||
ubuntu_server.menu | |||
<pre> | |||
MENU TITLE Ubuntu Server | MENU TITLE Ubuntu Server | ||
LABEL Tagasi | LABEL Tagasi | ||
Line 277: | Line 313: | ||
KERNEL menu.c32 | KERNEL menu.c32 | ||
APPEND menu/graphics.conf menu/ubuntu_server_10_10.menu | APPEND menu/graphics.conf menu/ubuntu_server_10_10.menu | ||
</pre> | |||
nano menu/ | |||
MENU TITLE Fedora 14 | nano menu/fedora_14.menu | ||
fedora_14.menu | |||
<pre> | |||
MENU TITLE Fedora 14 | |||
LABEL Tagasi | |||
LABEL Fedora Core 14 64bit | MENU LABEL <-- ^Tagasi | ||
KERNEL menu.c32 | |||
APPEND menu/fedora.menu | |||
LABEL Fedora Core 14 64bit | |||
MENU LABEL ^Fedora Core 14 64bit | |||
KERNEL fedora/14/64/vmlinuz | |||
APPEND initrd=fedora/14/64/initrd.img | |||
</pre> | |||
4. Viimaseks Ubuntu erinevate vesrioonide osa | 4. Viimaseks Ubuntu erinevate vesrioonide osa | ||
MENU TITLE Ubuntu Server 10.10 Install | nano ubuntu_server_10_10.menu | ||
ubuntu_server_10_10.menu | |||
<pre> | |||
MENU TITLE Ubuntu Server 10.10 Install | |||
LABEL Tagasi | |||
MENU LABEL <-- ^Tagasi | |||
KERNEL menu.c32 | |||
APPEND menu/ubuntu_server.menu | |||
LABEL Ubuntu Server 10.10 64bit | LABEL Ubuntu Server 10.10 64bit | ||
MENU label ^Ubuntu Server 10.10 64bit | MENU label ^Ubuntu Server 10.10 64bit | ||
KERNEL ubuntu/server/10_10/64/linux | KERNEL ubuntu/server/10_10/64/linux | ||
APPEND vga=788 initrd=ubuntu/server/10_10/64/initrd.gz -- | APPEND vga=788 initrd=ubuntu/server/10_10/64/initrd.gz -- | ||
LABEL Ubuntu Server 10.10 64bit cli | LABEL Ubuntu Server 10.10 64bit cli | ||
MENU label ^Ubuntu Server 10.10 64bit cli | MENU label ^Ubuntu Server 10.10 64bit cli | ||
KERNEL ubuntu/server/10_10/64/linux | KERNEL ubuntu/server/10_10/64/linux | ||
APPEND tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu/server/10_10/64/initrd.gz | APPEND tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu/server/10_10/64/initrd.gz | ||
LABEL Ubuntu Server 10.10 64 EXPERT | LABEL Ubuntu Server 10.10 64 EXPERT | ||
MENU LABEL ^Ubuntu Server 10.10 64bit EXPERT | MENU LABEL ^Ubuntu Server 10.10 64bit EXPERT | ||
KERNEL ubuntu/server/10_10/64/linux | KERNEL ubuntu/server/10_10/64/linux | ||
APPEND priority=low vga=788 initrd=ubuntu/server/10_10/64/initrd.gz -- | APPEND priority=low vga=788 initrd=ubuntu/server/10_10/64/initrd.gz -- | ||
LABEL Ubuntu Server 10.10 64 cli EXPERT | LABEL Ubuntu Server 10.10 64 cli EXPERT | ||
MENU LABEL ^Ubuntu Server 10.10 64bit cli EXPERT | MENU LABEL ^Ubuntu Server 10.10 64bit cli EXPERT | ||
KERNEL ubuntu/server/10_10/64/linux | KERNEL ubuntu/server/10_10/64/linux | ||
APPEND tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=788 initrd=ubuntu/server/10_10/64/initrd.gz -- | APPEND tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=788 initrd=ubuntu/server/10_10/64/initrd.gz -- | ||
LABEL Ubuntu Server 10.10 x86 | LABEL Ubuntu Server 10.10 x86 | ||
MENU LABEL ^Ubuntu Server 10.10 32bit (suunab tagasi) | MENU LABEL ^Ubuntu Server 10.10 32bit (suunab tagasi) | ||
KERNEL menu.c32 | KERNEL menu.c32 | ||
APPEND menu/graphics.conf menu/ubuntu_server.menu | APPEND menu/graphics.conf menu/ubuntu_server.menu | ||
</pre> | |||
Valmis, käivitamisel (bootimisel) peaks tulema ilus ja arusaadavate valikutega menüü kuskohast on siis võimalik lihtsalt sobiv valik teha. | Valmis, käivitamisel (bootimisel) peaks tulema ilus ja arusaadavate valikutega menüü kuskohast on siis võimalik lihtsalt sobiv valik teha. |
Revision as of 21:53, 14 March 2011
Ver 0.8 (Tegemisel)
Sissejuhatus
Selles juhendis seadistame (paneme ülesse) PXE serveri koos vajalike komponentidega mis võimaldab meil kiiresti ilma bootivat füüsilist meediat omamata, linuxit üle võrgu paigaldada. Eesmärk on luua menüüga PXE kus oleks võimalik bootida erinevaid linuxi ditributsioonide installatsioone. Loomulikult siit edasi minna võib panna bootima veel, thinmanageri (terminali softi) kõvakettata lauaarvutis, memtest või VmWare “Hyperviisori”
Toon näiteid teenuse ülesseseadmiseks paraleelselt nii Fedora Core 14-s kui ka Ubuntu Server 10.10-s.
PXE-st
PXE ehk Pre-Execution Environment, on keskkond arvutite ülesslaadmiseks (bootimiseks) kasutades võrgukaarti. PXE on välja töötatud Inteli poolt ning tema spetsifikatsioon veriooniga 2.1 on avaldatud Inteli ja Systemsoft poolt 20 septembril 1999 (andmed 2011 märts) Asub aaderssil: http://www.intel.com/design/archives/wfm/downloads/pxespec.htm
Kuidas toimib?
Arvuti käivitamise algfaasis küsib võrgukaart DHCP ga omale Ip aadressi ning informatsiooni sellekohta (DHCP parameeter) millisel IP-l PXE käivitusserver asub. Peale vastuse saamist küsitakse serverilt network bootstrap program (NBP) faili asukoht, mis laetakse arvuti muut mällu (RAM) kasutatdes TFTP-d, ning lõpuks käivitatakse. (WIKI)
Vajalikud komponendid.
Toimimise alt on näha, et asja käitamiseks on kindlasti vaja järgmiseit kahte põhiteenust: DHCP ja TFTP - Trivial File Transfer Protocol Network bootstrap programmi: PXELINUX - Linuxi algkäivitamiseks võrguserverist kasutades võrgukaatri mis vastab Intel PXE standardile Hilisemaks installimiseks (ei ole selle hetkel juhendi osa): NFS, FTP, HTTP
Tähelepanek:
Selleks et oleks võimalik kasutada kpeerimist ja pasteerimist näidetest tuleb Serveri installi käigus anda masinale staatiline IP aadress 192.168.100.2 võrgust 192.168.100.0/24,
Põhikomponentide paigaldamine ja nende seadistamine.
DHCP
Kõige aluseks on meil automaatne IP-aadressite ja vajalike parameetrite andmine PXE seadmele, mida annb meil DHCP server. Täpsem juhis wikis DHCP kohta asub aadressil (https://wiki.itcollege.ee/index.php/DHCP)
Install
Fedora:
yum install dhcp
Ubuntu server: https://wiki.itcollege.ee/index.php/Apt
apt-get install dhcp3-server
Seadistamine
Seadistame DHCP serveri võrgus 192.168.100.0/24 (255.255.255.0) jagama IP aadresse 192.168.100.100 kuni 192.168.100.110. Fedora:
nano /etc/dhcp/dhcpd.conf
Ubuntu server:
nano /etc/dhcp3/dhcpd.conf
dhcpd.conf
allow booting; allow bootp; subnet 192.168.100.0 netmask 255.255.255.0 { # IP aadressite piirkond mida server jagab The range of IP addresses the server # DHCP klientidele k2ivitusel range 192.168.100.100 192.168.100.110; # M22rame aja kui kaua klient oma IP aadressi v6ib hoida default-lease-time 86400; max-lease-time 86400; # Vaikelyys (gateway) option routers 192.168.100.1; # Don't forward DHCP requests from this # NIC interface to any other NIC interfaces option ip-forwarding off; # broadcast address ja subnet mask option broadcast-address 192.168.100.255; option subnet-mask 255.255.255.0; # Set the NTP ajaserver DHCP klientidele # option ntp-servers 192.168.100.1; # Set the DNS server to be used by the DHCP clients option domain-name-servers 192.168.100.1; # PXE-seadistuse osa # serveri ip kus jookseb TFTP ehk on meie PXE server next-server 192.168.100.2; filename "pxelinux.0"; # see on parameeter kus nimetame et millist NBP-d kasutatakse option bootfile-name "pxelinux.0"; } # subneti l6pp
Lisa DHCP options-ite kohta saab lugeda manualist.
man dhcp-options
Et asjad toimiksid, on vaja lubada tulemüüril teatud võrguliiklus.
Ehk on vaja iptablesisse teha vajalikud augud või lihtsam kuid samas ebaturvalisem variant on iptables valja lülitada.
Fedoral on vaikimisi ip tables seadistatud
Liikluse lubamine:
(vaja teha)
TFTP
Selleks, et võrgukaart saaks kätte pxelinux.0 (NBP programmi) ja seadistuse on meil vaja paigaldada ja seadistada TFTP teenus. Selleks kasutame H. Peter Anvin tftp (tftpd-hpa) tarkvara.
Paigaldamine
Fedora:
yum install tftp-server
Ubuntu server:
apt-get install tftpd-hpa
Seadistamine Kõigepealt tuleks alustada kausta tegemisega kus hakatakse pxe jaoks vajalike boot faile ja NBP-d hoidma. (fedora installis tehakse vastav kaust juba tftpd installil ajal asukohaga /var/lib/tftpboot ära) näiteks: (asukoha võib vabalt valida samas tuleb seda tähele panna kui hakkate tftpd seadistama)
Fedora Et tftpd server käima läheks, on vaja xinetd teenuses lubada omakorda tftp teenus. Selleks aga tuleb xinet.d confi failis asendada disabled=yes, disabled=no.
nano /etc/xinetd.d/tftpd
tftpd
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = yes <---- muuda no per_source = 11 cps = 100 2 flags = IPv4 }
Restardime xinetd teenuse.
service xinetd restart
Ubuntu Vaatame korra vaikekonfiguratsiooni, sealt näeme millisest kaustast annab tftp boot failid (vaikeseadistuse peask olema auskoht /var/lib/tftpboot)
cat /etc/default/tftpd-hpa
Kontrollime kas teenus juba ei käi.
status tftpd-hpa
Kui teenus ei käi käivitame tftp-hpa teenuse.
service tftpd-hpa start
PXE “paigaldamine”
Eelnevalt oleks mõistlik tutvuda probleemse riistavaraga, millega võib tekkida pxelinuxil probleeme. http://syslinux.zytor.com/wiki/index.php/Hardware_Compatibility
1. Esmalt tuleb paigaldada tftpd confis määratud kausta pxelinux.0 ehk NBP programmi fail, mille saame laadida kernel.org-ist: http://www.kernel.org/pub/linux/utils/boot/syslinux/
Laeme syslinuxi tmp kausta.
cd tmp wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.03.tar.bz2
Kui wget peaks systeemist puuduma, saab selle paigaldada järgmiselt.
Ubuntu:
apt-get install wget
Fedora:
yum install wget
Pakime allalaetud faili lahti:
tar -jxvf syslinux-4.03.tar.bz2
Ning kopeerimie pxelinux.0 faili /var/lib/tftpboot kausta:
cp ./syslinux-4.03/core/pxelinux.0 /var/lib/tftpboot/
Nüüdseks oleme saanud suure põhitüki paika. Järgmisena loome vajaliku seade failide kausta, ja teeme menüüd, ning paneme erinevate linux-i pakkide bootimiseks vajalikud komponendid paika.
Tekitame kausta /var/lib/tftpboot omakorda alamkausta pxelinux.cfg, mis hakab hoidma meil konfiguratsooni faile.
mkdir /var/lib/tftpboot/pxelinux.cfg
PXELINUX (pxelinux.0) otsib pxelinux.cfg kaustast järgmiselt conf faile.
- ARP tüübi ja oma mac aadressijärgi n2it. (ARP type 1) aadressiga 88:99:AA:BB:CC:DD otsib faili nimega 01-88-99-aa-bb-cc-dd.
- oma IP hex koodi järgi näit. 192.0.2.91 -> C000025B
- Ja lõpuks otsib default faili. (mis kehtib siis k2igile)
Meie kasutame selles juhendis default faili mida otsitakse kõige viimasena. Selline otsimine võimaldab erinevale riistvarale erinevaid seadistusi jagada.
Kopeerime eelnevalt allalaetud ja lahtipakitud syslinuxi kaustast menüü käivituseks vajaliku faili ning seadistame esmase menüü.
cp /syslinux-4.03/com32/menu/menu.c32 ./
Seadistamine Ubuntu serveri ja Fedora 14 core installikad menüüs. Selleks loome endajaoks arusaadav kataloogistruktuuri tftp kausta alla.
/tftpboot/menu/ <-- eelkõige menyy komponentide hoidmise jaoks /tftpboot/ubuntu/ /tftpboot/ubuntu/server/10_10/64 /tftpboot/ubuntu/server/10_10/x86 /tftpboot/fedora/ /tftpboot/fedora/14/64 /tftpboot/fedora/14/x86
Kopeerime ISOdest PXE jaoks vmlinuz ja initrd.img failid vastavatesse kaustadesse.
T2HELEPANEK: Peab kasutama nende distro (paketide) versiooni vmlinuz ja initrd.img faile mida on plaanis juurutama hakata.
Alustame Ubuntu Serveri failide kopeerimisega. Kõigepealt ühendame (moundime) allalaetud iso järgmise käsuga:
ISO mountimine
mount -o loop disk1.iso /mnt/ISO
disk1.iso on allalaetud faili nimi. kopeerime vajalikud failid eelnevalt valmistatud kaustadesse.
cp install/netboot/ubuntu-installer/amd64/* /var/lib/tftpboot/ubuntu/server/10_10/64/
Nyyd kopeerime Feodra Image ja vmlinuzi failid sarnaselt Ubuntu omadega.
Järgmisena seadistame menüü sarnase struktuuriga nagu seda on kaustade struktuur.
Loome conf faili ilusa menyy milles on lihtne navigeerida struktuur mille loome menüüdega on järgmine:
Ubuntu -- Server ---- 10.10 Fedora --Fedora Core 14
Menüüle on võimalik määrata ka välimus. Seadistame välimuse
nano menu/graphics.conf
graphics.conf
menu color tabmsg 37;40 #80ffffff #00000000 menu color hotsel 30;47 #40000000 #20ffffff menu color sel 30;47 #40000000 #20ffffff menu color scrollbar 30;47 #40000000 #20ffffff MENU MASTER PASSWD jalgratas MENU PASSWORDMARGIN 26 MENU ROWS 6 MENU TABMSGROW 15 MENU CMDLINEROW 15 MENU ENDROW 24 MENU PASSWORDROW 12 MENU TIMEOUTROW 13 MENU VSHIFT 6 MENU PASSPROMPT Sisesta parool: NOESCAPE 1 ALLOWOPTIONS 0
1. Kõigepealt seadistame ära peamenyy, mis asub pxelinux.cfg/defaut failis.
nano ./pxelinux.cf/default
default
default menu.c32 prompt 0 menu title PXE menyy menu INCLUDE menu/graphics.conf MENU AUTOBOOT K2ivitame systeemi lokaalselt kettalt # sekundi p2rast label bootlocal menu label ^K2ivita Kettalt menu default localboot 0 timeout 80 TOTALTIMEOUT 9000 LABEL Ubuntu MENU LABEL ^Ubuntu KERNEL menu.c32 APPEND menu/graphics.conf menu/ubuntu.menu LABEL Fedora MENU LABEL ^Fedora KERNEL menu.c32 APPEND menu/graphics.conf menu/fedora.menu
2. Loome alamenüüd Fedorale ja Ubuntule failidesse fedora.menu ja ubuntu.menu
Ubuntule
nano ./menu/ubuntu.menu
ubuntu.menu
MENU TITLE Ubuntu LABEL Tagasi MENU LABEL <-- ^Tagasi KERNEL menu.c32 APPEND pxelinux.cfg/default LABEL Ubuntu Server MENU LABEL ^Ubuntu Server KERNEL menu.c32 APPEND menu/graphics.conf menu/ubuntu_server.menu
Fedorale
nano ./menu/fedora.menu
fedora.menu
MENU TITLE Fedora LABEL Tagasi MENU LABEL <-- ^Tagasi KERNEL menu.c32 APPEND pxelinux.cfg/default LABEL Ubuntu Core 14 MENU LABEL ^Fedora Core 14 KERNEL menu.c32 APPEND menu/graphics.conf menu/fedora_14.menu
3. Nendele omakorda veel alammenüüd (kuna Ubuntul on olemas nii Server kui Desktop siis ubuntul saab olema omakorda veel versiooni alammenüü erinevalt fedorast)
nano menu/ubuntu_server.menu
ubuntu_server.menu
MENU TITLE Ubuntu Server LABEL Tagasi MENU LABEL <-- ^Tagasi KERNEL menu.c32 APPEND menu/ubuntu.menu LABEL Ubuntu Server 10.10 MENU LABEL ^Ubuntu Server 10.10 KERNEL menu.c32 APPEND menu/graphics.conf menu/ubuntu_server_10_10.menu
nano menu/fedora_14.menu
fedora_14.menu
MENU TITLE Fedora 14 LABEL Tagasi MENU LABEL <-- ^Tagasi KERNEL menu.c32 APPEND menu/fedora.menu LABEL Fedora Core 14 64bit MENU LABEL ^Fedora Core 14 64bit KERNEL fedora/14/64/vmlinuz APPEND initrd=fedora/14/64/initrd.img
4. Viimaseks Ubuntu erinevate vesrioonide osa
nano ubuntu_server_10_10.menu
ubuntu_server_10_10.menu
MENU TITLE Ubuntu Server 10.10 Install LABEL Tagasi MENU LABEL <-- ^Tagasi KERNEL menu.c32 APPEND menu/ubuntu_server.menu LABEL Ubuntu Server 10.10 64bit MENU label ^Ubuntu Server 10.10 64bit KERNEL ubuntu/server/10_10/64/linux APPEND vga=788 initrd=ubuntu/server/10_10/64/initrd.gz -- LABEL Ubuntu Server 10.10 64bit cli MENU label ^Ubuntu Server 10.10 64bit cli KERNEL ubuntu/server/10_10/64/linux APPEND tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu/server/10_10/64/initrd.gz LABEL Ubuntu Server 10.10 64 EXPERT MENU LABEL ^Ubuntu Server 10.10 64bit EXPERT KERNEL ubuntu/server/10_10/64/linux APPEND priority=low vga=788 initrd=ubuntu/server/10_10/64/initrd.gz -- LABEL Ubuntu Server 10.10 64 cli EXPERT MENU LABEL ^Ubuntu Server 10.10 64bit cli EXPERT KERNEL ubuntu/server/10_10/64/linux APPEND tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=788 initrd=ubuntu/server/10_10/64/initrd.gz -- LABEL Ubuntu Server 10.10 x86 MENU LABEL ^Ubuntu Server 10.10 32bit (suunab tagasi) KERNEL menu.c32 APPEND menu/graphics.conf menu/ubuntu_server.menu
Valmis, käivitamisel (bootimisel) peaks tulema ilus ja arusaadavate valikutega menüü kuskohast on siis võimalik lihtsalt sobiv valik teha.
Autor
Karel Niine AK22