diff --git a/lib/default.nix b/lib/default.nix index 981fe24..e558bf8 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -88,11 +88,12 @@ in rec { dhall to-directory-tree --output bootstrap \ <<< "${./compile-boot.dhall} ${bootstrapDhall} \"bootstrap\"" + mkdir -p $out build_core \ "${testPkgs.base-hw-pc.bootstrapObj}" \ bootstrap/modules_asm \ 0x00200000 \ - $out + $out/image.elf ''; }; @@ -102,6 +103,8 @@ in rec { build = compileBoot name env boot; buildCommand = '' + mkdir -p $out + # compile the boot modules into one object file $CC -c -x assembler -o "boot_modules.o" "$build/modules_asm" @@ -113,7 +116,7 @@ in rec { -z max-page-size=0x1000 \ -Ttext=0x100000 -gc-sections \ "${testPkgs.base-nova.coreObj}" boot_modules.o \ - -o $out + -o $out/image.elf ''; }; diff --git a/packages/bender/default.nix b/packages/bender/default.nix index 748c975..f0dd0fc 100644 --- a/packages/bender/default.nix +++ b/packages/bender/default.nix @@ -19,5 +19,5 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; cmakeFlags = [ "-DVERSION=${version}" ]; - installPhase = "install standalone/bender $out"; + installPhase = "install -Dt $out standalone/bender"; } diff --git a/tests/default.nix b/tests/default.nix index c6eb213..58608b3 100644 --- a/tests/default.nix +++ b/tests/default.nix @@ -79,10 +79,10 @@ listToAttrs ((concatLists (map (testsToList) [ linux hw nova ]))) // { name = "sotest"; buildCommand = '' mkdir zip; cd zip - cp "${testPkgs.bender}" bender + cp "${testPkgs.bender}/bender" bender cp "${testPkgs.NOVA}/hypervisor-x86_64" hypervisor ${concatStringsSep "\n" - (map (test: "cp ${test.image} ${test.image.name}") allTests)} + (map (test: "cp ${test.image}/image.elf ${test.image.name}") allTests)} mkdir -p $out/nix-support ${buildPackages.zip}/bin/zip "$out/binaries.zip" * cat << EOF > "$out/project.json" diff --git a/tests/driver-hw.nix b/tests/driver-hw.nix index 075a87e..db0d6f9 100644 --- a/tests/driver-hw.nix +++ b/tests/driver-hw.nix @@ -90,12 +90,12 @@ let global env global spawn_id - set TEST_MIB [expr (([file size ${image}] + $env(TEST_RAM)) >> 20) + 24] + set TEST_MIB [expr (([file size ${image}/image.elf] + $env(TEST_RAM)) >> 20) + 24] spawn ${buildPackages.qemu_test}/bin/qemu-system-x86_64 \ -machine q35 -serial mon:stdio -nographic \ -m size=$TEST_MIB \ - -kernel "${testPkgs.bender}" \ - -initrd "${image}" \ + -kernel "${testPkgs.bender}/bender" \ + -initrd "${image}/image.elf" \ ${toString qemuArgs} wait_for_output $wait_for_re $timeout_value $spawn_id } diff --git a/tests/driver-nova.nix b/tests/driver-nova.nix index 6f09575..281793f 100644 --- a/tests/driver-nova.nix +++ b/tests/driver-nova.nix @@ -91,13 +91,13 @@ let global env global spawn_id - set TEST_MIB [expr (([file size ${image}] + $env(TEST_RAM)) >> 20) + 24] + set TEST_MIB [expr (([file size ${image}/image.elf] + $env(TEST_RAM)) >> 20) + 24] spawn ${buildPackages.qemu_test}/bin/qemu-system-x86_64 \ -machine q35 -cpu phenom -smp 2 \ -serial mon:stdio -nographic \ -m size=$TEST_MIB \ - -kernel "${testPkgs.bender}" \ - -initrd "${testPkgs.NOVA}/hypervisor-x86_64 arg=iommu novpid serial,${image}" \ + -kernel "${testPkgs.bender}/bender" \ + -initrd "${testPkgs.NOVA}/hypervisor-x86_64 arg=iommu novpid serial,${image}/image.elf" \ ${toString qemuArgs} wait_for_output $wait_for_re $timeout_value $spawn_id } diff --git a/tests/sotest_hw_config.dhall b/tests/sotest_hw_config.dhall deleted file mode 100644 index e458f29..0000000 --- a/tests/sotest_hw_config.dhall +++ /dev/null @@ -1,4 +0,0 @@ -{ boot_items = - [ { exec = "bender", load = [ "image.elf" ], name = "Genode base-hw" } ] -, extra_dependencies = [ { name = "bender", url = "https://sotest.io/bender" } ] -} diff --git a/tests/sotest_nova_config.dhall b/tests/sotest_nova_config.dhall deleted file mode 100644 index c38b51e..0000000 --- a/tests/sotest_nova_config.dhall +++ /dev/null @@ -1,8 +0,0 @@ -{ boot_items = - [ { exec = "bender" - , load = [ "hypervisor serial novga iommu", "image.elf" ] - , name = "NOVA with Genode" - } - ] -, extra_dependencies = [ { name = "bender", url = "https://sotest.io/bender" } ] -}