jedavies-dev / kiss-aarch64

KISS Linux on aarch64

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This repo is now archived.

Please check Glasnost Linux if you want to run KISS Linux on other architectures.

KISS Linux for aarch64

This is a repository containing an unofficial port of KISS Linux to aarch64. The tarball is built for generic aarch64, currently being tested on the Pinebook Pro.

KISS Linux aarch64 screenshot

Installation

You can install the root tarball from another distro, same as on x86_64. See https://k1sslinux.org/install for general installation details.

Note that you should check this repo onto your machine instead of the main KISS repo. This repo includes the main KISS repo as a submodule. Once you've checked out this repo to your machine, your KISS_PATH should look something like this:

/home/myuser/kiss-aarch64/core:/home/myuser/kiss-aarch64/overrides:/home/myuser/kiss-aarch64/extra:/home/myuser/kiss-aarch64/modules/repo/extra:/home/myuser/kiss-aarch64/modules/repo/xorg

When first checking out the repo and you've set your KISS_PATH, be sure to run kiss u before building anything. This is to ensure the modules are checked out.

Pinebook Pro instructions

Create a partition on the eMMC drive or SD card, format, extract the tarball to it (using sudo), then write the bootloader files to the drive.

Building a kernel

The Manjaro kernel is currently based on Linux 5.7 with patches for the Pinebook Pro: https://gitlab.manjaro.org/tsys/linux-pinebook-pro

Installing the bootloader

Drive allocation on the Pinebook Pro:

Device Description
/dev/mmcblk1 Internal eMMC drive
/dev/mmcblk2 SD Card reader

Using /dev/mmcblk1 as an example:

kiss b uboot
kiss i uboot
cd /boot
sudo dd if=idbloader.img of=/dev/mmcblk1 seek=64
sudo dd if=u-boot.itb of=/dev/mmcblk1 seek=16384
mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d boot.txt boot.scr

Suggested build flags for Pinebook Pro

export CFLAGS="-march=armv8-a+crc+simd+crypto-pipe -O2"
export CXXFLAGS=$CFLAGS
export MAKEFLAGS="-j5"

Add the environment variables to your .profile to persist them.

FAQ

How come this repo isn't updated very often? Is it behind x86_64 KISS?

This repo includes the main KISS Linux repo as a module. Therefore whenever the main x86_64 repo is updated, this repo receives those updates also. There is no need for me to check version updates etc. to this repo - you will receive updates from the main KISS repo automatically.

Is Rust/Firefox provided?

Not currently. I do not have time to maintail an aarch64-musl tarball since I am spending more time on glasnost. Using a bootstrap from Void or Alpine may be possible in future.

How do I build a kernel for my device?

Since the hardware configuration of ARM devices varies greatly, this will depend on your device. A good place to start is to determine what kernel your device is currently using (e.g. under some other distro). Is it a mainline kernel or a fork? You can copy the config from /proc/config.gz to build a new kernel, or you may be able to boot using a pre-built kernel from another distro. Bootloaders also will vary a lot across devices, so a good starting point is to check the setup of a known working distro for your device.

About

KISS Linux on aarch64


Languages

Language:Shell 100.0%