PXE boot: Difference between revisions

From ICO wiki
Jump to navigationJump to search
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 toimimiseks on kindlasti vaja järgmiseit kahte põhiteenust:
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 copy\paste näidetest tuleb Serveri installi käigus anda masinale staatiline IP aadressi võrgus 192.168.100.0/24, väljavalituks osutus aadress 192.168.100.2''
 
''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
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
  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


### 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.
[root@bigboy tmp]# man dhcp-options
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'''
Fedoras:
 
yum install tftp-server
Fedora:
Paigaldamine Ubuntu Server:
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 /etc/default/tftpd-hpa
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, siis saab paigaldada järgmiselt.
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.
* 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
* 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: mount -o loop disk1.iso /mnt/ISO
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
  MENU LABEL ^Fedora
KERNEL menu.c32
  KERNEL menu.c32
APPEND menu/graphics.conf menu/fedora.menu
  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
LABEL Tagasi
nano ./menu/ubuntu.menu
  MENU LABEL <-- ^Tagasi
ubuntu.menu
  KERNEL menu.c32
<pre>
  APPEND pxelinux.cfg/default
MENU TITLE Ubuntu
LABEL Ubuntu Server
  LABEL Tagasi
  MENU LABEL ^Ubuntu Server
    MENU LABEL <-- ^Tagasi
  KERNEL menu.c32
    KERNEL menu.c32
  APPEND menu/graphics.conf menu/ubuntu_server.menu
    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/ubuntu_server.menu
 
MENU TITLE Fedora 14
  nano menu/fedora_14.menu
LABEL Tagasi
fedora_14.menu  
  MENU LABEL <-- ^Tagasi
<pre>
  KERNEL menu.c32
MENU TITLE Fedora 14
  APPEND menu/fedora.menu
  LABEL Tagasi
LABEL Fedora Core 14 64bit
    MENU LABEL <-- ^Tagasi
  MENU LABEL ^Fedora Core 14 64bit
    KERNEL menu.c32
  KERNEL fedora/14/64/vmlinuz
    APPEND menu/fedora.menu
  APPEND initrd=fedora/14/64/initrd.img
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
LABEL Tagasi   
ubuntu_server_10_10.menu
  MENU LABEL <-- ^Tagasi
<pre>
  KERNEL menu.c32
MENU TITLE Ubuntu Server 10.10 Install
  APPEND menu/ubuntu_server.menu
  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 22: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