6f9861ccf7
Change-Id: I3dd3de1611f55d92b1f3c1edde28d4807a5aec8a |
||
---|---|---|
.. | ||
bootstrap.sh | ||
crosstools.sh | ||
Dockerfile | ||
Dockerfile.fedora | ||
haikuports_build.sh | ||
haikuports_chroot.sh | ||
Makefile | ||
prep.sh | ||
README.md |
Haiku bootstrap in a container
The Haiku bootstrap process is highly dependant on what tools are installed on the host machine. Bootstraped haikuporter builds can pick up on things like the locally installed clang vs the gcc toolchain we are providing.
By running bootstrap within a container, we can better isolate the process from the end users host and create more-reproduceable bootstrap builds.
This is designed for GCC bootstraps. In theory if Haiku changed to clang, the need for a crosstools toolchain is removed... however the clang work is too early to know exactly how this process will work.
Requirements
- docker
- make
- An internet connection
Process
- Build the docker container
make
- Check out the required sources
make prep
- Build the crosstools (gcc only) for your target architecture
TARGET_ARCH=arm make crosstools
- Begin the bootstrap (building Haiku + the required bootstrap hpkgs)
TARGET_ARCH=arm make bootstrap
- If you need to enter the build environment,
TARGET_ARCH=arm make enter
will quickly let you do so. - profit!