Bug 866664 - SeaBIOS should build with a cross-compiler
SeaBIOS should build with a cross-compiler
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: seabios (Show other bugs)
18
All Linux
unspecified Severity high
: ---
: ---
Assigned To: Fedora Virtualization Maintainers
Fedora Extras Quality Assurance
: Reopened
Depends On:
Blocks: F18Betappc
  Show dependency treegraph
 
Reported: 2012-10-15 16:12 EDT by Brent Baude
Modified: 2013-01-09 07:10 EST (History)
12 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-10-17 07:50:38 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
patch to cross-compile SeaBIOS (2.51 KB, patch)
2012-10-17 03:40 EDT, Paolo Bonzini
no flags Details | Diff

  None (edit)
Description Brent Baude 2012-10-15 16:12:32 EDT
Currently, qemu in Fedora is not installable because qemu deps qemu-system-x86 which deps the SeaBIOS package. The SeaBIOS binaries do not build on ppc64 due them being designed for x86-based architectures—results in endianess and other x86-centric build issues. Therefore, we'd like to request an exception that we use the prebuilt x86-based SeaBIOS binary and package it to resolve the dependency.
Comment 1 Richard W.M. Jones 2012-10-15 16:45:51 EDT
As I said on IRC, you need to start discussion on the Fedora
packaging list:

https://lists.fedoraproject.org/mailman/listinfo/packaging

That may or may not mean that you need to get an exception
from the committee using their trac.  However first you need
to start the discussion on the packaging list.
Comment 2 Richard W.M. Jones 2012-10-15 16:46:09 EDT
Gaa, stupid Firefox.
Comment 3 Paolo Bonzini 2012-10-16 08:23:22 EDT
This is due to the separation of Koji servers for Fedora.  qemu-system-x86 actually requires seabios-bin, which is a noarch package.

But rather than doing this, seabios should be modified to use the cross binutils, similar to what was done e.g. to build SLOF on x86.
Comment 4 Cole Robinson 2012-10-16 09:19:00 EDT
(In reply to comment #3)
> This is due to the separation of Koji servers for Fedora.  qemu-system-x86
> actually requires seabios-bin, which is a noarch package.
> 
> But rather than doing this, seabios should be modified to use the cross
> binutils, similar to what was done e.g. to build SLOF on x86.

There was some offline discussion prior to this bug being filed. Here's Anthony's quote:

> As I understand it, the QEMU package isn't building on Power for F18.
> This is because of a dependency on SeaBIOS for qemu-system-x86_64.
>
> SeaBIOS cannot build on PPC (even with cross compilers) because it
> depends on iasl.  iasl currently fails spectacularly on a big endian
> host.

So not sure if cross compilers will solve the problem today. I'll follow up with getting the packaging exception.
Comment 5 Richard W.M. Jones 2012-10-16 09:25:15 EDT
Yup, the problem is that iasl (used to build ACPI tables)
doesn't put any thought into endianness issues.  When you use
it on a big-endian (ie. non-Intel) architecture it builds
ACPI tables that have big-endian data, which wouldn't be
readable by the guest OS.

We could fix iasl but it's a giant program, and I have no
idea what the scope of the fix would be.  I mean, it may
be trivial, or it may involve auditing every line of code ...
Comment 6 Paolo Bonzini 2012-10-16 09:47:59 EDT
Cool! :)

Can you get a generic packaging exception for iasl output?  Then we can just package the iasl output as a SOURCE and use it instead of running iasl.

Making the exception generic will be useful because QEMU will soon start shipping the DSDTs instead of SeaBIOS.
Comment 7 Richard W.M. Jones 2012-10-16 10:05:35 EDT
Since no one else is going to do this, I am going to
now send a message to the packaging list.
Comment 9 Paolo Bonzini 2012-10-17 03:40:05 EDT
Created attachment 628585 [details]
patch to cross-compile SeaBIOS

This patch seems to work if iasl endianness issues are fixed with the patches from Debian (attachment 628571 [details]).
Comment 10 Paolo Bonzini 2012-10-17 07:50:38 EDT
SeaBIOS is now cross-compiled in both f18 and rawhide.  A big-endian-friendly version of iasl (courtesy of Debian) is already in f18 and on its way to rawhide.

Note You need to log in before you can comment on or make changes to this bug.