karlos-toolchain/Readme.md

33 lines
1.1 KiB
Markdown
Raw Permalink Normal View History

KarlOS Toolchain
================
We have a customized version of GCC and GNU binutils that support KarlOS as a compilation target platform.
Additionally, everybody working on KarlOS needs a couple of other development tools such as mkbootimg.
This repository contains the sources for a Docker container that can build a (somewhat) portable release of
our development tools.
To compile our toolchain from source, you first need to create the container image like this:
```sh
docker buildx build -t build-karlos-toolchain:latest .
```
Then, you can run the container like this:
```sh
docker container run --rm -it -v $(pwd)/final:/final build-karlos-toolchain
```
You can then bundle the toolchain into a tarball like this:
```sh
tar cJ -C final -f x86_64-karlos-toolchain.tar.xz .
```
ToDos
-----
- Verify signatures of downloaded tarballs (keep signatures in git repo)
- Use shell variables to make it easier to change GCC/binutils versions
- Add mkbootimg to the toolchain so members don't have to install it manually
- Document the toolchain process more
- Port patches to latest versions of GCC & binutils