* This is **only** restarting the kvm/qemu node several times, nothing is done to recompute the .iso itself (see below for that). So the game is to easily simulate how a change to `bootcd` would affect a node ISO without rebuilding the whole damn thing
* When -o is provided, the directory argument is created and all log files are stored in there
-## Easily redo a .iso
+# Easily redo a .iso
-* select a running test in testmaster/; like e.g. one that has failed the `ping_node` step already
+## preparation
-* you will need 2 local terminals with that
- * one in `git/bootcd`
- * one in `git/tests`
+* select a running test in testmaster/; like e.g. one that has failed the `ping_node` step already
-* do the usual routine on running `exp`, exposing variables in both terminals,
+* you will need one local terminal in `git/bootcd`
-* then run `make sync` from workdir `tests/system` (just for `iterate-ping-node`)
+* do the usual routine on running `exp`, exposing variables in this terminal
-* and run `make sync-unwrap` from workdir bootcd
+* and run `make sync-unwrap` from this workdir `bootcd`
At that point there will be the following files and subdirs on the KVM host (in my case boxtops)
* a read-only copy of the overlay image in `overlay.ref/`
* a writable version of this in `overlay/`
-The workflow from then on is you can change the layout/contents of the bootcd/ directory, and then repeatedly run
+## iteration
+
+The workflow from then on is you can
-* `make sync-rewrap` from the `bootcd/` workdir, and then
-* `iterate-ping-node` from the `tests/` workdir
+* change the layout/contents of the `bootcd/` directory on the KVM host
+ * either manually right in the KVM host, and/or with
+ * `make sync-push` if you want to rsync the contents of `initscripts/` and ` systemd/` workdirs onto KVM
+* and then rewrap the ISO image and hammer on it, and for this you run
+ * `make sync-rewrap` from the `bootcd/` workdir, and then
+ * `iterate-ping-node` from the `tests/` workdir
Once you're satisfied you can make a difference between bootcd/ and bootcd.ref/ to see how the changes need to be implemented in `build.sh` and/or `prep.sh`