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