Skip to content

Latest commit

 

History

History
46 lines (38 loc) · 2.33 KB

custom_linux.md

File metadata and controls

46 lines (38 loc) · 2.33 KB

Custom linux

This repository contains a build script to create a custom linux rootfs for aarch64 systems.
You can also get premade rootfs images from the Actions tab if you want.

Important

This guide is very W.I.P and quite bad at the moment.

Why does this exist?

To provide a testing ground for mainline linux and experimental software, And to show the potential of an optimized linux install.

What software is used in this?

Window manager: Labwc (Hyprland coming soon)
Graphical shell/UI: Sysshell
Web Browser: LibreWolf
File Manager: Frog & Nemo (Frog is still in development so nemo is provided as a fallback)
Terminal: Foot
Init System: Busybox SysV Init
Base Distribution: Artix Linux (ARMtix linux)

What platforms does this support?

Technically this supports most if not all aarch64 systems that run mainline linux.
You can use downstream/vendor linux buuuut it might not work.

Installation

An easier to use GUI based setup is being worked, But for the time being manual labor is needed.
The installation process here differs from what most are used to, Mostly due to me wanting to support as much devices as i can and because it just makes sense to do it this way.
You're going to need boot files from either your board's OEM distribution or a community one.

  1. Wipe your desired storage medium (MicroSD/SSD/Etc..)
  2. Create a 128mb fat32 partition and fill the rest of the space with a filesystemless partition (Or use any other filesystem, You will replace later it anyway)
  3. Restore the rootfs.img file into the second partition (Using dd, gnome-disk-utility, etc..)
  4. Copy /usr/lib/modules/* from your OEM's distro to the new rootfs
  5. Copy /usr/lib/firmware from your OEM's distro to the new rootfs (Only if you need WiFi or Bluetooth)
  6. Copy the boot files from your OEM's distro into the new boot partition
  7. Change the cmdline so root=/dev/blablabla points to the correct root partition (eg. /dev/mmcblk0p2)

Done!

For devices using UBoot it's recommended that you use extlinux

/boot/extlinux/extlinux.conf

LABEL artix-linux
  Linux /Image
  FDT /rk3588-orangepi-5-plus.dtb
  APPEND console=tty1 loglevel=7 root=/dev/mmcblk1p2 rw rootwait