Welcome to Kreato Linux installation guide!
It is assumed that you have a partition layout already setup.
It is also assumed that you are using a UEFI system.
Kreato Linux doesn’t have a live ISO image. It is assumed that you would start the installation from another Linux installation.
If you do not have a working Linux install, we recommend Arch Linux LiveISO for installation.
Here be dragons!
Keep in mind that Kreato Linux is in ALPHA stage and will have issues.
If you want a more polished experience, please wait until it is announced to be stable.
By continuing to install and use Kreato Linux, you agree that you have a good understanding of Linux systems.
Any basic issues/anything not related to Kreato Linux will be closed without warning.
Get rootfs tarball
First step should be to get the rootfs tarball. Kreato Linux installs through a rootfs (Like Gentoo). You can get the latest nightly through Github Actions.
Choosing the right tarball
Kreato Linux is a modular distribution. There are four build types currently available.
- and builder-systemd-rootfs.
nocc-rootfs is completely built by GitHub Actions and as the name implies, doesnt have any compilers by default. You can use binaries to install any compilers, or dont build at all and use the system with just binaries.
builder-rootfs is also built by GitHub actions and comes with gcc.
builder-gnu-rootfs is just builder-rootfs with GNU coreutils, this is for building problematic packages with Busybox such as systemd.
builder-systemd-rootfs is builder-gnu-rootfs but uses systemd instead of Jumpstart.
Mount the partition you are gonna install it to
Once downloaded, extract the zip file and you will get a tarball.
Extract the tarball using the command
tar --same-owner -xvf kreato-linux-*.tar.gz -C /mnt
Once extracted, we can move on to chrooting.
Before chrooting, mount your EFI partition to
Run these commands to chroot.
mount -o bind /dev /mnt/dev
mount -t proc none /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /tmp /mnt/tmp
chroot /mnt /bin/bash
And you should be in!
Installing base system packages
Binary vs. Source
Kreato Linux offers 2 choices for installation.
- Source based (compiling software),
- And binary based (installing from binary repository).
Both choices have their own advantages.
Advantages and disadvantages of building packages
- Updates come faster.
- Has more customizability and optimization options.
- Building is slower than downloading a binary tarball.
Advantages and disadvantages of binary packages
- Updates are available with a lag.
- Has less customizability.
- Doesn’t require building packages, making it more suitable to older/less powerful systems.
- Is not currently stable, packages may not even exist on the mirror.
This installation guide will assume that you are gonna install binary packages (
kpkg install packagename). If you want to build packages, please change
kpkg install to
kpkg build so it builds the packages instead of installing the binary.
Stable repositories vs master
Kreato Linux has 2 branches in official repositories named
As the name implies,
stable is the stable branch.
master is the unstable branch.
Advantages and disadvantages of stable
- Packages that are added in stable are usually well-tested and ready for production.
- Packages may be out of date compared to the master branch.
- Most recent additions wont be there, atleast until they are considered well-tested.
- Is the default repository.
Advantages and disadvantages of master.
- It is cutting edge, it will get the updates first.
- Packages may be for a more recent, unreleased version of
- Most recent additions and improvements will be there.
- Is not the default unless you build
Kreato Linux is mostly focused on the master branch for now, but we try to keep stable recent enough.
You can switch to the branches by editing
/etc/kpkg/kpkg.conf. If the file doesn’t exist, run
kpkg since it’ll generate the files for you.
Now we can continue with installing base system packages.
Installing the init system
Kreato Linux includes multiple init systems. systemd, OpenRC and Jumpstart exist as a option. Jumpstart is the default and recommended option.
- If you want systemd; you can install
kpkg install systemd. Systemd also comes by default in builder-systemd-rootfs.
- If you want OpenRC: you can install
kpkg install openrc
- If you want Jumpstart, it is installed by default on every rootfs except
Installing networking tools
dhcpcd is recommended. run
kpkg install dhcpcd to install
You should install
wpa_supplicant aswell if you need Wi-Fi connectivity. run
kpkg install wpa_supplicant to install it.
Installing the kernel
You can either build your own kernel or use Kreato Linux’s kernel, that uses Gentoo’s kernel configuration.
It is recommended to build your own kernel, since it will be much more minimal and will compile faster (if you are building the package).
You can run
kpkg install linux to install the prebuilt kernel.
As for building your own kernel, you can check out This video.
Building the initramfs
You can use either
dracut, which doesn’t work on Busybox systems at the moment, or
Both are valid options and both are tested.
Keep in mind that
dracut has been only tested on systems using systemd, your mileage may vary.
Installing the bootloader
Kreato Linux offers multiple bootloaders.
You can use Limine or Grub.
Grub is the most tested option.
You can install Grub by running
kpkg install grub.
You can then install it to
/boot like so;
grub-install --target=x86_64-efi --efi-directory=/boot
Then generate the config;
grub-mkconfig -o /boot/grub/grub.cfg
As for Limine, you can install it by running
kpkg install limine.
Configuration is already explained greatly on Arch Wiki, so i wont repeat it here.
Change the root password
You should change the root password by running this command;
If you want to do so, you can also add additional users with
Now you should be able to boot Kreato Linux by itself.
Setting up the locale
You can set up the locale by running these commands. Change
LOCALE=en_US with your language (Example;
LOCALE=de_DE for German)
mkdir -p /usr/lib/locale
localedef -i $LOCALE -c -f UTF-8 $LOCALE
echo "export LANG=$LOCALE.UTF-8" >> /etc/profile
As the repositories are very tiny, you may need Flatpak to get packages.
kpkg install flatpak
Then you can get apps from Flathub by running;
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Installing a Window Manager
Kreato Linux only offers
sway for now.
You can install sway by running
kpkg install sway.
More Wayland window managers are coming soon.
You can also install foot, a terminal by running
kpkg install foot\
Installing Desktop Environments
Kreato Linux only offers GNOME for now in terms of desktop environments.
Install it by running
kpkg install gnome.
You can then enable and start GDM as a display manager by running
jumpctl enable gdm --now or
systemctl enable gdm --now.
You can also start GNOME manually by running
XDG_SESSION_TYPE=wayland dbus-run-session gnome-session.
You can tinker with your setup, install additional software, package something, etc.
If you want to contribute to Kreato Linux, you can look at the Contribution Guide.