-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
nixos/release-combined: adds aarch64-linux as supported #52534
Conversation
This was previously removed in 74c4e30. This will allow hydra to build iso and sd images for aarch64-linux, and share a common channel with the x86-based platforms.
cc @vielmetti |
9265c96
to
ae2d813
Compare
And filters out JDK which can't be built on aarch64-linux.
ae2d813
to
42e7e39
Compare
I'm not entirely pleased with the use of First, there is the Then, there are some tests that are not "anything except aarch64-linux", but better described as "only i686-linux and x86_64-linux". For the latter case, adding something like |
(except ["aarch64-linux"] nixos.tests.boot.biosCdrom) | ||
#(except ["aarch64-linux"] nixos.tests.boot.biosUsb) # disabled due to issue #15690 | ||
(except ["aarch64-linux"] nixos.tests.boot.uefiCdrom) | ||
(except ["aarch64-linux"] nixos.tests.boot.uefiUsb) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
:/ bummer to see all these excepted. What's the scoop?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is done so to fast-track this PR, while keeping the channel advancing, while working on making them work.
Right now the issue is that the trace stops at the map
function, and I need to dig to see what's the issue. (Except for bios* tests which obviously won't work.) Here's using all nixos.tests.boot.uefiUsb
.
~/tmp/nixpkgs/nixpkgs $ time nix-instantiate nixos/release-combined.nix --show-trace
warning: dumping very large path (> 256 MiB); this may run out of memory
error: while evaluating 'hydraJob' at /Users/samuel/tmp/nixpkgs/nixpkgs/lib/customisation.nix:157:14, called from /Users/samuel/tmp/nixpkgs/nixpkgs/nixos/release-combined.nix:41:12:
while evaluating the attribute 'drvPath' at /Users/samuel/tmp/nixpkgs/nixpkgs/lib/customisation.nix:174:13:
while evaluating the attribute 'drvPath' at /Users/samuel/tmp/nixpkgs/nixpkgs/lib/customisation.nix:141:13:
while evaluating the attribute 'constituents' of the derivation 'nixos-19.03pre56789.gfedcba' at /Users/samuel/tmp/nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:185:11:
while evaluating anonymous function at /Users/samuel/tmp/nixpkgs/nixpkgs/nixos/release-combined.nix:50:35, called from undefined position:
attribute 'aarch64-linux' missing, at /Users/samuel/tmp/nixpkgs/nixpkgs/nixos/release-combined.nix:50:43
Command exited with non-zero status 1
I think (hope) that all of the installer and boot tests that could work on aarch64 are currently failing on a common issue. They all fail with what looks like the same error "attribute 'aarch64-linux' missing", which could realistically be from a common cause.
@@ -63,24 +65,24 @@ in rec { | |||
nixos.tests.chromium.x86_64-linux or [] | |||
(all nixos.tests.firefox) | |||
(all nixos.tests.firewall) | |||
(all nixos.tests.gnome3) | |||
(except ["aarch64-linux"] nixos.tests.gnome3) | |||
nixos.tests.installer.zfsroot.x86_64-linux or [] # ZFS is 64bit only |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if this can be extended to aarch64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Though this is already documented here why it fails.
# libsmbios is unsupported on aarch64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean the aarch64 + zfs test :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
~/tmp/nixpkgs/nixpkgs 130 $ time nix-instantiate nixos/release-combined.nix
warning: dumping very large path (> 256 MiB); this may run out of memory
error: Non-EFI boot methods are only supported on i686 / x86_64
(use '--show-trace' to show detailed location information)
Command exited with non-zero status 1
This would be part of the work needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. It'd be maybe good to add a comment indicating we'd like to extend those test blocks to include aarch64, but not sure it is specifically needed.
This "broke" eval. Or more rightly so: this strained eval to its tipping point. Using
With this PR applied:
Contrast this to before this PR was applied
Where it took GiB 8.32 The course of action for backtracking this PR, if no other solution can be implemented quickly:
This will allow |
Motivation for this change
This was previously removed in 74c4e30 .
This will allow hydra to build iso and sd images for aarch64-linux, and share a common channel with the x86-based platforms.
Additionally build
iso_minimal_new_kernel
on aarch64-linus too.With #51397 merged, the UEFI iso images build for aarch64-linux too.
#nixos-dev
discussionThings done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)Tested this way:
The trace seen here is also present on the branch this is based-off from. The time it took, though, was 4:33.09.
cc @edolstra