recipes: 00-core.order: Build Python modules after build python3
[dragora.git] / BOOTSTRAPPING.md
blobc138e15b91f080daa32782e62083dfd8b0b38a83
1 # Dragora's Cheat Sheet
3 ## Bootstrapping
5 Prerequisites:
7 - A working C compiler, system toolchain, utilities.
9 - A filesystem that supports Unix-like permissions.
11 - Enough hard disk space (7GB+) for the whole process.
13 - A superuser account is needed to perform all the steps.
15 - Clone or sync the git repository.
17 - Obtain or sync the sources (tarballs).  See the *sources/README.md* file.
19 Bootstrapping from Debian systems:
21 `apt update && apt upgrade`
23 `apt install bison build-essential file flex git lzip xorriso texinfo unzip zlib1g zlib1g-dev liblz1 liblz-dev`
25 ### Instructions:
27 Creates a cross compiler for your native architecture:
29 `./bootstrap -s0 2>&1 | tee stage0-log.txt`
31 Prepare a temporary system using the recent cross compiler:
33 `./bootstrap -s1 2>&1 | tee stage1-log.txt`
35 Enter the temporary system:
37 `./enter-chroot`
39 Start replacing the temporary system with the final system:
41 `qi order /usr/src/qi/recipes/*.order | qi build -S -p -i - 2>&1 | tee build-log.txt`
43 Set custom modifications, like a password for the superuser:
45 `passwd root`
47 Exit from the temporal session (enter-chroot):
49 `exit`
51 Produce an ISO image from the Stage 2:
53 `./bootstrap -s2 2>&1 | tee stage2-log.txt`
55 Burn or emulate the (hybrid) ISO image at
56 *OUTPUT.bootstrap/stage2/cdrom/dragora-live.iso*.
58 Hints:
60 To speed up the build procedure multiple jobs can be passed to the compiler.<br/>
61 Just give the -j option to the *bootstrap* script and pass the same one to the<br/>
62 connected *qi* in the pipe.  Consider the value for -j taking into account the<br/>
63 number of processors + 1, for example `-j3`
66 ---
68 Under the terms of the GNU Free Documentation License,
69 http://www.gnu.org/licenses/fdl.html
71 Updated: 2022-04-21