summaryrefslogtreecommitdiff
path: root/src/content/en/screencasts/2021/02/07/autoqemu.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/en/screencasts/2021/02/07/autoqemu.adoc')
-rw-r--r--src/content/en/screencasts/2021/02/07/autoqemu.adoc53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/content/en/screencasts/2021/02/07/autoqemu.adoc b/src/content/en/screencasts/2021/02/07/autoqemu.adoc
new file mode 100644
index 0000000..b20b092
--- /dev/null
+++ b/src/content/en/screencasts/2021/02/07/autoqemu.adoc
@@ -0,0 +1,53 @@
+= AutoQEMU - automate installation and SSH setup of ISO OS images
+:updatedat: 2022-03-06
+:categories: first
+
+:empty:
+:begriffs-tips: https://begriffs.com/posts/2020-08-31-portable-stable-software.html
+:public-thread: https://talk.begriffs.com/pipermail/friends/2021-February/001263.html
+:archived: https://euandre.org/static/attachments/autoqemu.tar.gz
+:expect: https://core.tcl-lang.org/expect/index
+:script: https://www.man7.org/linux/man-pages/man1/script.1.html
+:klaatu: https://gnuworldorder.info/
+
+video: true
+
+After reading begriffs "{begriffs-tips}[Tips for stable and portable software]",
+the "Begriffs Buildfarm?" section caught my attention, as this is something I
+would be interested in.
+
+After emailing the author, a {public-thread}[public thread] began on the
+subject.
+
+As we discussed how it could be done, I decided to experiment with the idea of
+automating the setup of virtual environments with QEMU.
+
+This screencast is a simple demo of automating the installation of Alpine Linux
+3.12.3 standard x86_64 with
+AutoQEMU{empty}footnote:autoqemu[
+ The solution was a little too brittle to scale, and some distributions proved
+ to be particularly problematic. I've {archived}[archived] my progress if
+ you're interested in what I've done, and maybe wish to continue.
+], which is nothing more than POSIX sh, {expect}[expect] scripts and Makefiles
+glued together.
+
+As of this writing, I just worked on it for 2~3 days, so everything is still
+pretty ad-hoc.
+
+The commands from the screencast
+were{empty}footnote:script-command[
+ Only now, writing again what I ran on the screencast I thought that I should
+ have tried something like {script}[script]. Maybe next time (thanks
+ {klaatu}[klaatu] for the tip!).
+]:
+
+[source,sh]
+----
+pushd `mktemp -d`
+git clone https://euandre.org/git/autoqemu .
+make
+make install PREFIX=$HOME/.local
+autoqemu ssh alpine
+----
+
+It assumes that `$HOME/.local/bin` is in `$PATH`.