sylware / nyanlinux (public) (License: AFFERO GPLv3) (since 2019-09-09) (hash sha1)
scripts for a lean, from scratch, amd hardware, linux distro
List of commits:
Subject Hash Author Date (UTC)
cleanup 1f706f57277405496cd6432a339259801e9df90b Sylvain BERTRAND 2023-08-08 17:20:05
dwm: move from tag to toggletag 2f5184715c58a00b739857d295d375522f3f2535 Sylvain BERTRAND 2023-08-03 00:35:14
Gfx stack update e25ed24c7d1a9b145de3cad63dcd617c3b9bd6f5 Sylvain BERTRAND 2023-07-29 14:14:06
EDLF64.draft, reentrancy and thread safety f66313fdcb17b2fa8ba3f227bc26bfac94f189ee Sylvain BERTRAND 2023-07-29 14:13:12
clear a bit the EDLF64 draft. 4dd34b7fa5ae978dce295cc4a836e367d25f007d Sylvain BERTRAND 2023-07-25 14:06:13
EDLF64 re-entrancy/fix. 404ecd7028b1031ccbb88300c90674618819c5bd Sylvain BERTRAND 2023-07-18 20:30:58
Gfx stack update 8025b4f7dac102ccc5de280df2105e73a31f1910 Sylvain BERTRAND 2023-07-15 15:04:11
EDLF64: clean munmap of the executable itself 1ed67b684b7c154cbb7eea742cb8eef0c7790dbc Sylvain BERTRAND 2023-07-09 17:37:27
last ffpmeg before breaking nyanmp 36cded2ce51a6df8edfcffc71094695fa8ad871c Sylvain BERTRAND 2023-07-09 15:05:32
Gfx stack update b2050ef1941139d255c61c2c82e24e6de364c5b4 Sylvain BERTRAND 2023-07-08 16:58:03
improve EDLF64 draft 48938c705c4f10e898677ec6e321dfad8d892f3f Sylvain BERTRAND 2023-07-07 18:36:15
elf toolbox and less toxic format draft a2ab4235350f04975de513911b7a340e2eb50ef3 Sylvain BERTRAND 2023-07-07 17:26:40
update of some image pagkages 7d8a5e8a5e20ab58e585a5f9d4270054285dba8c Sylvain BERTRAND 2023-07-05 23:14:01
gcc 12.2 won't build c++ threading all the time. d8560808bd62a198bc446153602c658141238c01 Sylvain BERTRAND 2023-07-02 16:56:10
Gfx stack update 50e5991a466541ebb88456918f6cc0bad7e1bfb8 Sylvain BERTRAND 2023-07-01 13:19:49
refreshing various components 22c025e6a7019283775b45742a8095a26d1d9b51 Sylvain BERTRAND 2023-07-01 00:16:51
Gfx stack update d91a56e63cb4e61ce950166ee90977f9cb0f7c57 Sylvain BERTRAND 2023-06-24 17:28:11
Gfx stack update 5053fdee70c5a2656a39391f9ec0924b680cb63f Sylvain BERTRAND 2023-06-17 13:08:44
Gfx stack update a8f4d317da64e4728a07332d7b312b0163a9a117 Sylvain BERTRAND 2023-06-10 13:00:40
Gfx stack update 5a50b752ee1174f40b4ac04b0c4ea40def0f003e Sylvain BERTRAND 2023-06-03 13:07:31
Commit 1f706f57277405496cd6432a339259801e9df90b - cleanup
Author: Sylvain BERTRAND
Author date (UTC): 2023-08-08 17:20
Committer name: Sylvain BERTRAND
Committer date (UTC): 2023-08-08 17:20
Parent(s): 2f5184715c58a00b739857d295d375522f3f2535
Signer:
Signing key:
Signing status: N
Tree: ec23a3d019f405ecafe5ed205ecf63f3bd26a66b
File Lines added Lines deleted
builders/alsa-lib-1.2.8/builder.sh 3 3
builders/drm/builder.sh 5 0
files/asm/user.S 0 40
files/asm/user.s 50 0
files/asm/user_nodbus.S 0 37
files/asm/user_steam.S 0 51
files/asm/user_steam_nodbus.S 0 45
File builders/alsa-lib-1.2.8/builder.sh changed (mode: 100644) (index bf78da9..d05618c)
... ... unset CC
56 56 make make
57 57 make install make install
58 58
59 # it wants an "audio" entry in /etc/group with a GID of 116
60 if ! egrep -q '^audio:' /etc/group; then
61 echo 'audio::116:' >>/etc/group
59 # It wants an "audio" group.
60 if ! grep -E -q '^audio:' /etc/group; then
61 echo 'audio::11:' >>/etc/group
62 62 fi fi
63 63
64 64 find /nyan/$src_name/$slot -type f -name '*.la' | xargs rm -f find /nyan/$src_name/$slot -type f -name '*.la' | xargs rm -f
File builders/drm/builder.sh changed (mode: 100644) (index 150f462..ff05a37)
... ... $pkg_dir/contrib/x86_64_amdgpu_linux_gnu_drm_gcc.sh
83 83
84 84 cp -rf $build_dir/install_root/* / cp -rf $build_dir/install_root/* /
85 85
86 # We follow the alsa-lib audio scheme.
87 if ! grep -E -q '^video:' /etc/group; then
88 echo 'video::12:' >>/etc/group
89 fi
90
86 91 export PATH=$PATH_SAVED export PATH=$PATH_SAVED
87 92 unset PATH_SAVED unset PATH_SAVED
88 93 unset target_gnu_triple unset target_gnu_triple
File files/asm/user.S deleted (index 30356ef..0000000)
1 /*
2 * This assembly source code is intended to be preprocessed:
3 * - don't use # comments
4 * - do use your C compiler front-end with proper specific options or do
5 * pipe cpp output to as (don't forget to link as an executable then)
6 *
7 * cpp user.S | as -o user.o; ld -o user user.o
8 *
9 * dbus will want an entry in /etc/passwd for user
10 */
11
12 .data
13 dbus: .asciz "/nyan/dbus/current/bin/dbus-run-session"
14 shell: .asciz "/bin/sh"
15 arg_login: .asciz "-l"
16
17 home: .asciz "HOME=/home/user"
18 path: .asciz "PATH=/nyan/dbus/current/bin"
19 ldpath: .asciz "LD_LIBRARY_PATH=/nyan/dbus/current/lib"
20
21 argv: .quad dbus, shell, arg_login, 0
22 envp: .quad home, path, ldpath, 0
23
24 .text
25 /* _start is the ELF symbol which defines the program entry point */
26 .global _start
27 _start:
28 mov $106, %eax /* setgid */
29 mov $1000, %rdi /* GID=1000 */
30 syscall
31 mov $105, %eax /* setuid */
32 mov $1000, %rdi /* UID=1000 */
33 syscall
34 mov $59, %eax /* execve */
35 mov $dbus, %rdi
36 mov $argv, %rsi
37 mov $envp, %rdx
38 /* never returning syscall */
39 syscall
40
File files/asm/user.s added (mode: 100644) (index 0000000..75aee02)
1 .intel_syntax noprefix
2 .intel_mnemonic
3 .code64
4
5 .data
6 shell: .asciz "/bin/sh" /* should be a static executable */
7 arg_login: .asciz "-l"
8 home: .asciz "HOME=/home/user"
9
10 .align 8,0
11 argv: .8byte 0/*shell*/,0/*arg_login*/,0
12 envp: .8byte 0/*home*/,0
13 groups: .4byte 10/*input*/,11/*audio*/,12/*video*/
14
15 .text
16 /* _start is the ELF symbol which defines the program entry point */
17 .global _start
18 _start:
19 mov rax,116 /* setgroups syscall */
20 mov rdi,3 /* 3 groups */
21 lea rsi,qword ptr [rip+groups]
22 syscall
23 mov rax,119 /* setresgid */
24 mov rdi,1000 /* real GID=1000 */
25 mov rsi,1000 /* effective GID=1000 */
26 mov rdx,1000 /* saved GID=1000 */
27 syscall
28 mov rax,117 /* setresuid */
29 mov rdi,1000 /* real UID=1000 */
30 mov rsi,1000 /* effective UID=1000 */
31 mov rdx,1000 /* saved UID=1000 */
32 syscall
33 /* init the envp */
34 lea rax,[rip+home]
35 mov qword ptr [rip+envp],rax
36 /* init the argv */
37 lea rdi,byte ptr [rip+shell] /* execve[0] */
38 lea rsi,byte ptr [rip+argv] /* execve[1] */
39 lea rcx,byte ptr [rip+arg_login]
40 mov qword ptr [rsi],rdi
41 mov qword ptr [rsi+8],rcx
42 /* execve syscall */
43 lea rdx,byte ptr [rip+envp] /* execve[2] */
44 mov rax,59 /* execve */
45 syscall
46 /* boom */
47 neg rax
48 mov rdi,rax
49 mov rax,231
50 syscall
File files/asm/user_nodbus.S deleted (index 07161ae..0000000)
1 /*
2 * This assembly source code is intended to be preprocessed:
3 * - don't use # comments
4 * - do use your C compiler front-end with proper specific options or do
5 * pipe cpp output to as (don't forget to link as an executable then)
6 *
7 * cpp user.S | as -o user.o; ld -o user user.o
8 *
9 * dbus will want an entry in /etc/passwd for user
10 */
11
12 .data
13 shell: .asciz "/bin/sh"
14 arg_login: .asciz "-l"
15
16 home: .asciz "HOME=/home/user"
17
18 argv: .quad shell, arg_login, 0
19 envp: .quad home, 0
20
21 .text
22 /* _start is the ELF symbol which defines the program entry point */
23 .global _start
24 _start:
25 mov $106, %eax /* setgid */
26 mov $1000, %rdi /* GID=1000 */
27 syscall
28 mov $105, %eax /* setuid */
29 mov $1000, %rdi /* UID=1000 */
30 syscall
31 mov $59, %eax /* execve */
32 mov $shell, %rdi
33 mov $argv, %rsi
34 mov $envp, %rdx
35 /* never returning syscall */
36 syscall
37
File files/asm/user_steam.S deleted (index f818ab5..0000000)
1 /*
2 * Must switch to fasm
3 *
4 * This assembly source code is intended to be preprocessed:
5 * - don't use # comments
6 * - do use your C compiler front-end with proper specific options or do
7 * pipe cpp output to as (don't forget to link as an executable then)
8 *
9 * cpp user.S | as -o user.o; ld -o user user.o
10 *
11 * dbus will want an entry in /etc/passwd for user
12 */
13
14 .data
15 dbus: .asciz "/nyan/dbus/current/bin/dbus-run-session"
16 shell: .asciz "/bin/sh"
17 shell_arg0: .asciz "-l"
18 shell_arg1: .asciz "-c"
19 shell_arg2: .asciz "exec /home/user/steam/steam"
20
21
22 home: .asciz "HOME=/home/user"
23 path: .asciz "PATH=/nyan/dbus/current/bin"
24 ldpath: .asciz "LD_LIBRARY_PATH=/nyan/dbus/current/lib"
25
26 argv: .quad dbus, shell, shell_arg0, shell_arg1, shell_arg2, 0
27 envp: .quad home, path, ldpath, 0
28 /* alsa audio group is 116 */
29 groups: .quad 116
30
31 .text
32 /* _start is the ELF symbol which defines the program entry point */
33 .global _start
34 _start:
35 mov $116, %eax /* setgroups */
36 mov $1, %rdi /* 1 group */
37 mov $groups, %rsi /* audio */
38 syscall
39 mov $106, %eax /* setgid */
40 mov $1000, %rdi /* GID=1000 */
41 syscall
42 mov $105, %eax /* setuid */
43 mov $1000, %rdi /* UID=1000 */
44 syscall
45 mov $59, %eax /* execve */
46 mov $dbus, %rdi
47 mov $argv, %rsi
48 mov $envp, %rdx
49 /* never returning syscall */
50 syscall
51
File files/asm/user_steam_nodbus.S deleted (index c8dde5a..0000000)
1 /*
2 * Must switch to fasm
3 *
4 * This assembly source code is intended to be preprocessed:
5 * - don't use # comments
6 * - do use your C compiler front-end with proper specific options or do
7 * pipe cpp output to as (don't forget to link as an executable then)
8 *
9 * cpp user.S | as -o user.o; ld -o user user.o
10 */
11
12 .data
13 shell: .asciz "/bin/sh"
14 shell_arg0: .asciz "-l"
15 shell_arg1: .asciz "-c"
16 shell_arg2: .asciz "exec /home/user/steam/steam -no-cef-sandbox"
17
18 home: .asciz "HOME=/home/user"
19
20 argv: .quad shell, shell_arg0, shell_arg1, shell_arg2, 0
21 envp: .quad home, 0
22 /* alsa audio group is 116 */
23 groups: .quad 116
24
25 .text
26 /* _start is the ELF symbol which defines the program entry point */
27 .global _start
28 _start:
29 mov $116, %eax /* setgroups */
30 mov $1, %rdi /* 1 group */
31 mov $groups, %rsi /* audio */
32 syscall
33 mov $106, %eax /* setgid */
34 mov $1000, %rdi /* GID=1000 */
35 syscall
36 mov $105, %eax /* setuid */
37 mov $1000, %rdi /* UID=1000 */
38 syscall
39 mov $59, %eax /* execve */
40 mov $shell, %rdi
41 mov $argv, %rsi
42 mov $envp, %rdx
43 /* never returning syscall */
44 syscall
45
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