PXE boot, PXElinux, DHCP

Fórumok

Sziasztok!

Szeretnék beállítani egy hálózati boot megoldást Debian Lenny alá.

Amit eddig csináltam:
- Debian alá feltettem a tftp-hpa csomagot.
- Feltettem a syslinux csomagot
- Belinkeltem a pxelinux.0 filet a /var/lib/tftpboot könyvtárba
- Létrehoztam egy pxelinux.cfg filet és bemásoltam egy kernelt neki, de ez még nem érdekes

Szeretnék bootolni róla, de dhcp-t a routerem biztosít (nem szeretném áttenni a másik gépre), ami egy Asus Wl-500gx, amin egy busybox fut.
Találtam egy leírást itt, hogy hogyan kell hálózati bootot beállítani a routeren magán.

Ez alapján a routeren a dnsmasq.conf fileba beírtam a következőket (nem tudom, helyesen-e):
dhcp-boot=pxelinux.0,szerver hostneve,szerver ip-je

Eredmény: a hálózati bootra előirányzott gép kap egy IP-címet, kiírja a DHCP ill. gateway IP-jét (ami ugyanaz) ill. a kapott hálózati maszkot.

Ezután:
TFTP.
PXE-T01: File not found
PXE-E3b: TFTP Error - File Not found

Honnan induljak ki?
Nem tudom, a router beállítása mennyire jó.
Nem tudom, a Debian beállítása mennyire jó.

Tehát a Debianról szeretnék bootolni, de továbbra is a router dhcp-jétől szeretném megkapni a címeket.
Hogyan tovább?

Hozzászólások

én futatnék egy wireshark-ot a debian-on, és megnézném hogy ki mit csinál.

Köszi, ez jó ötlet volt.

No. Time Source Destination Protocol Info
54 31.135261 192.168.10.193 192.168.10.4 TFTP Read Request, File: pxelinux.0\000, Transfer type: octet\000, 0=0\000
55 31.136865 192.168.10.4 192.168.10.193 TFTP Error Code, Code: File not found, Message: File not found\000
56 31.139740 192.168.10.193 192.168.10.4 TFTP Read Request, File: pxelinux.0\000, Transfer type: octet\000, 1456=1456\000
57 31.141129 192.168.10.4 192.168.10.193 TFTP Error Code, Code: File not found, Message: File not found\000

Tehát eljutott a kérés a Debianos gépig, csak én értelmeztem kicsit rosszul valamit, mert pxelinux.0/000 könyvtárban kezd el turkálni, vagy mi a szösz... (vagy a 000 csak szimpla file lenne? ...) mindenesetre a file not found a Debian-on (192.168.10.4) futó rendszer válasza.

...próbálkozom kicsit vele. :)
Köszi.

Egyelőre csupán csak annak örültem, hogy a dhcp szerver megadta a megfelelő infokat.

PXE-vel még soha nem próbálkoztam eddig, ezidáig is csak azon izgultam, hogy át tudom-e "nyomni" a routeren az opciót (legelőször pedig azért, mert attól féltem, nem megadható, hogy a /etc-be írom az információkat, mivel azt bootkor bontja ki a flashfs-ből).

A továbbiak pedig első körben olvasgatást jelentenek.
Köszi a tippet, még próbálkozom...

Szerk.: Az volt a baja, hogy a pxelinux.0 file nálam symlink volt, ezért nem szerette.
Tehát ott volt a helyén, de azt írta, hogy file nem található. Ezért is gondoltam, hogy esetleg könyvtárat keres.

Most viszont a pxelinux elindul, már "csak" be kell állítanom.
Mindenesetre úgy érzem, a lényegen túl vagyok. Legalábbis, amitől féltem (fent), nem lesz probléma.

Minden segítséget köszönök.

subscribe

---
> man woman
No manual entry for woman

megkésve bár...

először telepíted a tftp szervert.
aztán kell nfs szerver, feltéve hogy a rendszert is a hálózatról akarod futtatni

a beállítások (csak) ide vonatkozó részei:


# /etc/default/tftpd-hpa

RUN_DAEMON="yes"
TFTP_USERNAME="tftp"
#TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
____________________________________

# /srv/tftp/pxelinux.cfg/default
# D-I config version 2.0
prompt 1
timeout 60
default ubuntu
menu title pxeboot menu
UI vesamenu.c32

label ubuntu
  MENU LABEL ubuntu 10.10 nfsroot
