On 2012-02-27 17:00, Peter Stuge wrote:
Jan Kiszka wrote:
Then I noticed, that if I rebuild the BIOS, from the exact same revision 1.6.3.1 revision that is committed in 'seabios' submodule in QEMU, then it works fine. So AFAICT, it is not the Seabios source code at fault, but rather the binary build we have commited to GIT. Should/can we rebuild the bios.bin in GIT ?
Probably not without understanding what causes this strange inconsistency. If Seabios builds without errors and then later on fails, this is also a bug.
Kevin, what information do you need to assess my tool chain?
In the coreboot project we have more than 10 years of experience from distribution toolchains consistently being too broken to build a working coreboot image. The same problems apply to SeaBIOS.
As you know, distribution toolchains are heavily patched, presumably to add some value to the distribution. The patches work fine when the toolchains should output userland binaries or the odd kernel. They fail frequently and in countless ways when used to produce bare metal binaries.
Within coreboot it is much less effort to build an i386-elf cross toolchain than to mess with the hundreds if not thousands of issues in the distribution toolchains. The same applies to SeaBIOS of course. The script we use in coreboot is here:
http://review.coreboot.org/gitweb?p=coreboot.git;a=tree;f=util/crossgcc
If you want to investigate and spend time on motivating distributions to unbreak their toolchains that's awesome, but be prepared to spend many weeks disassembling binaries and reverse engineering the toolchain.
Well, the Linux kernel can also be built with practically any distro out there. Having a need for a separate toolchain for building x86 on x86 is a bit overkill IMHO, at least for someone hacking on Seabios only infrequently like /me.
Jan
PS: Please avoid "mail-followup-to" in your replies, it messes up To/CC.