https://github.com/unikraft/lib-libhogweed
Port of libhogweed to Unikraft
https://github.com/unikraft/lib-libhogweed
cryptography library unikraft
Last synced: about 2 months ago
JSON representation
Port of libhogweed to Unikraft
- Host: GitHub
- URL: https://github.com/unikraft/lib-libhogweed
- Owner: unikraft
- License: other
- Created: 2020-12-08T13:58:54.000Z (over 4 years ago)
- Default Branch: staging
- Last Pushed: 2024-01-02T20:55:20.000Z (over 1 year ago)
- Last Synced: 2025-01-19T04:12:36.306Z (3 months ago)
- Topics: cryptography, library, unikraft
- Language: C
- Homepage:
- Size: 13.7 KB
- Stars: 2
- Watchers: 11
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: COPYING.md
Awesome Lists containing this project
README
Libhogweed for Unikraft
=============================This is the port of nettle's libhogweed for Unikraft as external library.
Libhogweed depends on newlib, so please make sure you add the following
line to the `LIBS` variable in your `Makefile`:
`...:$(UK_LIBS)/newlib:$(UK_LIBS)/libhogweed:...`Testing
-------For running the tests: enable the `testsuite` option in the configuration menu
and select the desired tests. Make sure to include `testutils_glue.h` and call
the `run_all_libhogweed_tests(v);` function in your main application. The parameter
`v` stands for verbose and you can either set it to `0`, non verbose mode, or `1`,
verbose mode.Applications
------------To run an application that requires a filesystem, you'll need to run them on
`kvm` and enable `9pfs`, selecting the following menu options, all of them under
`Library Configuration`:
- `libnewlib`
- `libhogweed`
- `vfscore: VFS Core Interface` ---> `vfscore: Configuration` --->
`Automatically mount a root filesystem` ---> `Default root filesystem`
---> `9PFS`
- `uk9p: 9p client`
- `9pfs: 9p filesystem`
- `devfs: devfs file system ---> Mount /dev during boot`
- `ukswrand: Software random number generator ---> Register random and
urandom device to devfs`Mounting a file system
---------------------
In order to mount the file system you'll need to provide the following Qemu
parameters:
- `-fsdev local,id=myid,path=,security_model=none`
- `-device virtio-9p-pci,fsdev=myid,mount_tag=rootfs,disable-modern=on,
disable-legacy=off`Note that if you use a different `mount_tag`, you'll need to add it in `Default
root device` in `vfscore configuration`. Also, to provide command line
arguments to the kernel, you'll need to use `-append "param1 param2 ..."`.
Please refer to the `README.md` as well as the documentation in the `doc/`
subdirectory of the main unikraft repository.