2
0
Fork 0

Update README

This commit is contained in:
Ehmry - 2020-06-08 18:30:40 +05:30
parent a03f7d7d63
commit 2bf4fafa59
1 changed files with 24 additions and 14 deletions

View File

@ -39,34 +39,33 @@ The worksites at the moment are:
- ARM, i686 - ARM, i686
- Write a proper test framework, or better, reuse the NixOS one. - Patching standard Nixpkgs packages by overlay. Explore Workflow and tooling
- Patching standard Nixpkgs packages by overlay. Explore Workflow and tooling
for building emulated UNIX environments. for building emulated UNIX environments.
- LLVM testing and upstreaming patches. - LLVM testing and upstreaming patches.
- Formalizing Dhall configuration types. - Formalizing Dhall configuration types.
- NixOS modules for constructing a reasonably usable Genode system. Reusing the - NixOS modules for constructing a reasonably usable Genode system. Reusing the
module system from NixOS is advantagous because a dual boot system can module system from NixOS is advantageous because a dual boot system can
share a `/nix/store` and be updated simultaneously. Work-in-progress on a share a `/nix/store` and be updated simultaneously.
topic branch.
- NixOS module for NixOS guests with the ARM VMM.
- Configuration validation via a service routing prover. - Configuration validation via a service routing prover.
# Nix Flakes # Nix Flakes
This repository is structured as a Nix flake, which is an experimental extension This repository is structured as a Nix flake, which is an experimental extension
of Nix tooling. See https://www.tweag.io/posts/2020-05-25-flakes.html for an of Nix tooling. See https://www.tweag.io/posts/2020-05-25-flakes.html for an
introduction and tutorial. introduction and tutorial.
## Build Caching ## Build Caching
The builds produced by Hydra are available as a binary cache, using the cache is The builds produced by Hydra are available as a binary cache, using the cache is
strongly recommended. strongly recommended.
The global (IPv6 only) address for the cache can be tested by fetching the The global (IPv6 only) address for the cache can be tested by fetching the
following: http://cache.server7.hq.c3d2.de/nix-cache-info. following: http://cache.server7.hq.c3d2.de/nix-cache-info.
If that fails the cache is also available within the If that fails the cache is also available within the
@ -113,6 +112,17 @@ $ nix log .#checks.x86_64-linux.nova-x86
Packaging is done using standard Nixpkgs methods, a `stdenv` is available for Packaging is done using standard Nixpkgs methods, a `stdenv` is available for
cross-compilation. See [Solo5](./packages/solo5/default.nix) as an example. cross-compilation. See [Solo5](./packages/solo5/default.nix) as an example.
## Cross-compiling Nixpkgs
Some existing packages from Nixpkgs can be built with little or no modification.
Nixpkgs is available at the path `.#legacyPackages.x86_64-linux-x86_64-genode`
(or `…-aarch64-genode`) and modifications to packages are made at an
[overlay](./overlay/default.nix). Some packages need patched, others require
additional features added to the Genode libc.
Packages that run on Linux as well as Genode should not be packaged here, those
should be added to Nixpkgs.
# Toolchain # Toolchain
The Genode Labs toolchain is available here only for Linux and in binary form. The Genode Labs toolchain is available here only for Linux and in binary form.
@ -122,7 +132,7 @@ has not been practical due to its recursive autotools build system.
The enter a shell with the toolchain: The enter a shell with the toolchain:
```shell ```shell
nix run .#legacyPackages.x86_64-linux-x86_64-genode.stdenv.cc nix shell .#legacyPackages.x86_64-linux-x86_64-genode.stdenv.cc
x86_64-unknown-genode-clang++ -v x86_64-unknown-genode-clang++ -v
``` ```
@ -279,9 +289,9 @@ Others are simply introduced as an aid to the reader:
# Legal # Legal
This repository is for trivial packaging and metadata that exists only for the This repository is for trivial packaging and metadata that exists only for the
sake of richer and more meaningful code in external repositories. All works sake of richer and more meaningful code in external repositories. All works
committed to this repository, unless otherwise noted, shall be implicitly committed to this repository, unless otherwise noted, shall be implicitly
licensed under a [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/deed) licensed under a [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/deed)
public domain dedication. public domain dedication.