-
-
Notifications
You must be signed in to change notification settings - Fork 15.4k
Use Open Watcom to build VirtualBox BIOS #85772
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The integration test currently fails, but I think it also happens for the vanilla VirtualBox. I'll look into this and maybe convert it to the Python test driver on the way. |
Mmh. VirtualBox still fails to build with Open Watcom. |
I just merged in #85556 - you might want to rebase this PR on top of these changes. |
This is a derivation for the binary distribution of the Open Watcom C/C++ compiler.
@messemar Maybe you can have a look as well. :) |
% nix-shell -p nixpkgs-review --run "nixpkgs-review pr 85772"
[...]
2 package marked as broken and skipped:
linuxPackages_hardkernel_4_14.virtualbox linuxPackages_hardkernel_latest.virtualbox
21 package built:
linuxPackages-libre.virtualbox linuxPackages.virtualbox linuxPackages_4_14.virtualbox linuxPackages_4_19.virtualbox linuxPackages_4_4.virtualbox linuxPackages_4_9.virtualbox linuxPackages_5_5.virtualbox linuxPackages_5_6.virtualbox linuxPackages_hardened.virtualbox linuxPackages_latest-libre.virtualbox linuxPackages_latest_hardened.virtualbox linuxPackages_latest_xen_dom0.virtualbox linuxPackages_latest_xen_dom0_hardened.virtualbox linuxPackages_testing_bcachefs.virtualbox linuxPackages_xen_dom0.virtualbox linuxPackages_xen_dom0_hardened.virtualbox open-watcom-bin virtualbox virtualboxHardened virtualboxHeadless virtualboxWithExtpack |
LGTM, but watcom codepath currently isn't used anywhere in nixpkgs, so we won't notice sudden breakages. WDYT about building it with this by default, or at least adding a |
It's currently pulled in as a dependency of VirtualBox. OfBorg has built VBox with Open Watcom: See: https://logs.nix.ci/?key=nixos/nixpkgs.85772&attempt_id=dc503e7c-8d77-4539-aaba-7a377929a231
I think the confusion stems from this change:
I chose the comment poorly, because it meant that setting this option to |
Yeah, What about just making the
|
VirtualBox ships with "alternative BIOS sources" for its virtual BIOS. These are generated by first compiling the BIOS C sources with the Open Watcom toolchain, disassembling the output and checking in the disassembly into the VirtualBox repo. The result means that the BIOS C code cannot be patched, because it's not compiled from the C sources, if Open Watcom is not there. As Open Watcom is now available in nixpkgs, we can just ignore the alternative BIOS sources and compile it from C directly.
@flokli Good point. Done. |
Motivation for this change
In order to patch VirtualBox BIOS sources, VirtualBox has to be able to use the (ancient) OpenWatcom C/C++ toolchain to build its BIOS.
This PR adds the latest working Open Watcom release (consisting only of static binaries) and changes VirtualBox to use it to build its BIOS.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)/cc @messemar @tfc @B4dM4n @svanderburg @B4dM4n