sylware / nyanlinux (public) (License: AFFERO GPLv3) (since 2019-09-09) (hash sha1)
scripts for a lean, from scratch, amd hardware, linux distro

/README (64868dc96404c69ad85b979986821d6eb0420f9a) (2657 bytes) (mode 100644) (type blob)

IMPORTANT: We are re-working the bootstrapping of the distro, but due to toxic
decisions made upstream at high level, the SDK seems to be now _really_
locked-in on some SDK related components using the complexity scam or bias.
Yes, there is some bits related to geopolitics and "control" of the software
needed for information systems of nearly any types. Much of this is planned
obsolescence based on the complexity scam->the technical trajectory is accutely
toxic.

XXX:In other word, upstream broke bootstrapping at a reasonable technical cost.
    We have to make decisions at our level, but everything is on hold because
    of the global crisis of the SARS-COV-2 virus.

----
This is as set of build scripts which bootstrap a kind of minimal/ultra-light
desktop gnu/linux distro (x86_64/AMD CPU and GCN GPU).

This is _our_ linux from scratch, our everyday distro (for AMD hardware,
but you can add all the supported others if you want to).
glibc is about to deprecate the support of libdl in static binaries. It seems
glibc and/or elf is becoming nasty (like gcc slowly turning into a piece of c++
crap like llvm). The goal was to get as many statically binaries as possible,
which is not a reasonable goal anymore due to kludgy and badly designed
software.

----
I have to recall this: due to glibc and gcc compiler driver limitations binaries
with modules (ELF dynamic shared libs) which use symbols from the latter, must
be built as dynamic elf binaries which export their symbols (--export-symbols
from the GNU ld). Such ELF objects cannot be built with a static glibc and the
gcc compiler driver. Additionaly, many other components were designed with the
"dynamic shared lib paradigm" in mind which will induce breakage if used from a
static library archive version.
----

The SDKs are brain damaged kludges: the only anti brain fuckage mitigation
approach would be to burn an hardcoded configuration for a gnu/linux system and
use some sh scripts to build the component from source (_always_ cross
compiling friendly).

Some components deployed by those scripts are personal forks of popular open
source components.

I publish those scripts because the knowledge they do contain may be of use by
the community in addition of the real linux-from-scratch.

notes:
    - you have reboot.S and poweroff.S in files/asm if you want to use those
      versions. Carefull, you don't have a sync syscall for your drive data.
    - some libraries are dynamic shared, though they could be static. This is
      to interface with close source binaries, games, because I'm a gamer,
      nobody is perfect.

-- 
Sylvain BERTRAND
sylvain.bertrand@legeek.net


Mode Type Size Ref File
100644 blob 5 8eba6c8dd4dcaf6166bd22285ed34625f38a84ff .gitignore
100755 blob 2487 533016d4902080b22ae5dc5352802ebdd0d78b16 01-x86_64-nyan-linux-gnu.sh
100755 blob 4254 31fdc18cc3e6c6cfd8444fa404f7e82f849bad56 02-nyan-cross-core.sh
100755 blob 3549 7f1362bad6786a6818ce7a7d613d0dc11f611fb9 03-nyan-cross-x11.sh
100755 blob 12534 f9036d33f9f159ea2421ce1a1ebf7067f0f695c1 04-bootstrap-conf.sh
100755 blob 671 5f6bc5de83a883da3a7f0d4a37e1d0ef51c08561 10-sdk-conf.sh
100755 blob 2201 83fa9bf5bddbecb88db53779e324b9f270b1080e 11-sdk.sh
100755 blob 2826 090b622caebd38755ef1e57a9cf0f4f673b22a8e 12-desktop.sh
100755 blob 129 08460f0dece90701f01cbf7d710609ecbb3d56e0 13-beyond.sh
100644 blob 1075 1b5314b511d4c6dc7eb4db36a21dd47ba5a00a9d INSTALL
100644 blob 30 c9b735fa1332286f4b3f5f81fa10527fd7506b6e LICENSE
100644 blob 2657 64868dc96404c69ad85b979986821d6eb0420f9a README
040000 tree - e745580298e6bf5ce963cd58e8795601e897fecd builders
100644 blob 2986 43344438bb4d817ff81f1890de1097f627c6d6c4 conf.sh
040000 tree - 84401dd4d78de6fafa1b3f59ccf2a0c62ecc705e files
100755 blob 351 6af534903b47d67a8dcb71653e7a0e1c1a4dfda4 pkg-build
100755 blob 289 7f5fbdbb712f274d04a036b9c486cbc9cf581be6 pkg-build-target
100644 blob 915 a7f21134dbc05d0e8227eaee366856b8171832a4 sdk.sh
100644 blob 22801060 41f4ce88feb749d526fd7b91c07ddabf1275696d steam.tar.bz2
040000 tree - 3ea8b6a0976e4a31f94cf63a35646cd184a55d4a x86
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/sylware/nyanlinux

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/sylware/nyanlinux

Clone this repository using git:
git clone git://git.rocketgit.com/user/sylware/nyanlinux

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main