Skip to content

Build KoraOS

Fabien Bavent edited this page Aug 15, 2019 · 5 revisions

Build the KoraOS distribution

Writing in progress

Unpack sources

The KoraOS distribution is store on a repository with lots of modules. Clone all submodules to build the full distribution.

The submodules are splitted into 5 repositories: kernel, libs, drivers, utils and apps.

Configure the toolchain

You must have i386-kora-gcc and co. in your path. The best solution is to re-compile from scratch (see var/src/cross_gcc.sh) It's faster to download binaries but you might have some configuration issues.

Download x86_64 tools for i386-kora

Run configure script

For all my C project, the configure script is not mandatory and will refused to run in the source folder. However it provide a widly shared interface to save some options which might be required by the Makefile.

This script is not build using autoconf or automake tools. The script only create a new Makefile that warp the default one with predefined variables. For this reason it only work if you build on another directory, which is adviced.

Exemple : /path/to/sources/configure --target=i386-pc-kora --sysdir=/path/to/toolchain --prefix=/path/for/installation

Note that prefix is not used for make install as you obviously can't install the distribution. But is will serve in future to update automatically the toolchain headers and libraries.

Update the toolchain

You might not want to rebuild gcc everytime, but any change on libc or kernel headers might require you to update the toolchain directories.

Make sure your script have correctly been configure with the sysdir variable correctly set. Then you can execute make setup to update the toolchain.

This will copy headers from libc and the kernel but also the libc.so, crt0.o.

Make

If properly configured and the toolchain updated the make command will build alls and package the distribution image (on pc it's an iso file).

To change the products available on the distribution you will need to change some setttings (not handy yet). This allow to change default drivers, commands, application or libraries...

Run

qemu-system-i386 -cdrom Kora.iso -serial stdout