2
0
Fork 0

Build base-nova using Genode Labs build system

This commit is contained in:
Emery Hemingway 2020-02-19 00:23:26 +01:00
parent 7d5d2a3c5e
commit 895c06ee0b
6 changed files with 19 additions and 10 deletions

View File

@ -2,7 +2,7 @@
{ stdenv, nixpkgs, dhallApps, packages }:
let inherit (packages.genode) base-nova;
let inherit (packages) base-nova;
in nixpkgs.writeScriptBin "nova-image" (with nixpkgs.buildPackages;
let inherit (stdenv) cc;
@ -31,6 +31,6 @@ in nixpkgs.writeScriptBin "nova-image" (with nixpkgs.buildPackages;
-T${base-nova.src}/repos/base-nova/src/core/core-bss.ld \
-z max-page-size=0x1000 \
-Ttext=0x100000 -gc-sections \
"''${CORE_NOVA:-${base-nova}/lib/core-nova.o}" "$TMPDIR/boot_modules.o"
"''${CORE_OBJ:-${base-nova}/lib/core-nova.o}" "$TMPDIR/boot_modules.o"
cat a.out
'')

View File

@ -42,8 +42,8 @@
export DHALL_GENODE="${packages.dhallGenode}/package.dhall"
export BASE_MANIFEST="${packages.genode.base.manifest}"
export BASE_LINUX_MANIFEST="${packages.genode.base-linux.manifest}"
export BASE_NOVA_MANIFEST="${packages.genode.base-nova.manifest}"
export BASE_HW_MANIFEST="${packages.base-hw-pc.manifest}"
export BASE_NOVA_MANIFEST="${packages.base-nova.manifest}"
export OS_MANIFEST="${packages.genode.os.manifest}"
'';
};

View File

@ -39,6 +39,20 @@ in rec {
'';
};
base-nova = buildUpstream {
name = "base-nova";
arch = "x86_64";
kernel = "nova";
board = "pc";
targets = [ "core" "timer" ];
libTargets = [ "ld-nova" ];
postInstall = ''
mkdir -p $out/lib
mv $out/bin/*.o $out/lib/
mv $out/bin/ld-nova.lib.so $out/lib/ld.lib.so
'';
};
bender = legacyPackages.buildPackages.callPackage ./bender { };
dhallGenode = dhallPackages.genode;

View File

@ -246,11 +246,6 @@ let
repoInputs = [ base ];
};
base-nova = buildRepoGcc' {
repo = "base-nova";
repoInputs = [ base ];
};
os = buildRepoLlvm' {
repo = "os";
repoInputs = [ base ];

View File

@ -41,7 +41,7 @@ let
}@t:
let
manifest = lib.mergeManifests (with testPkgs;
[ genode.base-nova genode.os sotest-producer ]
[ base-nova genode.os sotest-producer ]
++ testInputs);
env' = {
DHALL_PRELUDE = "${testPkgs.dhallPrelude}/package.dhall";

View File

@ -11,7 +11,7 @@ in { config =
Genode.Init.Start::{
, binary = "test-pci"
, exitPropagate = True
, resources = { caps = 96, ram = Genode.units.MiB 2 }
, resources = { caps = 96, ram = Genode.units.MiB 3 }
, routes =
[ Genode.ServiceRoute.child "Platform" "platform_drv" ]
}