Difference between revisions of "Building PXE-ready ReactOS"
Line 1: | Line 1: | ||
− | |||
− | |||
− | |||
Development goes on in 2011 :-)<br /> | Development goes on in 2011 :-)<br /> | ||
<br /> | <br /> | ||
Line 7: | Line 4: | ||
[[User:Xpert|Xpert]]<br /> | [[User:Xpert|Xpert]]<br /> | ||
Shao of [http://www.etherboot.org/wiki/ Etherboot-project] | Shao of [http://www.etherboot.org/wiki/ Etherboot-project] | ||
− | + | <br /> | |
− | |||
− | |||
Line 69: | Line 64: | ||
label ReactOS live | label ReactOS live | ||
− | (new options here) | + | (new options here) |
label pxelinux | label pxelinux |
Revision as of 18:13, 2 May 2011
Development goes on in 2011 :-)
ReactOS PXE Project Team:
Xpert
Shao of Etherboot-project
Prepare LAN
For this scenario we need two computer. One client (may be diskless or empty HDD), one server (Windows or better Linux). Both have to be connected to the local network.
The server must running a DHCP-server and a TFTP-server. Additionally we need a pxe-client: pxelinux. The client need a pxe-ready network card. Most onboard network card are capable.
Pxelinux config in /srv/tftp/pxelinux.0
DEFAULT vesamenu.c32 MENU BACKGROUND bootscreen.png PROMPT 0 NOESCAPE 1 TIMEOUT 200 MENU WIDTH 45 MENU MARGIN 9 MENU PASSWORDMARGIN 9 MENU ROWS 14 MENU TABMSGROW 25 MENU CMDLINEROW 18 MENU ENDROW 25 MENU PASSWORDROW 18 MENU TIMEOUTROW 24 MENU HSHIFT 1 MENU VSHIFT 5 menu color screen 37;40 #80ffffff #00000000 std menu color border 37;40 #40000000 #ff8093a1 std menu color title 1;37;40 #ffff8b00 #ff8093a1 std menu color unsel 37;40 #fff0f0f0 #ff8093a1 std menu color hotkey 1;37;40 #ffff8b00 #ff8093a1 std menu color sel 7;37;40 #ff1c2a33 #667799bb all menu color hotsel 1;7;37;40 #ffff8b00 #667799bb all menu color scrollbar 37;40 #40000000 #ee000000 std menu color tabmsg 37;40 #ffff8b00 #ff8093a1 std menu color cmdmark 1;37;40 #ffff8b00 #ff8093a1 std menu color cmdline 37;40 #fff0f0f0 #ff8093a1 std menu color pwdborder 37;40 #40000000 #ff8093a1 std menu color pwdheader 37;40 #ffff8b00 #ff8093a1 std menu color pwdentry 37;40 #ffff8b00 #ff8093a1 std menu color timeout_msg 37;40 #afac2a33 #00000000 none menu color timeout 1;37;40 #ffff8b00 #00000000 std menu color help 37;40 #ff1c2a33 #00000000 none menu color msg07 37;40 #90ffffff #00000000 std MENU AUTOBOOT Selection starts in # seconds MENU TITLE Menu label harddisk localboot 0x80 MENU DEFAULT label ReactOS live (new options here) label pxelinux kernel pxelinux.0
The Linux way
I used dhcp3 and tftpd-hpa. Use your favorite Linux and install them. I used Bind at home, but you can leave that out.
# Sample configuration file for ISC dhcpd for Debian # $Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $ ddns-update-style none; # option definitions common to all supported networks... option domain-name "home.local"; option domain-name-servers 10.0.0.254; # If this DHCP server is the official DHCP server for the local # network, the authoritative directive should be uncommented. authoritative; # Use this to send dhcp log messages to a different log file (you also # have to hack syslog.conf to complete the redirection). log-facility local7; subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.10 10.0.0.19; option domain-name-servers myserver.home.local; option domain-name "home.local"; option routers IPofYourServer; option broadcast-address 10.0.0.255; default-lease-time 28800; # 8 hrs max-lease-time 86400; # 1 day allow bootp; host myclient { hardware ethernet 00:0F:EA:66:07:48; fixed-address myclient.home.local; filename "pxelinux.0"; server-name "myserver.home.local"; } }
Check if present, xinetd/inetd config for tftpd.
service tftp { disable = no log_type = SYSLOG daemon info log_on_access = PID HOST USERID EXIT DURATION socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -vv -s /srv/tftp/ bind = IPofYourServer }
The Windows way
On the Windows server, a combination of the free tools TFTPD32 (you'll only need the DHCP server!) and the SolarWinds TFTP server (because the built-in server of TFTPD32 does not work well with its DHCPD) has been proven working.
In your TFTP working directory, you'll need a config file pxelinux.cfg/default (no extension) with these contents:
DEFAULT menu.c32 PROMPT 0 NOESCAPE 1 TIMEOUT 200 label ReactOS (new options here) label pxelinux kernel pxelinux.0
This config file provides a simple boot menu which allows you to boot the ReactOS live image. Remember that both DHCP and TFTP servers should be running and there should not be another DHCP server in the same network.
Booting
something changed at the ReactOs boot loader, so we try a new way to boot with PXE.