An experimental Linux distribution based on KISS Linux. Runs on various architectures and allows cross-compilation.
Glasnost Linux is a Linux distribution forked from KISS Linux
depends
file now implies that a package is required on the build machine, but not on the target machineThis system allows cross compilation of packages between any of the supported architectures:
chroot tarballs are provided for each architecture here.
This distribution is currently intended only for experienced Linux users. Installation should be treated similar to KISS Linux.
If you don't want to use the tarballs, it may be possible to bootstrap the system using this repo.
Make building packages for foreign architectures as easy as building native packages on KISS Linux.
If you are cross-building you need to know:
sudo
to extract the tarball somewhere.KISS_ROOT
to that location.kiss b packagename
or kiss u
as you would normally. You can leave your KISS_PATH
the same.On your installation of glasnost x86_64:
mkdir glasnost-pinephone
tar xf glasnost-chroot-aarch64-2021.10-01.tar.xz -C glasnost-pinephone --strip-components=1
KISS_ROOT=glasnost-pinephone kiss b openssh
httpd -p 54321
ls
, make a note of the directory name that contains the packages you just built. This will be something like glasnost-pinephone_2ebab4c766acfa8e3cec1678f3449faa
in the above example.export KISS_REMOTE_REPO=http://myserver:54321/reponame
, where reponame is the directory name from step 3.kiss-bup
.This is not like normal package management on e.g. Arch, where you can install particular binary packages from a remote repo. Glasnost and KISS are more like Gentoo, where you build packages yourself. On these distros you would not generally build all the packages in your repo - just the ones you are interested in using.
In Glasnost, you download and extract a chroot which becomes a binary repo for the target machine. When you use kiss-bup
, any packages built for that repo are installed on the target machine.
You can maintain multiple binary repos for any supported architecture. They will each have a directory in ~/.cache/kiss/bin/.
I prefer to use hardware which does not use non-free firmware or contain monitoring processors to which I do not have access. I also prefer to build the packages on my system to my own requirements as needed.
There are now several machines available capable of running Linux which do not have Intel ME, AMD PSP or similar technologies. Some like the Talos II have many cores and are capable of building large packges like Firefox in a relatively short time.
Others for example the PineBook Pro or PinePhone have relatively open hardware but are slower and may take many hours to compile larger packages.
I wanted a way to build packages on a more powerful machine and distribute them to a less powerful machine, regardless of architecture. Something like FreeBSD's Poudriere but simpler, for Linux.