/README (6aa180fc473777d9ca6b155cbf9b973065cdd77a) (1973 bytes) (mode 100644) (type blob)
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 _my_ linux from scratch, my 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 |
1973 |
6aa180fc473777d9ca6b155cbf9b973065cdd77a |
README |
040000 |
tree |
- |
f523121bdd774cae925d5544463c8ad45d680b1a |
builders |
100644 |
blob |
2986 |
43344438bb4d817ff81f1890de1097f627c6d6c4 |
conf.sh |
040000 |
tree |
- |
a26b40ebefa0b8b6b19862cae8c2adf053d7c1cc |
files |
100755 |
blob |
332 |
77026b9d12e45ee5ad4c64e9a118ae9a637b2dd6 |
pkg-build |
100755 |
blob |
289 |
7f5fbdbb712f274d04a036b9c486cbc9cf581be6 |
pkg-build-target |
100644 |
blob |
915 |
a7f21134dbc05d0e8227eaee366856b8171832a4 |
sdk.sh |
100755 |
blob |
5001 |
ef66a8b35dbba08f4397c2163cf2e7559207783a |
x86.sh |
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