<feed
    xmlns="http://www.w3.org/2005/Atom"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xml:lang="en">
  <link rel="self"      type="application/atom+xml" href="https://euandre.org/en/screencast/feed.first.xml" />
  <link rel="alternate" type="text/html"            href="https://euandre.org/en/screencast/" hreflang="en" />
  <title>EuAndreh&apos;s website</title>
  <subtitle>Screencasts</subtitle>
  <id>https://euandre.org/en/screencast/feed.first.xml</id>
  <updated>2026-09-05T20:22:11+00:00</updated>
  <author>
    <name>EuAndreh</name>
    <email>eu@euandre.org</email>
  </author>
  <entry xml:lang="en">
    <title type="html">
      AutoQEMU - automate installation and SSH setup of ISO OS images
    </title>
    <link type="text/html" rel="alternative" href="https://euandre.org/en/screencast/2021/02/07/autoqemu.html" title="AutoQEMU - automate installation and SSH setup of ISO OS images" />
    <link type="video/webm" rel="enclosure" length="12103021" href="https://euandre.org/en/screencast/2021/02/07/autoqemu.webm" />
    <published>
      2021-02-07T00:00:00+00:00
    </published>
    <updated>
      2022-03-06T00:00:00+00:00
    </updated>
    <id>
      https://euandre.org/en/screencast/2021/02/07/autoqemu.html
    </id>
    <author>
      <name>
        EuAndreh
      </name>
      <email>
        eu@euandre.org
      </email>
    </author>
    <summary type="html">
        &lt;div class=&quot;paragraph&quot;&gt;
          &lt;p&gt;After reading begriffs &quot;&lt;a href=&quot;https://begriffs.com/posts/2020-08-31-portable-stable-software.html&quot;&gt;Tips
          for stable and portable software&lt;/a&gt;&quot;, the &quot;Begriffs Buildfarm?&quot; section caught my attention, as this is
          something I would be interested in.&lt;/p&gt;
        &lt;/div&gt;
    </summary>
    <content type="html" xml:base="en/screencast/2021/02/07/autoqemu.html">
        &lt;div class=&quot;paragraph&quot;&gt;
          &lt;p&gt;After reading begriffs &quot;&lt;a href=&quot;https://begriffs.com/posts/2020-08-31-portable-stable-software.html&quot;&gt;Tips
          for stable and portable software&lt;/a&gt;&quot;, the &quot;Begriffs Buildfarm?&quot; section caught my attention, as this is
          something I would be interested in.&lt;/p&gt;
        &lt;/div&gt;
        &lt;div class=&quot;paragraph&quot;&gt;
          &lt;p&gt;After emailing the author, a &lt;a href=
          &quot;https://talk.begriffs.com/pipermail/friends/2021-February/001263.html&quot;&gt;public thread&lt;/a&gt; began on the
          subject.&lt;/p&gt;
        &lt;/div&gt;
        &lt;div class=&quot;paragraph&quot;&gt;
          &lt;p&gt;As we discussed how it could be done, I decided to experiment with the idea of automating the setup of
          virtual environments with QEMU.&lt;/p&gt;
        &lt;/div&gt;
        &lt;div class=&quot;paragraph&quot;&gt;
          &lt;p&gt;This screencast is a simple demo of automating the installation of Alpine Linux 3.12.3 standard x86_64
          with AutoQEMU&lt;sup role=&quot;doc-noteref&quot;
               id=&quot;ref:1&quot;&gt;&lt;a href=&quot;#fn:1&quot;
             rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;, which is nothing more than POSIX sh, &lt;a href=
             &quot;https://core.tcl-lang.org/expect/index&quot;&gt;expect&lt;/a&gt; scripts and Makefiles glued together.&lt;/p&gt;
        &lt;/div&gt;
        &lt;div class=&quot;paragraph&quot;&gt;
          &lt;p&gt;As of this writing, I just worked on it for 2~3 days, so everything is still pretty ad-hoc.&lt;/p&gt;
        &lt;/div&gt;
        &lt;div class=&quot;paragraph&quot;&gt;
          &lt;p&gt;The commands from the screencast were&lt;sup role=&quot;doc-noteref&quot;
               id=&quot;ref:2&quot;&gt;&lt;a href=&quot;#fn:2&quot;
             rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;
        &lt;/div&gt;
        &lt;div class=&quot;listingblock&quot;&gt;
          &lt;div class=&quot;content&quot;&gt;
            &lt;table&gt;
              &lt;tbody&gt;
                &lt;tr&gt;
                  &lt;td&gt;
                    &lt;pre class=&quot;lineno&quot;&gt;&lt;a class=&quot;code-line-anchor&quot;
     id=&quot;B1-L1&quot;
     href=&quot;#B1-L1&quot;&gt;1&lt;/a&gt;
