On Fri, 5 Dec 2014, Ady wrote:> > > If so: http://www.syslinux.org/wiki/index.php/Mboot.c32 > > > > I?m not permitted to edit either that page or its talk page. > > Do I submit the content addition here, then? > > Please do.Okay, MediaWiki syntax docs follow. Note I have tested those only a bit, and not within the vesamenu context, but if mboot.c32 resets to text mode, all will be fine. ------------------------------------------------------------------ === MirBSD == The MirBSD [https://www.mirbsd.org/mani386/boot.8 second-stage bootloader] acts as faux MultiBoot ?OS kernel?. It can either load the boot.cfg file and the kernel from disc, or have them passed as faux MultiBoot ?OS modules?. In SYSLINUX scenarios, the bootloader is commonly renamed as ?ldbsd.com?, although upstream places it under ?/boot? normally. ==== just the bootloader === <pre> LABEL mirbsd KERNEL mboot.c32 APPEND /ldbsd.com </pre> ==== bootloader, config, and kernel === <pre> LABEL mirbsd KERNEL mboot.c32 APPEND /ldbsd.com --- /boot.cfg --- /bsd </pre> ==== example with differently named kernel === (editorial note: bsd4grml actually uses a boot.cfg file, too) <pre> LABEL bsd4grml KERNEL /boot/isolinux/mboot.c32 APPEND /boot/addons/bsd4grml/ldbsd.com set image bsd4me.rd`set timeout 5 --- /boot/addons/bsd4grml/bsd.rd </pre> ------------------------------------------------------------------> Alternatively (or, even better), you could send a link to > original documentation about your boot loader.*ahem* does CVSweb to the sources count? ;-) Well, I?ve gone back to the above and put a link to its manpage, although that will be way too high-level and user-oriented for this?> About additional possibilities, there are 2 KERNEL-like directives for > boot sectors files (IIRC, valid for SYSLINUX only, but I could beOK, that would work too, but these files would need to be produced first. (Not working within PXE, and tricky within ISO, and even more so within EXT.) Probably easier to write a .c32 that loads the second-stage loader to the right address and jumps there the same way the native bootsector does. bye, //mirabilos -- tarent solutions GmbH Rochusstra?e 2-4, D-53123 Bonn ? http://www.tarent.de/ Tel: +49 228 54881-393 ? Fax: +49 228 54881-235 HRB 5168 (AG Bonn) ? USt-ID (VAT): DE122264941 Gesch?ftsf?hrer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg
> On Fri, 5 Dec 2014, Ady wrote: > > > > > If so: http://www.syslinux.org/wiki/index.php/Mboot.c32 > > > > > > I?m not permitted to edit either that page or its talk page. > > > Do I submit the content addition here, then? > > > > Please do. > > Okay, MediaWiki syntax docs follow. Note I have tested those > only a bit, and not within the vesamenu context, but if mboot.c32 > resets to text mode, all will be fine. > > ------------------------------------------------------------------ > > === MirBSD ==> > The MirBSD [https://www.mirbsd.org/mani386/boot.8 second-stage > bootloader] acts as faux MultiBoot "OS kernel". It can either > load the boot.cfg file and the kernel from disc, or have them > passed as faux MultiBoot "OS modules". > > In SYSLINUX scenarios, the bootloader is commonly renamed as > "ldbsd.com", although upstream places it under "/boot" normally. > > ==== just the bootloader ===> > <pre> > LABEL mirbsd > KERNEL mboot.c32 > APPEND /ldbsd.com > </pre> > > ==== bootloader, config, and kernel ===> > <pre> > LABEL mirbsd > KERNEL mboot.c32 > APPEND /ldbsd.com --- /boot.cfg --- /bsd > </pre> > > ==== example with differently named kernel ===> > (editorial note: bsd4grml actually uses a boot.cfg file, too) > > <pre> > LABEL bsd4grml > KERNEL /boot/isolinux/mboot.c32 > APPEND /boot/addons/bsd4grml/ldbsd.com set image bsd4me.rd`set timeout 5 --- /boot/addons/bsd4grml/bsd.rd > </pre> > > ------------------------------------------------------------------ > > > Alternatively (or, even better), you could send a link to > > original documentation about your boot loader. > > *ahem* does CVSweb to the sources count? ;-) Well, I?ve gone > back to the above and put a link to its manpage, although that > will be way too high-level and user-oriented for this...The Syslinux wiki _is_ for common users. A link to original documentation is very useful. Links to manpages and/or to CVSweb are both fine. Some users might prefer the man page (which might or might not be up-to-date and/or enough), and the CVSweb content might be valuable for others.> > > About additional possibilities, there are 2 KERNEL-like directives for > > boot sectors files (IIRC, valid for SYSLINUX only, but I could be > > OK, that would work too, but these files would need to be > produced first. (Not working within PXE, and tricky within > ISO, and even more so within EXT.) Probably easier to write > a .c32 that loads the second-stage loader to the right address > and jumps there the same way the native bootsector does. >IIRC, the BS/BSS directives are not supported in ISOLINUX. Regarding EXTLINUX, why would it be trickier than for SYSLINUX? Do you mean that the bootloader (as boot sector file) is (or behaves) very differently in a FAT fs than in other filesystems? (FWIW, EXTLINUX has now merged with SYSLINUX). Regarding the c32 module, have you actually tried with chain.c32 as suggested? There are options already available in chain.c32 regarding the address. As previously suggested, read the 2 wiki pages about chain.c32. If the current chain.c32 is not enough for this purpose, perhaps it could be enhanced? Patches are welcome. Regards, Ady.
On Fri, 5 Dec 2014, Ady wrote:> A link to original documentation is very useful. Links to manpages > and/or to CVSweb are both fine. Some users might prefer the man page > (which might or might not be up-to-date and/or enough), and the CVSweb > content might be valuable for others.OK, sure. The sources are mostly in https://www.mirbsd.org/cvs.cgi/src/sys/arch/i386/stand/ (boot/ is the entry point here), plus some stuff in https://www.mirbsd.org/cvs.cgi/src/sys/lib/libsa/> Regarding EXTLINUX, why would it be trickier than for SYSLINUX? Do youFiguring out the block numbers the loader occupies. Our first stage loader (bootxx/ in CVS; bootxx_ustarfs loads from a tar archive) is actually a shell script that takes block numbers from stdin (for ISO, they are easily calculated from isoinfo). We don?t normally use ext2fs natively, so we don?t have an equivalent -info tool. (One could always install it in the space between partitions, but?)> Regarding the c32 module, have you actually tried with chain.c32 as > suggested? There are options already available in chain.c32 regarding > the address. As previously suggested, read the 2 wiki pages about > chain.c32.Ah, interesting. Let?s see? http://www.syslinux.org/wiki/index.php/Doc/chain#hand is unclear about what a handover area is (contains) and where it?s passed (if hptr is given, DS:SI appears to contain it). Other than that? it has keepexe for PXE, and a boot loaded from SYSLINUX usually doesn?t need image the patching that bootxx does. I assume DL and a stack are set up. Though, it doesn?t gain much from using pxechn.c32 and mboot.c32 especially as the latter can pass files from SYSLINUX? partition via memory (the COMBOOT API provided a way for boot to access SYSLINUX? partition, but that?s gone). Still, probably a good idea to try this out (after figuring out the values to use) and document it visibly. bye, //mirabilos -- tarent solutions GmbH Rochusstra?e 2-4, D-53123 Bonn ? http://www.tarent.de/ Tel: +49 228 54881-393 ? Fax: +49 228 54881-235 HRB 5168 (AG Bonn) ? USt-ID (VAT): DE122264941 Gesch?ftsf?hrer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg