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 it optional and can be built from
this if needed. we provide optimized configurations
for some platforms.


release notes

v0.0.1: initial release


images

if you don't want to build the whole system we
provide a tarball without the kernel so you can
build just the kernel, or copy it from somewhere.


tarballs

there are generic ones, without the linux kernel:

- rootfs.tar.xz (amd64)
- rootfs.tar.xz (arm64)

and for specific platforms, that include the kernel:

- rootfs.tar.xz (hp elite desk)
- rootfs.tar.xz (pinebook pro)
- rootfs.tar.xz (raspiberry pi 3b+)


docker

we also provide docker images for quick testing or
for building applications. this image features an
easy way to use the tcc compiler.

	docker push bleemayer/lin0:latest

architectures supported are the same as tarballs.


usage

after built the system should boot to a login
prompt, the default user is root and password is
lin0.


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 rootfs/share/pkg 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.


roadmap

features that may fit lin0:

- support mod loading and daemons in init script
- improve issue file or provide a login program: ly
- create man pages
- support rpi zero w
- add lin0 to fetch et al commands


license

this software is licensed under the BSD 2-clause
license.

(C) 2023-24 Brian Mayer