User Tools


kernel:kiss

This is an old revision of the document!


Table of Contents

KISS Installation

First we wanna have an ssh connection to copy and paste the following commands in this guide:

sudo ip addr add 192.168.1.42/24 dev eth0
sudo ip route add default via 192.168.1.1

Then activate ssh and remove change some settings:

sudo rc-service sshd start
----
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
sudo sed -i 's/^#\?PermitEmptyPasswords.*/A*
---

Now give yourself an Ip

ip addr add 192.168.1.10/24 dev eth0
ip link set eth0 up

And from the laptop you are reading this guide:

ssh root@192.168.1.42   <- hit enter 

2.0

Now wipe everything that preexisted on your drive and format it correctly:cf

wipefs -a /dev/sda
---
sudo sfdisk /dev/sda <<EOF
label: dos
device: /dev/sda
unit: sectors

/dev/sda1 : start=2048, type=83, bootable
EOF

And parition it as `mkfs.ext4`

sudo mkfs.ext4 /dev/sda1

Downloading the Tarball

Begin by downloading the latest KISS tarball:

# Repository to use. Pick "" for KISS, "g" for GKISS.
prefix=""

# Get version information
baseurl="https://codeberg.org/kiss-community/${prefix}repo/releases"
ver=$(basename "$(curl -w "%{url_effective}\n" -I -L -s -S $baseurl/latest -o /dev/null)")
file=${prefix}kiss-chroot-$ver.tar.xz
url="$baseurl/download/$ver/$file"

# Download the tarball and extract it to /mnt:

curl -fLO "$url"
tar xvf $file -C /mnt

3.0

We are now able to access our new meta-distro to download the repos:

/mnt/bin/kiss-chroot /mnt
---
git clone https://codeberg.org/kiss-community/repo /var/db/kiss/repo
git clone https://codeberg.org/kiss-community/community /var/db/kiss/community

etc/profile should also contain the following to tune package compilation:

sh -c 'cat >> /etc/profile << "EOF"

# KISS repositories:
KISS_PATH=/var/db/kiss/repo/core
KISS_PATH=$KISS_PATH:/var/db/kiss/repo/extra
KISS_PATH=$KISS_PATH:/var/db/kiss/repo/wayland
KISS_PATH=$KISS_PATH:/var/db/kiss/community/community

# Compilation tuning:
export CFLAGS="-O3 -pipe -march=native"
export CXXFLAGS="$CFLAGS"
export MAKEFLAGS="-j$(nproc)"            <- nrpoc prints out the number of threads
EOF'
---
source /etc/profile

Now you can update the repositories and rebuild all installed packages (~2hrs):

kiss update
cd /var/db/kiss/installed && kiss build *

4.0

Before we download the kernel we need to install some dependecys:

kiss b e2fsprogs libelf baseinit util-linux eudev dhcpcd grub vim libelf perl 

Now we can download the kernel and extract it (~2hrs):

curl -fLO https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.17.7.tar.xz
---
tar xvf linux*
cd linux*/
make defconfig
make -j$(nproc)