From 3a9228411315c443d49e83142afa4e1d1d71decf Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Sun, 4 Nov 2018 09:05:15 -0600 Subject: [PATCH] docker/bootstrap: Make README.md a bit more detailed Change-Id: If095b584cd99521770280533359da5024ff745bf --- 3rdparty/docker/bootstrap/README.md | 42 +++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/3rdparty/docker/bootstrap/README.md b/3rdparty/docker/bootstrap/README.md index 48b142f3a1..5456df6911 100644 --- a/3rdparty/docker/bootstrap/README.md +++ b/3rdparty/docker/bootstrap/README.md @@ -1,8 +1,40 @@ # Haiku bootstrap in a container -1) make -2) make init -3) TARGET_ARCH=arm make crosstools -4) TARGET_ARCH=arm make bootstrap -5) ```make enter``` lets you enter the container and poke around. +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 + +1) docker +2) make +3) An internet connection + +## Process + +1) Build the docker container + +```make``` + +2) Check out the required sources + +```make init``` + + +3) Build the crosstools (gcc only) for your target architecture + +```TARGET_ARCH=arm make crosstools``` + +4) Begin the bootstrap (building Haiku + the required bootstrap hpkgs) + +```TARGET_ARCH=arm make bootstrap``` + +5) If you need to enter the build environment, ```make enter``` will quickly let you do so. 6) profit!