-
Notifications
You must be signed in to change notification settings - Fork 0
Build KoraOS
Writing in progress
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.
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
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 formake install
as you obviously can't install the distribution. But is will serve in future to update automatically the toolchain headers and libraries.
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
.
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...
qemu-system-i386 -cdrom Kora.iso -serial stdout
All documentation for KoraOS is licensed under creative commons (CC BY-NC 4.0)