@@ -111,18 +111,43 @@ In the future, it's likely coreos-assembler will also support something
111
111
like ` overrides/src ` which could be a directory of symlinks to local
112
112
git repositories.
113
113
114
- ## Using cosa run --bind-ro for even faster iteration
114
+ ## Using cosa build-fast
115
115
116
116
If you're working on e.g. the kernel or Ignition (things that go into the initramfs),
117
117
then you probably need a ` cosa build ` workflow (or ` cosa buildinitramfs-fast ` , see below).
118
- However, let's say you want to test a change to something much later in the boot process - e.g. ` podman ` . Rather
118
+ However, let's say you want to test a change to something that runs purely in the real root,
119
+ such as e.g. ` rpm-ostree ` , ` podman ` , or ` console-login-helper-messages ` . Rather
119
120
than doing a full image build each time, a fast way to test out changes is to use
120
- something like this:
121
+ ` cosa build-fast ` .
122
+
123
+ This command assumes you have a previous local coreos-assembler build. From
124
+ the git checkout of the project you want to add:
125
+
126
+ ```
127
+ $ export COSA_DIR=/srv/builds/fcos
128
+ $ cosa build-fast
129
+ $ cosa run
130
+ ```
131
+
132
+ The ` cosa build-fast ` command will run ` make ` and inject the resulting binaries
133
+ on a qcow2 overlay file, which will appear in your project working directory.
134
+ The ` cosa run ` command similarly knows to look for these ` qcow2 ` files.
135
+
136
+ This will not affect the "real" cosa build in ` /srv/builds/fcos ` , but will
137
+ use it as a data source.
138
+
139
+ ## Using cosa run --bind-ro for even faster iteration
140
+
141
+ This workflow can be used alongside ` cosa build-fast ` , or separate from it.
142
+ If you invoke e.g.
121
143
122
144
```
123
145
$ cosa run --bind-ro ~/src/github/containers/podman,/run/workdir
124
146
```
125
147
148
+ The target VM will have the source directory bound in ` /run/workdir ` ; then you
149
+ can directly copy binaries from your development environment into the VM.
150
+
126
151
If you are running cosa in a container, you will have to change your current
127
152
working directory to a parent directory common to both project directories and
128
153
use relative paths:
0 commit comments