Comment 3 for bug 1605337

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

Little update after a long conversation on irc with Oracle guys (with a big thanks to them).

To be clear, I always had in mind that we were using prebuilt BIOS binaries, but this seems to be *not the case.

Workflow.

many *.c files
Open Watcom

some asm files
yasm
BIOS

quoting upstream
"we have no other choice. there simply is no (debian conforming) open source compiler which can deal with x86 segmentation, which is absolutely vital for implementing a working BIOS"

irc conversation (at the begin I was looking to the wrong issue I admit)

<oracle> LocutusOfBorg: regarding the assembly BIOS, if you have an appropriate assembler on your system, to my limited knowledge the assembly BIOS should be build automatically, unless OpenWatcom is found.
<oracle> You said you failed to build the assembly BIOS. I believe that should happen automatically during the build if you have a suitable assembler installed.
<oracle> Looks like the configure file could do with fixing.
<oracle> And we should and don't check for yasm, but should use it if it is there. That is what needs fixing.
<LocutusOfBorg> so, if I understand correctly
<LocutusOfBorg> you check for watcom, and use the built one if no watcom is found
<LocutusOfBorg> but probably yasm is good too, even if the configure is not aware of that
<oracle> Right, but probably only used (that is the idea of Make after all) if no binary is found.
<LocutusOfBorg> and with rm src/VBox/Devices/PC/BIOS/VBoxBiosAlternative*
<LocutusOfBorg> I can see if it is correct your claim
<oracle> Wait...
<oracle> That is the assembly code you want to build.
<oracle> No idea where the binary is...
<LocutusOfBorg> "Auto Generated source file. Do not edit."
<oracle> There is probably some PcBiosBin file somewhere.
<LocutusOfBorg> it is written on that VBoxBiosAlternative files
<oracle> Sure, it is generated by OpenWatcom. But by us, not by you.
<LocutusOfBorg> this is the problem
<LocutusOfBorg> we can't generate that asm file I guess
<oracle> You can't generate the C files we feed to OpenWatcom. And you are free to ignore the message and use the assembly as your original source.
<oracle> A fork, so to speak.
<LocutusOfBorg> This package is not part of the Debian operating system.
<LocutusOfBorg> It is in the "contrib" area of the Debian archive because it requires a
<LocutusOfBorg> non-free compiler (Open Watcom) to build the BIOS.
<LocutusOfBorg> Upstream provides pre-built BIOS images which is used instead.
<LocutusOfBorg> this is what I get from debian/copyright, it has been done long time ago
<oracle> LocutusOfBorg: btw, there are no BIOS binaries in the vbox source tree. only the VBoxBiosAlternative.* files, which are used if you don't have OpenWatcom.

The question is:
are some autogenerated asm files "enough source files" to be considered part of Ubuntu main?

this is an example
https://anonscm.debian.org/cgit/pkg-virtualbox/virtualbox.git/tree/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm

that would save us a lot of effort in the split.

G.