shithub: wiki.9front.org

Download patch

ref: 921944ab16f8e5b10e88addde2c1219453fd3a6b
parent: 827f6218ef9eee4bbba168c9d7575b5d6b9c2dba
author: kvik <kvik@a-b.xyz>
date: Sun Aug 23 18:49:25 EDT 2020

cwfs: add cwfs tips page

--- /dev/null
+++ b/cwfs.md
@@ -1,0 +1,53 @@
+cwfs(4) tips
+============
+
+No-dump configuration
+---------------------
+
+A cheap VPS or an SD card lack the storage capacity for running a usable
+default `cwfs(4)` setup with a big WORM partition and daily dumps.
+The go-to solution is the `hjfs(4)` file system, which doesn't
+use a dedicated WORM partition and doesn't do daily dumps by default.
+However, it has several performance problems and is not as well tested.
+
+The `cwfs` file system can be configured in lots of ways beyond the
+default cache-worm + other configuration supported by the 9front
+installer.
+
+The desired configuration we're going to cover is a single `main`
+file server tree backed by a simple disk file system - the same type
+used by the `other` tree in the default setup.
+
+To do this we're going to partition the disk appropriately and override
+the `mountcwfs` stage of the 9front installer with a replacement
+[script](http://a-b.xyz/23/666a) that will configure `cwfs`
+appropriately. The rest of the installation and most of the
+subsequent system operation remain unaffected.
+
+Start by booting from the installation media. Configure networking
+with `ip/ipconfig(8)` and fetch the replacement `mountcwfs` script,
+or put the script on a flash drive:
+
+	webfs
+	ramfs
+	hget http://a-b.xyz/23/666a >/tmp/mountcwfs
+	chmod +x /tmp/mountcwfs
+	
+Override the `mountcwfs` stage using `bind(1)`:
+
+	bind /tmp/mountcwfs /bin/inst/mountcwfs
+
+Run `inst/start` and complete the stages up to `preppart` as you would
+normally.  At `preppart`, delete the default partitions and create one
+named `fsmain` with a desired size:
+
+	d other
+	d fscache
+	d fsworm
+	a fsmain 123456 .+100%
+	w
+	q
+
+Make sure to "ream" the new partition at the next step.
+
+Complete the rest of the installation, reboot. That is all.