Skip to content

Latest commit

 

History

History
55 lines (53 loc) · 2.22 KB

bootstrapping.md

File metadata and controls

55 lines (53 loc) · 2.22 KB

Installing build dependencies

We need specific packages to build this Linux distribution. Without them you can't perform the required tasks. To install required build dependencies:

Fedora

dnf groupinstall "Development Tools" "C Development Tools and Libraries"
dnf install clang lld glibc-static jq zstd bsdcpio bsdtar curl mtools libisoburn which python3 texinfo meson rsync freetype-devel zlib-devel xz-devel libzstd-devel libarchive-devel elfutils-libelf-devel openssl-devel readline-devel libffi-devel sqlite-devel

Debian/Ubuntu:

apt install build-essential clang lld autoconf automake autopoint libtool jq zstd libarchive-tools attr curl mtools xorriso python3 meson rsync libtasn1-bin libfreetype-dev zlib1g-dev liblzma-dev libzstd-dev libarchive-dev libelf-dev libssl-dev libreadline-dev libffi-dev libsqlite-dev

Ataraxia GNU/Linux:

tsukuri emerge libisoburn mtools freetype

Compiling package manager

Ataraxia GNU/Linux uses tsukuri as its package manager. You should do this commands to install tsukuri (AS ROOT):

cd /tmp
curl -OL https://github.com/ataraxialinux/tsukuri/archive/refs/tags/0.2.5.1.tar.gz
tar xpf 0.2.5.1.tar.gz
cd tsukuri-0.2.5.1
mkdir build
cd build
meson --prefix=/usr -Dsystemd=false ..
ninja
ninja install

Building

Arguments supported by "build script":

target		- Select target for build

Sub-arguments supported by "build script":

 -a <Architecture>		- Select architecture for build
 -k <Kernel>			- Select kernel for target OS
 -b <Board>			- Build OS for specific board
 -C				- Enable ccache

We have seperated the build process into seperate "targets":

 * toolchain              - This stage intended to compile cross-toolchain
 * system                 - This stage intended to compile basic target system with cross-compiler (You don't need to compile stage 0)
 * installer              - This stage intended to generate installer .iso image
 * stage                  - This stage intended to generate archive with pre-compiled OS

To begin the bootstrap process, as root: See supported platforms and architecures.

./build target -a [supported architecture] -k [kernel] -b [supported board] [target name]

And magic happens!