You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

#### 52 lines 2.8KB Raw Permalink Blame History

 \chapter*{Lexicon} \begin{description} \item[Continuous Integration]: \\ This refers to the process of quickly merging every commit into the same code base, before building this code base and running automated tests against it. \\ This allows quick regression detection and removes the painful work of integrating branches that have diverged a lot, since everyone pushes to the same main branch. \item[Device tree]: \\ This is a tree data structure for describing hardware. It is often used on architectures that do not provide the needed mechanisms to discover the hardware features at runtime, and is thus widely spread in the embedded world. The \textbf{Linux} kernel supports this mechanism, and on the platforms where it is in use, it is a mandatory part for booting the system. \item[Mainline, upstream]: \\ Refers to the official current version of a software - the \textbf{Linux} kernel for example - being developed. Mainlining or upstreaming is the process of adding code to the software's mainline version - to \url{http://kernel.org} for the \textbf{Linux} kernel. This process includes comments and critics from the community supporting the software and then validation of the proposed code by the developers in charge of the software part impacted by the proposed code. \item[Root filesystem (rootfs)]: \\ The root filesystem contains the executable files needed for booting the system and mounting other filesystems.\\ Thus, without a root filesystem, the \textbf{Linux} kernel will boot but hang just after, making the board unusable for the user. \item[Toolchain (and cross-compilation toolchain)]: \\ A toolchain is a set of software used to transform a source code into a set of binary executable objects. It is basically composed of a compiler, a linker, a C library, and a debugger, but some toolchains can include a lot more utilities. A cross-compilation toolchain is specifically made to produce binaries compatible with a different architecture than the one the toolchain can run on. They are widely used in the embedded world, as the target platforms usually do not have the hardware capabilities to build their own softwares. \item[User space or userland]: \\ When the Operating System separates the memory for better protection, the two parts are called \textbf{kernel space} and \textbf{user space}. By extension, at the moment where the kernel has mounted its root filesystem and launches its \textbf{init} program, one can say that the boot process has "entered user space". \end{description}