sites

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 3f53a02c5354088f2197516450e751b8353fcc70
parent 82f448d7f7434d29d0a5fd98e0edcebac166c6db
Author: Christoph Lohmann <20h@r-36.net>
Date:   Wed,  4 Apr 2012 15:23:02 +0200

Making the sta.li pages more modular.
Diffstat:
Asta.li/filesystem.md | 30++++++++++++++++++++++++++++++
Msta.li/index.md | 53-----------------------------------------------------
Msta.li/masterplan.md | 2+-
Asta.li/sandbox.md | 29+++++++++++++++++++++++++++++
4 files changed, 60 insertions(+), 54 deletions(-)

diff --git a/sta.li/filesystem.md b/sta.li/filesystem.md @@ -0,0 +1,30 @@ +Filesystem +========== + +This is a editable proposal for a filesystem layout that +will fit the changed principles of the OS. + + /bin - all executables + /boot - all boot files + /dev - devices + /etc - system configuration + /svc - services + /home - user directories + /root - the root home + /var - spool, run, log, cache + /share - man pages, locales, dependencies + /devel - development environment + /devel/include + /devel/lib + /devel/src + +Based on the Linux assumption: + + /sys - sys files + /proc - proc files + +For old style emulation: + + /emul - chroot for packages that are too infected + + diff --git a/sta.li/index.md b/sta.li/index.md @@ -13,59 +13,6 @@ reckons about static linking. Due to the side-benefit that statically linked binaries start faster, the distribution also targets performance gains. -General system design ---------------------- - -* binary is primary focus, each executable is statically linked, potentially different executable format than ELF, since ELF is mainly designed to support dynamic linking -* kernel is a single monolith based on linux, by default no kernel module support -* system loader is lilo (maybe we will start maintaining it) -* no initrd initially -* perhaps later the whole system will be a ramdisk? will see (20h idea) -* init system should be based on just one /etc/rc.{start,stop} script (look at p9 how they do it) - -Basic filesystem design ------------------------ -Generally, /usr will be removed, what a useless directory, for non-base system stuff we might consider /local - -* /bin - all executables go here -* /bin/kernel (linux kernel) -* /dev - devices, check if we can avoid udev or what linux requires nowadays, the simplest approach would be best -* /etc - system config/program config/user setup/network setup -* /etc/rc.{start,stop} - init scripts -* /home/root (root's home) -* /home/* - user home dirs -* /include - include files -* /lib - libraries, when used as devel box, only static libs, potentially -* /local - possibly for software that's not in the base -* /mnt - mounts -* /proc - linux crap -* /share - man pages, locales and crap that several libraries ship -* /sys - linux crap -* /tmp - obvious -* /var - spool, run, log, cache -* /usr -> / (potentially softlink, will see if we can avoid this, mainly for broken packages) - -Updating system is simply rsync'ing from distro server. - -Typical end-user system ------------------------ - - [anselm@x200s rootfs]$ tree - . - |-- bin - |-- dev - |-- etc - |-- home - | `-- root - |-- mnt - |-- proc - |-- sys - |-- tmp - `-- var - -Note: End-user systems have no /lib, /include, et cetera. They just have -what is really necessary and nothing else. - Some related links ------------------ * [Bifrost/Linux](http://bifrost.slu.se/) - a minimalist Linux distro for USB media diff --git a/sta.li/masterplan.md b/sta.li/masterplan.md @@ -33,7 +33,7 @@ In this step some easy way to emulate the old dynamic linking, which will allow to use pre-existing packages for other distributions, is needed to be implemented. -A proposal for the emulation directory is '/old'. All applications +A proposal for the emulation directory is '/emul'. All applications running below this directory will be run in a chroot under this path. diff --git a/sta.li/sandbox.md b/sta.li/sandbox.md @@ -0,0 +1,29 @@ +Sandbox +======= + +Ideas that could be worthwhile for the development of sta.li +will be collected here. Just add them using the known ways +of suckless wiki editing. + +There are 'principles', 'ideas' and 'quick ideas'. Basic sanity +should be used to determine where to put your text. + +Principles +---------- + +* each executable is statically linked + +Ideas +----- + +* maybe a different format to ELF +* kernel is a monolithic Linux kernel +* system loader is lilo +* no initrd +* make the whole system a ramdisk +* a basic initsystem +* updating is rsyncing the build files and rebuilding what is needed + +Quick Ideas +----------- +