Build base-nova using Genode Labs build system
This commit is contained in:
parent
7d5d2a3c5e
commit
895c06ee0b
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
{ stdenv, nixpkgs, dhallApps, packages }:
|
{ stdenv, nixpkgs, dhallApps, packages }:
|
||||||
|
|
||||||
let inherit (packages.genode) base-nova;
|
let inherit (packages) base-nova;
|
||||||
in nixpkgs.writeScriptBin "nova-image" (with nixpkgs.buildPackages;
|
in nixpkgs.writeScriptBin "nova-image" (with nixpkgs.buildPackages;
|
||||||
let inherit (stdenv) cc;
|
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 \
|
-T${base-nova.src}/repos/base-nova/src/core/core-bss.ld \
|
||||||
-z max-page-size=0x1000 \
|
-z max-page-size=0x1000 \
|
||||||
-Ttext=0x100000 -gc-sections \
|
-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
|
cat a.out
|
||||||
'')
|
'')
|
||||||
|
|
|
@ -42,8 +42,8 @@
|
||||||
export DHALL_GENODE="${packages.dhallGenode}/package.dhall"
|
export DHALL_GENODE="${packages.dhallGenode}/package.dhall"
|
||||||
export BASE_MANIFEST="${packages.genode.base.manifest}"
|
export BASE_MANIFEST="${packages.genode.base.manifest}"
|
||||||
export BASE_LINUX_MANIFEST="${packages.genode.base-linux.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_HW_MANIFEST="${packages.base-hw-pc.manifest}"
|
||||||
|
export BASE_NOVA_MANIFEST="${packages.base-nova.manifest}"
|
||||||
export OS_MANIFEST="${packages.genode.os.manifest}"
|
export OS_MANIFEST="${packages.genode.os.manifest}"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
|
@ -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 { };
|
bender = legacyPackages.buildPackages.callPackage ./bender { };
|
||||||
|
|
||||||
dhallGenode = dhallPackages.genode;
|
dhallGenode = dhallPackages.genode;
|
||||||
|
|
|
@ -246,11 +246,6 @@ let
|
||||||
repoInputs = [ base ];
|
repoInputs = [ base ];
|
||||||
};
|
};
|
||||||
|
|
||||||
base-nova = buildRepoGcc' {
|
|
||||||
repo = "base-nova";
|
|
||||||
repoInputs = [ base ];
|
|
||||||
};
|
|
||||||
|
|
||||||
os = buildRepoLlvm' {
|
os = buildRepoLlvm' {
|
||||||
repo = "os";
|
repo = "os";
|
||||||
repoInputs = [ base ];
|
repoInputs = [ base ];
|
||||||
|
|
|
@ -41,7 +41,7 @@ let
|
||||||
}@t:
|
}@t:
|
||||||
let
|
let
|
||||||
manifest = lib.mergeManifests (with testPkgs;
|
manifest = lib.mergeManifests (with testPkgs;
|
||||||
[ genode.base-nova genode.os sotest-producer ]
|
[ base-nova genode.os sotest-producer ]
|
||||||
++ testInputs);
|
++ testInputs);
|
||||||
env' = {
|
env' = {
|
||||||
DHALL_PRELUDE = "${testPkgs.dhallPrelude}/package.dhall";
|
DHALL_PRELUDE = "${testPkgs.dhallPrelude}/package.dhall";
|
||||||
|
|
|
@ -11,7 +11,7 @@ in { config =
|
||||||
Genode.Init.Start::{
|
Genode.Init.Start::{
|
||||||
, binary = "test-pci"
|
, binary = "test-pci"
|
||||||
, exitPropagate = True
|
, exitPropagate = True
|
||||||
, resources = { caps = 96, ram = Genode.units.MiB 2 }
|
, resources = { caps = 96, ram = Genode.units.MiB 3 }
|
||||||
, routes =
|
, routes =
|
||||||
[ Genode.ServiceRoute.child "Platform" "platform_drv" ]
|
[ Genode.ServiceRoute.child "Platform" "platform_drv" ]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue