[coreboot] Help required to boot DUET (Seabios floppy mechanism)

Anthony Ross anthonyross230 at gmail.com
Wed Oct 23 16:00:54 CEST 2013

Thanks for the heartiest reply. Well I have gone through the pros & cons of
DUET & haven' t faced any hurdles thus successfully building it. Similarly
getting to the EDK2 project I have successfully built OVMF 32 & 64 with
secure boot configuration, integrating them with seabios as csm and
initializing them in QEMU-kvm. I have also successfully built & booted  the
Coreboot Pkg IA32 encapsulating it in the coreboot.rom and booting it under
QEMU-kvm except for the X64 architectures I faced certain toolchain errors.

So if the Coreboot Pkg can boot so should DUET. I know there are both
different but any how they both follow the same basis of the UEFI platform.
I say this because the Coreboot Pkg (coreboot.rom) during its boot up shows
signs of errors & debugging messages are worth noting but DUET
(coreboot.rom) seems just absent.It also does not indicate any low memory
problems in real mode, frankly speaking the coreboot.rom just boots as if
it was built with just a seabios payload. Yes one thing can be noted when I
had earlier booted DUET directly under QEMU it indicated something as
'executing code out of memory' and it aborted there.Secondly taking again
into concern the Coreboot Pkg it follows lzma compression and also DUET so
any issue about that?  & what about QEMU does it require any changes as for

Well I await for a reply.........



On Wed, Oct 23, 2013 at 1:00 AM, Scott Duplichan <spambucket at notabs.org>wrote:

> Neo wrote:
> ]Hello
> ]
> ]  There has been no response to my thread [Help required to initialize
> ]coreboot as Seabios (floppy mechanism for DUET) payload] since a long
> ]time.I have eagerly waited but no solutions have turned up.
> ]  If Im mistaken in any way or the other please let know.
> ]
> ]Regards....
> ]
> ]Neo.
> Hello,
> If this is really something you want I may be able to help. Be aware that
> Duet
> is not an active EDK2 project. Duet has many problems that you must solve
> before it is usable. The Duet concept is sound, and is a good match for
> coreboot.
> But it is not in general a usable project as it exists in the public EDK2
> archive.
> Building Duet should be easy, relative to other EDK2 projects. Can you
> successfully
> build other EDK2 projects? From EFI's beginning in 1999 to recently, the
> only
> supported build toolset was Microsoft. Recently gnu build tool support was
> added.
> But because Duet is not an active project, it may not build easily with gnu
> tools.
> In addition, EDK2 does not properly support any Windows port of the gnu
> tools.
> So try building with Microsoft tools for a reference point. But be aware
> that EDK2
> actually uses a hard-coded absolute path to the Microsoft tools. So unless
> your
> Microsoft build tools are installed in the same location as theirs, you
> will
> have to
> modify Basetools\Conf\ tools_def.template.
> Once Duet builds, there are some basic bugs to fix. There is a memory
> overlap
> problem for example. Duet cannot work with more than 4GB of RAM if I
> remember correctly. These are all easy to fix. Another problem is a
> limitation
> on the DXE image size. This limitation is due to the DOS 640 KB memory
> limit.
> The DOS 640 KB limit is relevant because the image is read from disk in
> 16-bit
> mode and low memory is the most convenient place to put it.  This
> limitation
> must be removed before a full featured DXE can be used.
> Once all the problems are fixed, the reliance on legacy BIOS INT 13h can
> be removed. The image can be kept in flash and then copied to DRAM
> instead of reading it from a file.
> One of the bigger problems is that UEFI needs a large amount of NVRAM.
> The size is too big to fit into CMOS. That means you need to add code to
> write this data to flash memory. Normally a 64-KB block of the BIOS flash
> chip is set aside for this use.
> There are several more problems in addition to these. They can all be
> overcome, but it takes some time. The good thing about Duet is that it
> uses only the generic portion of UEFI, so it is easy to run on an emulator
> such as simnow or qemu for development and debug.
> Duet requires that DRAM init and any other chipset initialization be
> complete.
> Duet finds DRAM by calling E820, though passing the info directly is
> possible.
> Duet does not supply ACPI tables. It finds existing ACPI tables and uses
> those.
> Same for SMBIOS.
> Thanks,
> Scott
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20131023/312c9376/attachment.html>

More information about the coreboot mailing list