&lt;a class=&quot;code-line-anchor&quot;
     id=&quot;B1-L2&quot;
     href=&quot;#B1-L2&quot;&gt;2&lt;/a&gt;
&lt;a class=&quot;code-line-anchor&quot;
     id=&quot;B1-L3&quot;
     href=&quot;#B1-L3&quot;&gt;3&lt;/a&gt;
&lt;a class=&quot;code-line-anchor&quot;
     id=&quot;B1-L4&quot;
     href=&quot;#B1-L4&quot;&gt;4&lt;/a&gt;
&lt;a class=&quot;code-line-anchor&quot;
     id=&quot;B1-L5&quot;
     href=&quot;#B1-L5&quot;&gt;5&lt;/a&gt;&lt;/pre&gt;
                  &lt;/td&gt;
                  &lt;td&gt;
                    &lt;pre&gt;pushd `mktemp -d`
git clone https://euandre.org/git/autoqemu .
make
make install PREFIX=$HOME/.local
autoqemu ssh alpine&lt;/pre&gt;
                  &lt;/td&gt;
                &lt;/tr&gt;
              &lt;/tbody&gt;
            &lt;/table&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;paragraph plaintext&quot;&gt;
          &lt;p&gt;&lt;a href=&quot;autoqemu.html.0.txt&quot;&gt;plaintext&lt;/a&gt;&lt;/p&gt;
        &lt;/div&gt;
        &lt;div class=&quot;paragraph&quot;&gt;
          &lt;p&gt;It assumes that &lt;code&gt;$HOME/.local/bin&lt;/code&gt; is in &lt;code&gt;$PATH&lt;/code&gt;.&lt;/p&gt;
        &lt;/div&gt;
        &lt;div id=&quot;footnotes&quot;&gt;
          &lt;ol&gt;
            &lt;li role=&quot;doc-endnote&quot;
                id=&quot;fn:1&quot;&gt;
              &lt;p&gt;The solution was a little too brittle to scale, and some distributions proved to be particularly
              problematic. I’ve &lt;a href=&quot;https://euandre.org/static/attachments/autoqemu.tar.gz&quot;&gt;archived&lt;/a&gt; my
              progress if you’re interested in what I’ve done, and maybe wish to continue. &lt;a role=&quot;doc-backlink&quot;
                 href=&quot;#ref:1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
            &lt;/li&gt;
            &lt;li role=&quot;doc-endnote&quot;
                id=&quot;fn:2&quot;&gt;
              &lt;p&gt;Only now, writing again what I ran on the screencast I thought that I should have tried something like
              &lt;a href=&quot;https://www.man7.org/linux/man-pages/man1/script.1.html&quot;&gt;script&lt;/a&gt;. Maybe next time (thanks
              &lt;a href=&quot;https://gnuworldorder.info/&quot;&gt;klaatu&lt;/a&gt; for the tip!). &lt;a role=&quot;doc-backlink&quot;
                 href=&quot;#ref:2&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
            &lt;/li&gt;
          &lt;/ol&gt;
        &lt;/div&gt;
    </content>
  </entry>
</feed>
