Smith John
2015-Jun-11 08:18 UTC
[syslinux] Problems with booting ReactOS over network using pxelinux
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. [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). [6] - an irc channel member suggested to 'always use labels'. [7] - the same member later suggested it might have something to do with 'keeppxe'.
Ady
2015-Jun-19 06:11 UTC
[syslinux] chain reactos keeppexe WAS: Problems with booting ReactOS over network using pxelinux
> 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 >