You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+5-7Lines changed: 5 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,7 +58,7 @@ int main(){
58
58
59
59
A full "Hello world" service with a working nix workflow is available in the [hello world repo](https://github.com/includeos/hello_world). The repository can also be used as a a starting point for developing your own IncludeOS service.
60
60
61
-
For more advanced service examples see the the integration tests (under ./IncludeOS/test/\*/integration).
61
+
For more advanced service examples see the the integration tests (under `./IncludeOS/test/\*/integration`).
62
62
63
63
### <aname="develop_kernel"></a> Kernel development
64
64
@@ -70,19 +70,17 @@ $ nix-build
70
70
71
71
This will build the toolchain and all IncludeOS kernel libraries.
72
72
73
-
Note that the first build will take some time to complete, as the IncludeOS toolchain is rebuilt from source code. This includes clang, llvm, libcxx, musl and so on. There is no nix binary cache available for these files at the moment. Subsequent builds will go much faster when the toolchain has been cached in the local nix-store.
73
+
Note that the first build will take some time (~7 hours on our machines) to complete, as the IncludeOS toolchain is rebuilt from source code. This includes clang, llvm, libcxx, musl and so on. There is no nix binary cache available for these files at the moment. Subsequent builds will go much faster when the toolchain has been cached in the local nix-store.
74
74
75
75
After making changes to the kernel, run `nix-build` again to get new binaries. If you are iterating on changes in one section of the kernel you can speed up the build significantly by using ccache. All `nix-build` and `nix-shell` commands in this section support the optional parameter `--arg withCcache true`.
76
76
77
-
It's not always practical to rebuild the whole kernel during development. You can get a development shell with a preconfigured environment using `shell.nix`:
77
+
It's not always practical to rebuild the whole kernel during development. You can get a development shell with a preconfigured environment using `develop.nix`:
78
78
79
79
```bash
80
-
$ nix-shell
80
+
$ nix-shell ./develop.nix
81
81
```
82
82
83
-
Further instructions will be shown for optionally configuring VM networking or overriding the build path when starting the shell.
84
-
85
-
By default th shell will also build the unikernel from `example.nix`. The example unikernel can be booted from within the shell:
83
+
Alternatively, you may want to use `nix-shell` by itself, which builds the example unikernel found in `./example/` and puts you in a convenient shell for testing out a unikernel. The example unikernel image can be booted from within the shell:
0 commit comments