fd49155848
This adds a simple test running GNU Hello cross-compiled for armv7l and aarch64 inside a x86_64 VM with configured binfmt. We already build the cross toolchains in other invocations, and building hello itself is small.
25 lines
635 B
Nix
25 lines
635 B
Nix
# Teach the kernel how to run armv7l and aarch64-linux binaries,
|
|
# and run GNU Hello for these architectures.
|
|
import ./make-test-python.nix ({ pkgs, ... }: {
|
|
name = "systemd-binfmt";
|
|
machine = {
|
|
boot.binfmt.emulatedSystems = [
|
|
"armv7l-linux"
|
|
"aarch64-linux"
|
|
];
|
|
};
|
|
|
|
testScript = let
|
|
helloArmv7l = pkgs.pkgsCross.armv7l-hf-multiplatform.hello;
|
|
helloAarch64 = pkgs.pkgsCross.aarch64-multiplatform.hello;
|
|
in ''
|
|
machine.start()
|
|
assert "world" in machine.succeed(
|
|
"${helloArmv7l}/bin/hello"
|
|
)
|
|
assert "world" in machine.succeed(
|
|
"${helloAarch64}/bin/hello"
|
|
)
|
|
'';
|
|
})
|