User Tools


kernel:kiss

Table of Contents

KISS Installation

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

Then activate ssh and remove change some settings:

vim /etc/ssh/sshd_config
---
PermitRootLogin yes

Now give yourself an Ip

ip addr add 192.168.1.10/24 dev eth0
ip link set eth0 up
rc-service sshd start

And from the device you are reading this guide:

ssh root@192.168.1.10    <- enter the live ISO pw

2.0

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

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

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

And parition it as `mkfs.ext4`

sudo mkfs.ext4 /dev/sdaX

Now mount the drive

mount /dev/sdX /mnt

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)

4.0

Finally, be sure to give your kernel and System.map an appropriate name for the bootloader (grub) to identify:

mv /boot/vmlinuz /boot/vmlinuz-6.7.9
mv /boot/System.map /boot/System.map-6.7.9

To install grub bootloader, run the following commands:

grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

Then exit the system, unmount the drives and reboot:

exit
umount /dev/sda1
reboot

5.0