| commit | 67f9d096fb66d9f9298542d98d128a42b9d43695 | [log] [tgz] |
|---|---|---|
| author | Leopold Schabel <leo@nexantic.com> | Tue Oct 22 15:41:42 2019 +0200 |
| committer | Leopold Schabel <leo@nexantic.com> | Tue Oct 22 15:41:42 2019 +0200 |
| tree | cb548c7e7a63df850302f6bb42a5a6bb3e5d2700 | |
| parent | 40ab4b41d338657c67a7fa72a3f76e26f582d98e [diff] |
Refactor build_artifacts.sh and makefile
- Move everything to .data, .vendor, .artifacts and .bin in order to cleanly separate build input and output.
- Sprinkle some subshells on build_artifacts.sh to make it fail more gracefully.
- Fix fetch_third_party.sh check.
- GOBUILD make helper.
- Dockerfile with build dependencies.
Test Plan:
Ran `make clean` and build steps described in README.md, it boots:
{P84}
X-Origin-Diff: phab/D195
GitOrigin-RevId: 4106534c7248931b79e93e2a13153482033cd0d8
The build uses a Fedora 30 base image with a set of dependencies:
modprobe kvm
podman build -t smalltown-builder .
podman run -it --rm \
-v $(pwd):/work \
-v /dev/null:/work/.git \
-v /dev/null:/work/.idea \
-v /dev/null:/work/.arcconfig \
--device /dev/kvm \
smalltown-builder bash
scripts/fetch_third_party.sh
scripts/build_artifacts.sh
make launch
Exit qemu using the monitor console: Ctrl-A c quit.
If your host is low on entropy, consider running rngd from rng-tools for development.