2
0
Fork 0

Update README

This commit is contained in:
Emery Hemingway 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
- 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.
- LLVM testing and upstreaming patches.
- Formalizing Dhall configuration types.
- NixOS modules for constructing a reasonably usable Genode system. Reusing the
module system from NixOS is advantagous because a dual boot system can
share a `/nix/store` and be updated simultaneously. Work-in-progress on a
topic branch.
- NixOS modules for constructing a reasonably usable Genode system. Reusing the
module system from NixOS is advantageous because a dual boot system can
share a `/nix/store` and be updated simultaneously.
- NixOS module for NixOS guests with the ARM VMM.
- Configuration validation via a service routing prover.
# Nix Flakes
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.
## 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.
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.
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
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
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:
```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
```
@ -279,9 +289,9 @@ Others are simply introduced as an aid to the reader:
# Legal
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
committed to this repository, unless otherwise noted, shall be implicitly
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
committed to this repository, unless otherwise noted, shall be implicitly
licensed under a [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/deed)
public domain dedication.