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:
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
+-----------
+