Skip to content
/ sls Public

Minimal "ultra-rolling-release" Linux distro inspired by the suckless philosophy

License

Notifications You must be signed in to change notification settings

prescott2m/sls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sls
===
sls is a basic Linux distro using musl, sbase, ubase, and sinit.

Base system
-----------
The base system (sls.iso) includes:

- linux
- musl libc
- sbase
- ubase
- sinit
- dash
- oksh
- mandoc
- page
- zstd
- sls
- rc.shutdown (just a tiny C program)
- e3 text editor
- sls-netutils
- sdhcp
- dropbear

Requirements
------------
In order to build sls you need:

- POSIX sh
- GNU Make
- gcc
- git
- autoconf
- grub-mkrescue
- nasm (for e3)

Building
--------
To build sls and create an sls.iso, run build.sh.

Configuration
-------------
To configure sls, edit config.sh.

Hacking
-------
When writing C specifically for sls (e.g. rc.shutdown), use
https://suckless.org/coding_style/ as your style guide.

Networking and SSH (QEMU)
-------------------------
*on your host*, start QEMU and port forward SSH to your host:

    qemu-system-x86_64 -m 512 -enable-kvm -bios /usr/share/qemu/OVMF.fd -cdrom sls.iso -net user,hostfwd=tcp::10022-:22 -net nic

*inside sls*, bring up networking:

    up eth0
    sdhcp

*inside sls*, start up dropbear:

    mkdir /etc/dropbear
    dropbear -R

*on your host*, log in:

    ssh -p 10022 root@localhost

About

Minimal "ultra-rolling-release" Linux distro inspired by the suckless philosophy

Resources

License

Stars

Watchers

Forks

Releases

No releases published