lin0 _._ e/` '\,.eo-__. lin0 (linux zero) is a '/.' .|_/e--. '\e super minimal source ,;-o-.'|` //e e\ |` based linux meta ./' ,e0\o //-o.__. ,. \' distribution, aimed ./` /' -/e e\o_/___. \|' at power users or e|`/`,o-o\ /v-/e_. '\. \. minimalism enthusiasts '/ ._e._, \ // \` \e |' '|'"/ \.V | `|' `|'|` it was born from `|e`|' | # / `|. |`|` exercises in how e|` ` /\- ,\ e|' '\` minimal a linux system '` _/ / / \ ` `|' can get. .,wW'^^^//;^-^;^;w_ the distro features a barebones system built from scratch: - the linux kernel, without initrd - musl libc - mksh (the myr korn shell) - tcc (tiny C compiler) - toybox - simple configs and a shell script init all the rest is optional and can be built from this if needed. we provide optimized configurations for some platforms, lin0 also gives you, for your convenience, much needed programs: make and curl. release notes v0.0.2: improved compiler toolchain v0.0.1: initial release roadmap current work: - adjust kernel build: + build hpelitedesk with firmware builtin features that may fit lin0: - make system compile itself - improve rpi3b+ rootfs - support mod loading and daemons in init script - improve issue file or provide a login program: ly - create man pages - support rpi zero w - support rpi cm5 - add lin0 to fetch et al commands images if you don't want to build the whole system we provide system images in various formats so you can start with a ready environment. tarballs our tarballs are compressed with xz, thus .tar.xz files, these are targeted at platforms, and do not include the linux kernel: v0.0.2: - x86_64 [3.3Mb] v0.0.1 - arm64 [3.0Mb] and for specific platforms, including the kernel: - hp elite desk 800 g1 [13Mb] - pinebook pro [13Mb] - raspiberry pi 3b+ [26Mb] docker we also provide docker images for quick testing or building applications. this image features an easy way to use musl libc and the tcc compiler. docker push bleemayer/lin0:latest architectures supported are the same as tarballs. installation from source clone this repo with: git clone https://terminal.pink/lin0 the installation is a 3-step process: - copy your kconfig to configs/MODEL-linux.config - run platform=PLATFORM ./make.sh, this will build the root filesystem. see the available platforms in the configs folder - copy the generated rootfs to your target system the installer will copy any extra packages present at the pkg folder to your /home/root/ folder. from tarball if you downloaded the tarball you can simply untar it to your destination partition. then copy your kernel to the boot folder. usage after built the system should boot to a login prompt, the default user is root and password is lin0. however, your lin0 system is not ready yet for real work: some configuration is needed, since we don't want to give you a default. hence, you need to: - create the /etc/resolv.conf file - add more users - change the default password - install needed software, e.g. wpa_supplicant the rest is up to you. welcome to lin0! getting help use the mailing list, to ask a question just send an email to: lin0 AT terminal DOT pink i plan to create a wiki to let users contribute easily. license this software is licensed under the BSD 2-clause license. (C) 2023-25 Brian Mayer