H. Peter Anvin
2016-Jan-14 22:50 UTC
[syslinux] Embedding com32 modules and ldlinux.sys into one file
On 01/13/16 00:13, Tal Lubko via Syslinux wrote:> > OK. I'll try that. > Any thoughts regarding the requirement to store the bootloader inside the BIOS chip? >That is fundamentally up to your BIOS. The best is to expose the bootloader in the BIOS as a (readonly) disk drive using standard BIOS or EFI interfaces. -hpa
Sergii Kolisnyk
2016-Jan-15 11:43 UTC
[syslinux] Embedding com32 modules and ldlinux.sys into one file
As for BIOS, there are single-sector base memory (real mode) memdisk implementations, which should be ROM-compatible. I do remember Lanworks one. It's possible to make a compile option for syslinux memdisk resident code to work with base memory. On 15 January 2016 at 00:50, H. Peter Anvin via Syslinux <syslinux at zytor.com> wrote:> On 01/13/16 00:13, Tal Lubko via Syslinux wrote: >> >> OK. I'll try that. >> Any thoughts regarding the requirement to store the bootloader inside the BIOS chip? >> > > That is fundamentally up to your BIOS. The best is to expose the > bootloader in the BIOS as a (readonly) disk drive using standard BIOS or > EFI interfaces. > > -hpa > > > _______________________________________________ > Syslinux mailing list > Submissions to Syslinux at zytor.com > Unsubscribe or set options at: > http://www.zytor.com/mailman/listinfo/syslinux
Sergii Kolisnyk
2016-Jan-15 12:04 UTC
[syslinux] Embedding com32 modules and ldlinux.sys into one file
Google search freedos rom found two source-available implementations: https://web.archive.org/web/20050104085311/http://rayer.wz.cz/romos/romose.htm https://web.archive.org/web/20040806022202/http://linux.tu-varna.acad.bg/~lig/romdsk/ On 15 January 2016 at 13:43, Sergii Kolisnyk <kolkmail at gmail.com> wrote:> As for BIOS, there are single-sector base memory (real mode) memdisk > implementations, which should be ROM-compatible. I do remember > Lanworks one. It's possible to make a compile option for syslinux > memdisk resident code to work with base memory. > > On 15 January 2016 at 00:50, H. Peter Anvin via Syslinux > <syslinux at zytor.com> wrote: >> On 01/13/16 00:13, Tal Lubko via Syslinux wrote: >>> >>> OK. I'll try that. >>> Any thoughts regarding the requirement to store the bootloader inside the BIOS chip? >>> >> >> That is fundamentally up to your BIOS. The best is to expose the >> bootloader in the BIOS as a (readonly) disk drive using standard BIOS or >> EFI interfaces. >> >> -hpa >> >> >> _______________________________________________ >> Syslinux mailing list >> Submissions to Syslinux at zytor.com >> Unsubscribe or set options at: >> http://www.zytor.com/mailman/listinfo/syslinux
H. Peter Anvin
2016-Jan-15 18:40 UTC
[syslinux] Embedding com32 modules and ldlinux.sys into one file
On 01/14/2016 02:50 PM, H. Peter Anvin via Syslinux wrote:> On 01/13/16 00:13, Tal Lubko via Syslinux wrote: >> >> OK. I'll try that. >> Any thoughts regarding the requirement to store the bootloader inside the BIOS chip? >> > > That is fundamentally up to your BIOS. The best is to expose the > bootloader in the BIOS as a (readonly) disk drive using standard BIOS or > EFI interfaces. >Now, if you are using EFI, you might just want to consider just running the kernel itself as an EFI executable. If with "bootloader in memory" you mean the whole firmware package, look at EDK2, Coreboot, or uboot. -hpa
Tal Lubko
2016-Jan-19 08:07 UTC
[syslinux] Embedding com32 modules and ldlinux.sys into one file
> -----Original Message----- > From: H. Peter Anvin [mailto:hpa at zytor.com] > Sent: Friday, January 15, 2016 8:41 PM > To: Tal Lubko; 'Celelibi' > Cc: 'For discussion of Syslinux and tftp-hpa' > Subject: Re: [syslinux] Embedding com32 modules and ldlinux.sys into > one file > > On 01/14/2016 02:50 PM, H. Peter Anvin via Syslinux wrote: > > On 01/13/16 00:13, Tal Lubko via Syslinux wrote: > >> > >> OK. I'll try that. > >> Any thoughts regarding the requirement to store the bootloader > inside the BIOS chip? > >> > > > > That is fundamentally up to your BIOS. The best is to expose the > > bootloader in the BIOS as a (readonly) disk drive using standard BIOS > > or EFI interfaces. > > > > Now, if you are using EFI, you might just want to consider just running > the kernel itself as an EFI executable. > > If with "bootloader in memory" you mean the whole firmware package, > look at EDK2, Coreboot, or uboot. > > -hpa >Hi Thanks a lot for the answers given. I think I should change this conversion topic to "storing the bootloader inside the BIOS chip" or something similar. I now understand a little bit more about the boot process and see that it is more complicated than just Embedding the com32 module into ldlinux.sys. To summarize the answers, the option I see now are: 1) Exposing the bootloader in the BIOS as a (readonly) disk drive using standard BIOS or EFI interfaces (hpa suggestion). This suggestion looks very promising. It probably requires some changes in the BIOS. I'm not sure if it requires changes in the bootloader. There is one potential problem I see: the bootloader is stored on some flashrom chip and the Linux image is stored on a different storage device. I think that right now the bootloader assumes they are stored on the same storage device. Am I wrong? If I'm wrong, how do I tell the bootloader to load the Linux image from a different storage device? 2) The ROMOS project (Sergii suggestion). As far as I understand, basically this project creates virtual ROM disk image that can be used for the boot sequence. So this is somehow similar to hpa suggestion. I'll try to play with it a little bit. 3) EDK2, Coreboot, or uboot. I can say nothing about it right now. Thanks again for your help, Tal