#  MENU default
  KERNEL ubuntu/vmlinuz-2.6.35-22-generic 
  APPEND root=/dev/nfs initrd=ubuntu/initrd.img-2.6.35-22-generic nfsroot=192.168.1.10:/srv/ubuntu ip=dhcp rw

label install
  MENU LABEL ubuntu 10.10 netinstall
  KERNEL ubuntu-installer/i386/boot-screens/vesamenu.c32
  APPEND ubuntu-installer/i386/boot-screens/menu.cfg
____________________________________

# /etc/fstab
# mount for nfs exports
/bin 			/srv/ubuntu/bin			none rw,bind 0 0
/home			/srv/ubuntu/home		none rw,bind 0 0
/lib			/srv/ubuntu/lib			none rw,bind 0 0
/opt			/srv/ubuntu/opt			none rw,bind 0 0
/root			/srv/ubuntu/root		none rw,bind 0 0
/sbin			/srv/ubuntu/sbin		none rw,bind 0 0
/usr			/srv/ubuntu/usr			none rw,bind 0 0
____________________________________

# /etc/exports
# exports for tftpboot ubunt
/srv/ubuntu/bin 192.168.1.0/255.255.255.0(rw,no_subtree_check,no_root_squash,sync,insecure,nohide)
/srv/ubuntu/home 192.168.1.0/255.255.255.0(rw,no_subtree_check,no_root_squash,sync,insecure,nohide)
/srv/ubuntu/lib 192.168.1.0/255.255.255.0(rw,no_subtree_check,no_root_squash,sync,insecure,nohide)
/srv/ubuntu/opt 192.168.1.0/255.255.255.0(rw,no_subtree_check,no_root_squash,sync,insecure,nohide)
/srv/ubuntu/root 192.168.1.0/255.255.255.0(rw,no_subtree_check,no_root_squash,sync,insecure,nohide)
/srv/ubuntu/sbin 192.168.1.0/255.255.255.0(rw,no_subtree_check,no_root_squash,sync,insecure,nohide)
/srv/ubuntu/usr 192.168.1.0/255.255.255.0(rw,no_subtree_check,no_root_squash,sync,insecure,nohide)

/srv/ubuntu 192.168.1.0/255.255.255.0(rw,no_subtree_check,no_root_squash,sync,nohide,fsid=0,insecure)
____________________________________

# /etc/dhcp3/dhcpd.conf

next-server 192.168.1.10; # IP addr of the TFTP server
allow booting;
allow bootp;

subnet 192.168.1.0 netmask 255.255.255.0 {

  filename "/pxelinux.0";
  option root-path "/srv/tftp";

}
____________________________________

natehát.

létrehoztam a /srv/{tftp,ubuntu} és a /srv/tftp/pxelinux.cfg könyvtárakat, majd a /srv/tftp könyvtárba másoltam a pxelinux.0 fájlt.
a /etc és a /var könyvtárat átmásoltam a /srv/ubuntu könyvtárba, és lértehoztam a /srv/ubuntu{bin,boot,dev,etc,home,lib,media,mnt,opt,proc,root,sbin,sys,tmp} könyvtárakat

a /etc/fstab módosítása után (lásd fent) mount -a paranccsal mountolam a változásokat.
a service nfs-kernel-server restart parancsal pedig az nfs-t indítottam újra

kigyomláltam a /srv/ubuntu/etc és a /srv/ubuntu/var könyvtárakból ami nem kell, pédául apache, postfix, inadin indítását, a var könyvtárból a webmin, apache meg ilyesmiket.

- majdnem elcsesztem amikor véletlenül a /etc könyvtárból törölgetni akartam, de csak majdnem! :)) -

ezek-után még át kellett állítani a dhcp szervert.

a kernelnek, és az intrd fájlnak - az egyszerűség kedvéért - a /srv/tftp/ubuntu könvtárat hoztam létre, és be is másoltam azokat.

letöltöttem az ubuntu netinst - azóta mint látható már karmikra lett cserélve - pxe boot változatát, és bemásoltam a /srv/tftp könyvtárba.

és kész:)

ha valamit kihagytam volna...
hát semmi sem tökéletes nem igaz:)

Köszönöm a válaszod. :)

Már el is felejtettem ezt a topicot.
Nem egészítettem ki a címet solved előtaggal.

Mostanában nem igazán piszkáltam a dolgot, de rendszeresen használom a PXE boot környezetemet különböző image-ek ill. rendszer bootolására. Egész kényelmes dolog tud lenni.

Köszi mégegyszer.