[syslinux] chain reactos keeppexe WAS: Problems with booting ReactOS over network using pxelinux

Ady ady-sf at hotmail.com
Thu Jun 18 23:11:59 PDT 2015


> Hello syslinux mailing list users,
> 
> I've initially filed a bug about my problem [1], but people from irc channel suggested to ask for help here. 
> 
> I have a PXE server based on syslinux 4.05 that distributes ReactOS to client machines over network.
> It has a pretty simple pxelinux.cfg/default, with the following contents (that were suggested by ReactOS wiki [2]):
> 
> 	DEFAULT chain.c32
> 	APPEND file=freeldr.sys seg=0x0F80 keeppxe
> 
> I try to make my PXE server distribute multiple distros, which requires a boot menu, so [3] I've decided to get a more recent release of syslinux.
> I've updated to 6.03 and my current config stopped working. I've tried different configs like
> 
> 1. [4]
> 	DEFAULT chain.c32 file=freeldr.sys seg=0x0F80 keeppxe
> 
> 2. [5]
> 	DEFAULT chain.c32 reactos=freeldr.sys save
> 
> 3. [6]
> 	DEFAULT reactos
> 	LABEL reactos
> 	COM32 chain.c32
> 	APPEND reactos=freeldr.sys
> 
> 4. [6]
> 	DEFAULT reactos
> 	LABEL reactos
> 	COM32 chain.c32
> 	APPEND reactos=freeldr.sys keeppxe
> 
> All of the above configs lead to the same error:
> 
> 	ERR: When syslinux is not booted from physical disk (or its emulation), 'boot' and 'fs' are meaningless.
> 	boot: _
> 
> I know I could stick with syslinux 4.05, but I don't know yet what other OSes I'll want my PXE server to distribute, so I'd like to make it work with syslinux 6.03.
> 
> 
> [1] - http://bugzilla.syslinux.org/show_bug.cgi?id=61
> [2] - https://www.reactos.org/wiki/Building_PXE-ready_ReactOS#Creating_contents_on_TFTP_server
> [3] - turns out, 4.05 supports menu.c32 too, so updating is actually unnecessary.
> [4] - http://www.syslinux.org/wiki/index.php/Directives/append#default this wiki page says since v.5 syslinux uses a one line config where old versions used DEFAULT + APPEND.
 
 
That's an inaccurate description.

That wiki page explains the changes in relation to the resulting 
behavior of the global APPEND directive. It doesn't recommend a 
one-line command, but rather to *always use labels*.

In particular, when the intention is to use more than one boot entry, 
either by means of multiple labels, or by typing-in different commands 
at the boot prompt (e.g. a different command line for each OS), the use 
of a global APPEND should be carefully considered.

The REACTOS wiki should be updated.
 
 
> [5] - although reactos wiki suggests to use a 'file=freeldr.sys seg=0x0F80' approach, syslinux wiki page http://www.syslinux.org/wiki/index.php/Comboot/chain.c32 suggests to use 'reactos=freeldr' approach (although it uses a different 'seg' value).
 
 
Not exactly. The 'reactos=' option is equivalent to using several other 
options. Instead of typing those several options, the user could 
type-in 'reactos=<path/to/loader>'.

The problem with using 'reactos=' (or any of the other 'file=' 
replacement) is that it assumes certain "adequate" values for the other 
options. Apparently, REACTOS has modified the boot method at some point 
(maybe since v.0.3.13?), so the values assumed by the 'reactos=' option 
seem to be inadequate for later versions of REACTOS.

In a local installation (i.e. using SYSLINUX 6.03 rather than 
PXELINUX), the boot command:
 chain.c32 file=freeldr.sys seg=0x0f80

successfully boots REACTOS (assuming all the relevant files are located 
in the root directory of a FAT32 fs, and this directory is the working 
directory for SYSLINUX).

I have not tested other setups (e.g. different filesystems, or 
different working directory, or different partitions, or...).

Additionally, in Syslinux 4.05 there is a 'freeldr=' option for 
chain.c32, but not a 'reactos=' option; in newer versions, the latter 
replaced the former.

This means that the documentation should be improved (also in the 
reactos' wiki), and that probably the 'reactos=' option would benefit 
from some improvements too (but that's not for this email thread).
 
 
> [6] - an irc channel member suggested to 'always use labels'.
 
 
See above comments about the wiki page.
 
 
> [7] - the same member later suggested it might have something to do with 'keeppxe'.
 
 
Recently there have been some situations (other than REACTOS) in which 
the 'keeppxe' parameter was involved and the result was some kind of 
failure to boot. Whether these cases were a coincidence (and the source 
of the failure is located somewhere else), or there is really some 
problem when using 'keeppxe' with Syslinux 6.03, I don't really know.

Regards,
Ady.
 
> _______________________________________________
> Syslinux mailing list
> Submissions to Syslinux at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux
> 




More information about the Syslinux mailing list