Il 16/10/2012 18:27, Karsten Hopp ha scritto: > Am 16.10.2012 16:19, schrieb Richard W.M. Jones: >> >> [Bug: https://bugzilla.redhat.com/show_bug.cgi?id=866664] >> >> Here's the situation, since the bug doesn't explain it well. >> >> (1) qemu can run any architecture on any other architecture, using >> software emulation. eg. It can run x86_64 guest operating systems on >> top of ppc64 hosts (albeit not at full speed). >> >> (2) In order to run guests, you have to provide a BIOS (or some sort >> of other boot ROM), since most guests wouldn't be able to boot without >> BIOS services. This applies for all guests, but of particular >> interest to us are i686/x86_64 guests. >> >> (3) SeaBIOS is a free, open source PC BIOS implementation. It is what >> we use to provide services to i686/x86_64 PC guests. >> >> (4) Although qemu itself bundles some binary BIOSes, in Fedora we have >> chosen to recompile these from source. We now (on i686/x86_64) >> compile or cross-compile all ROMs from source. >> >> (5) 'seabios-bin' is the name of the RPM package that contains the >> SeaBIOS ROMs. I have no idea why (historical?) this package has >> '-bin' in the name, but the important point is that it is NOT a >> binary-only package. It is built from source. >> >> (6) In order to compile SeaBIOS you need a program called 'iasl' (part >> of the ACPICA.org project). This program is needed to compile the >> ACPI tables which are an integral part of the ROM data that is needed >> for i686/x86_64 guests to boot. >> >> (7) Unfortunately the iasl program, which runs fine on little-endian >> platforms, has endianness issues. Such that when you run it on a >> ppc64 host it produces big-endian ACPI tables, which are of course >> completely broken. 'iasl' itself is a very large program, and I do >> not know the scope of the fix for this issue -- it may be trivial, or >> it may require auditing every line of code. >> >> Therefore: >> >> We would like a packaging exception which would allow us to import the >> seabios-bin package (built on little-endian) into the ppc & ppc64 >> buildroots. > > I'm all for it. We wouldn't ship a binary without sources, just one that > got compiled on a x86 Fedora builder and got repackaged for PPC. > As you can see in bugzillas 866664, 856856 and 865013, fixing iasl might > become a major effort and the other option of dropping x86 support in > the PPC qemu doesn't seem the right thing to do here. Alternatively, it would also be good to get a generic exception that would let us distribute pre-compiled .dsl files as RPM sources. I'll try to get ppc & ppc64 to use a cross-compiled SeaBIOS. One advantage of this is that upstream we're going to move the iasl-compiled files from SeaBIOS to QEMU. Such a generic exception would cause less problems once this actually happens. Paolo -- packaging mailing list packaging@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/packaging