Continue 6000 slides.
authorRichard W.M. Jones <rjones@redhat.com>
Thu, 24 Oct 2019 11:35:58 +0000 (12:35 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Thu, 24 Oct 2019 12:29:42 +0000 (13:29 +0100)
2019-kvm-forum/.gitignore
2019-kvm-forum/6100-vddk-introduction.html [new file with mode: 0644]
2019-kvm-forum/6100-vmware.png [new file with mode: 0644]
2019-kvm-forum/6100-vmware.svg [new file with mode: 0644]
2019-kvm-forum/6400-boot.d/.exists [new file with mode: 0644]
2019-kvm-forum/6400-boot.term [new file with mode: 0755]
2019-kvm-forum/6600-data-disks.sh [new file with mode: 0755]
2019-kvm-forum/6600-next [new file with mode: 0755]
2019-kvm-forum/6800-next [new file with mode: 0755]
2019-kvm-forum/6800-reflection.sh [new file with mode: 0755]
2019-kvm-forum/restore

index 58f34aa..a82f9d0 100644 (file)
@@ -5,3 +5,5 @@
 /6200-vddk.d/fedora.vmdk.xz
 /6200-vddk.d/fedora.vmdk.lck
 /6200-vddk.d/mp
+/6400-boot.d/qemu.sh
+/6400-boot.d/root
diff --git a/2019-kvm-forum/6100-vddk-introduction.html b/2019-kvm-forum/6100-vddk-introduction.html
new file mode 100644 (file)
index 0000000..fed808f
--- /dev/null
@@ -0,0 +1,15 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<h1>VDDK</h1>
+
+<div class="allcenter">
+  <img src="6100-vmware.png" width="80%" />
+</div>
+
+
+<p class="attribution">
+Server icon by RRZEicons
+<a href="https://commons.wikimedia.org/wiki/File:Server-multiple.svg">https://commons.wikimedia.org/wiki/File:Server-multiple.svg</a>
+</p>
diff --git a/2019-kvm-forum/6100-vmware.png b/2019-kvm-forum/6100-vmware.png
new file mode 100644 (file)
index 0000000..7d83327
Binary files /dev/null and b/2019-kvm-forum/6100-vmware.png differ
diff --git a/2019-kvm-forum/6100-vmware.svg b/2019-kvm-forum/6100-vmware.svg
new file mode 100644 (file)
index 0000000..974202c
--- /dev/null
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="181.04184mm"
+   height="67.707977mm"
+   viewBox="0 0 181.04184 67.707977"
+   version="1.1"
+   id="svg6676"
+   inkscape:version="0.92.4 (unknown)"
+   sodipodi:docname="6100-vmware.svg"
+   inkscape:export-filename="/home/rjones/d/libguestfs-talks/2019-kvm-forum/6100-vmware.png"
+   inkscape:export-xdpi="96"
+   inkscape:export-ydpi="96">
+  <defs
+     id="defs6670">
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker1301"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path1299"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <inkscape:path-effect
+       effect="bspline"
+       id="path-effect1297"
+       is_visible="true"
+       weight="33.333333"
+       steps="2"
+       helper_size="0"
+       apply_no_weight="true"
+       apply_with_weight="true"
+       only_selected="false" />
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker1293"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path1291" />
+    </marker>
+    <inkscape:path-effect
+       only_selected="false"
+       apply_with_weight="true"
+       apply_no_weight="true"
+       helper_size="0"
+       steps="2"
+       weight="33.333333"
+       is_visible="true"
+       id="path-effect1289"
+       effect="bspline" />
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker1241"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path981"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <inkscape:path-effect
+       effect="bspline"
+       id="path-effect976"
+       is_visible="true"
+       weight="33.333333"
+       steps="2"
+       helper_size="0"
+       apply_no_weight="true"
+       apply_with_weight="true"
+       only_selected="false" />
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path5473"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <inkscape:path-effect
+       effect="bspline"
+       id="path-effect7312"
+       is_visible="true"
+       weight="33.333333"
+       steps="2"
+       helper_size="0"
+       apply_no_weight="true"
+       apply_with_weight="true"
+       only_selected="false" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.4"
+     inkscape:cx="351.5183"
+     inkscape:cy="67.90693"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1023"
+     inkscape:window-x="0"
+     inkscape:window-y="33"
+     inkscape:window-maximized="1"
+     fit-margin-top="2"
+     fit-margin-left="2"
+     fit-margin-right="2"
+     fit-margin-bottom="2" />
+  <metadata
+     id="metadata6673">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-9.2068594,-24.293453)">
+    <image
+       y="26.293453"
+       x="16.215178"
+       id="image7289"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAFqCAYAAAD1HYRaAAAABGdBTUEAALGPC/xhBQAAACBjSFJN AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAA B3RJTUUH4QgLDQ8lMvn1nAAAV2ZJREFUeNrtvWmUJMd1HvpFZNaSVdVVvfd0zwxmBgMMZsW+DIDB ThKAKIIkwAFAgJDkZwmWnizbx/KTZevBgvRDm2X7HJ1jW0/Wsy3p2ZYFUaQokITMBTBFLCRAEBjM hsHs3bP1Vl3dteUSEe9HdxYys7LWriWrO75zqrsyK3KLjPvFjRs37gUkJCQkJCQkJCQkJCQkJCQk JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQk JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQk JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQk JCQkeg9kvT74888/H5rNzk5QTjcS8DEhqCqbw9oBFSItBH33pZdempe1IQmghCeffPxeQchPAXgC QL9sAmscAtOEkP8pOPmtl1566bKskHVKAM8//3xofnHuT4jAF+VrX5fIA3jhpf/55X8rq+JjKOvh IZ945omr9ULhVQI8JF/5ukUIwMN79u4ePnrk2CuyOtaJBvD888+H0otzb0LgFu9v4+MTuOfAPdhy 1Rb0JZMIh0LLWqNw65Af/7V3OfYJZ0kBd2HhOaTGuTyHCQjfH4Tf+SvcV/k9ee5DCJSdzT6P97eK z+VzLys/Vn1W5+/eslXr5+N9znu09xeLRczMzuCHb/8QU1OTPo2e/N5f/M+//OdS/NcBATz51Bf+ QED8knPf1VdfjV/8hV/Cxo0bQQjxaXOiueFmE8e165h6z9uqcq24p9X8Xum3U6dP4Y/+6P/B7NyM czfjBHd/+c+//ANJAGtb9b+WMhxzDnVuu/V2/KNf+scIh8MtEfpmj283WbSKJFoh+N0SfhvZbBa/ /29/D5OTLm3gvT279t3y4osv8vVMAHRNGziY+BdO4R8eGsbP/4NfcAm/EGJVwt/M8c2U74bwtwrt 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 4csfnTj+ZydOnJn2CD+r8p/1CgH4kUAlgXcJv/e3PXv2XDU8PLgrFAoNUlVZ8RkWRAj7/lacigT8 FqxT2dwkWiYQlDBvOyPENjQQ8fH2x9+XF/QBjLEsM62ZK7OzR44cOnLOR+B5nUTQscCgpEXnqNjT +2xX+xDH+arNNjihymYr0UL4RVJ1TtFxx7aAv/Xez5rPKmx7CaGjU4GtEB7huHFl5b9T+EUNgfd+ 9yMBVCEALtusRAth+rQzJwGIKgQg6hjj8yraQMfRyt6T+wi7qCLwlXp9iup+BpIAJLqhAfgJfy0S EHWSQNeCQpA2nreWqk/rFPxaBCCHABLtJoBqwt+INuC3r7s2jw5cQ/EhhGqCbxv1qI/qLwlAot3w 65FFA0OBeuwCgckYQjp8rVrj/mruxZIAJIIwBKilDfAq/wMH0sXr1qP2ewW/EgFIhyKJVsGsQgCN DgUCnxssSILjVfklAUh0SwMQdWoAfoTQUyA9dp+SACSCQAASEhISEhISEhISEhISEhISEhISEhIS EhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIS EhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIS EhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIS EhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEnXi/wfU/VkX//Ng DgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNy0wOC0xMVQxMzoxNTozNyswMDowMHOFhokAAAAldEVY dGRhdGU6bW9kaWZ5ADIwMTctMDgtMTFUMTM6MTU6MzcrMDA6MDAC2D41AAAAAElFTkSuQmCC "
+       preserveAspectRatio="none"
+       height="58.926487"
+       width="41.671768" />
+    <g
+       id="g1247">
+      <rect
+         y="46.212795"
+         x="95.627968"
+         height="16.441963"
+         width="39.6875"
+         id="rect7292"
+         style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <text
+         id="text7296"
+         y="52.07143"
+         x="97.895836"
+         style="font-style:normal;font-weight:normal;font-size:4.23333311px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.26458332"
+           y="52.07143"
+           x="97.895836"
+           id="tspan7294"
+           sodipodi:role="line">nbdkit +</tspan><tspan
+           id="tspan7298"
+           style="stroke-width:0.26458332"
+           y="57.363098"
+           x="97.895836"
+           sodipodi:role="line">VDDK</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-opacity:1;stroke:#ff3636;stroke-width:1.00157475;stroke-miterlimit:4;stroke-dasharray:4.00629907, 2.00314954;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 42.857422,101.80469 V 338.94727 H 239.28516 v 0.71484 H 442.85742 V 200.37695 H 263.57227 v -98.57226 z"
+       transform="scale(0.26458333)"
+       id="rect7338"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:4.23333311px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="14.098513"
+       y="85.7491"
+       id="text7345"><tspan
+         sodipodi:role="line"
+         id="tspan7343"
+         x="14.098513"
+         y="85.7491"
+         style="fill:#ff0000;stroke-width:0.26458332">proprietary VMware software and files</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker1241)"
+       d="m 135.07293,51.36899 c 3.78001,-4.347009 7.55977,-8.693734 11.33929,-13.040179"
+       id="path974"
+       inkscape:connector-curvature="0"
+       inkscape:path-effect="#path-effect976"
+       inkscape:original-d="m 135.07293,51.36899 c 3.78003,-4.346991 7.55979,-8.693717 11.33929,-13.040179" />
+    <g
+       id="g1257"
+       transform="translate(51.59375,-19.654762)">
+      <rect
+         style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="rect1249"
+         width="39.6875"
+         height="16.441963"
+         x="95.627968"
+         y="46.212795" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:4.23333311px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         x="97.895836"
+         y="52.07143"
+         id="text1255"><tspan
+           sodipodi:role="line"
+           x="97.895836"
+           y="52.07143"
+           style="stroke-width:0.26458332"
+           id="tspan1253">nbdsh</tspan></text>
+    </g>
+    <g
+       transform="translate(51.59375,1.5119112)"
+       id="g1267">
+      <rect
+         y="46.212795"
+         x="95.627968"
+         height="16.441963"
+         width="39.6875"
+         id="rect1259"
+         style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <text
+         id="text1265"
+         y="52.07143"
+         x="97.895836"
+         style="font-style:normal;font-weight:normal;font-size:4.23333311px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           id="tspan1263"
+           style="stroke-width:0.26458332"
+           y="52.07143"
+           x="97.895836"
+           sodipodi:role="line">guestfish and</tspan><tspan
+           style="stroke-width:0.26458332"
+           y="57.363098"
+           x="97.895836"
+           sodipodi:role="line"
+           id="tspan1283">libguestfs</tspan></text>
+    </g>
+    <g
+       id="g1277"
+       transform="translate(51.59375,22.678586)">
+      <rect
+         style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.26499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="rect1269"
+         width="39.6875"
+         height="16.441963"
+         x="95.627968"
+         y="46.212795" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:4.23333311px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         x="97.895836"
+         y="52.07143"
+         id="text1275"><tspan
+           sodipodi:role="line"
+           x="97.895836"
+           y="52.07143"
+           style="stroke-width:0.26458332"
+           id="tspan1273">nbdfuse</tspan></text>
+    </g>
+    <path
+       inkscape:original-d="m 135.07293,51.36899 c 3.84302,0.944676 7.68578,1.889616 11.52828,2.834821"
+       inkscape:path-effect="#path-effect1289"
+       inkscape:connector-curvature="0"
+       id="path1287"
+       d="m 135.07293,51.36899 c 3.84294,0.944986 7.6857,1.889926 11.52828,2.834821"
+       style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1293)"
+       transform="translate(0,1.0583333)"
+       sodipodi:nodetypes="cc" />
+    <path
+       transform="translate(0,2.1166667)"
+       style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1301)"
+       d="m 135.07293,51.36899 c 3.90571,7.181455 7.81146,14.362997 11.71727,21.544642"
+       id="path1295"
+       inkscape:connector-curvature="0"
+       inkscape:path-effect="#path-effect1297"
+       inkscape:original-d="m 135.07293,51.36899 c 3.90602,7.181285 7.81177,14.362829 11.71727,21.544642"
+       sodipodi:nodetypes="cc" />
+  </g>
+</svg>
diff --git a/2019-kvm-forum/6400-boot.d/.exists b/2019-kvm-forum/6400-boot.d/.exists
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/2019-kvm-forum/6400-boot.term b/2019-kvm-forum/6400-boot.term
new file mode 100755 (executable)
index 0000000..0680a08
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/bash -
+
+source functions
+
+# Title.
+export title="Tiny VMs"
+
+kernel="$(ls -1vr /boot/vmlinuz-* | head -1)"
+echo "qemu-kvm -display none -kernel $kernel -drive file=nbd:unix:\$unixsocket,snapshot=on -append 'console=ttyS0 root=/dev/sda1 rw' -serial stdio" > 6400-boot.d/qemu.sh
+chmod +x 6400-boot.d/qemu.sh
+
+# History.
+remember 'mkdir -p root/dev root/sbin root/bin root/usr/sbin root/usr/bin'
+remember 'sudo mknod root/dev/console c 5 1'
+remember 'cp /sbin/busybox root/sbin/'
+remember 'ln root/sbin/busybox root/bin/ls'
+remember 'ln root/sbin/busybox root/bin/sh'
+remember 'ln root/sbin/busybox root/bin/init'
+remember 'ls -lR root'
+remember "nbdkit -U - linuxdisk root --run 'export unixsocket; ./qemu.sh'"
+
+./restore
+cd 6400-boot.d
+terminal
+./restore
diff --git a/2019-kvm-forum/6600-data-disks.sh b/2019-kvm-forum/6600-data-disks.sh
new file mode 100755 (executable)
index 0000000..cbc7376
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/bash -
+
+xfce4-terminal --disable-server -x ./6600-next
diff --git a/2019-kvm-forum/6600-next b/2019-kvm-forum/6600-next
new file mode 100755 (executable)
index 0000000..c1bf450
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/bash -
+
+source functions
+
+# Title.
+export title="Data disks"
+
+# History.
+remember 'nbdkit data data="49 192 49 219 185 255 0 190 0 1 191 254 255 189 28 9 176 19 205 16 104 0 160 7 0 198 142 234 186 200 3 137 200 238 66 238 208 232 238 208 232 238 226 240 49 255 214 101 134 5 8 192 117 8 107 199 255 193 248 9 12 64 170 9 255 117 235 140 196 228 64 12 1 107 192 85 128 204 128 80 9 228 120 245 177 255 81 140 198 133 100 6 116 104 184 255 255 137 243 140 199 57 247 116 32 133 101 6 116 27 87 86 80 49 237 177 3 173 43 5 247 232 1 213 175 226 246 88 94 95 57 232 114 3 149 137 251 131 239 8 120 215 137 68 6 177 3 173 43 7 209 248 107 208 128 112 249 107 237 85 137 234 0 240 41 68 254 67 67 226 232 131 238 6 131 108 2 176 139 68 4 193 232 11 89 81 128 249 208 114 4 122 2 4 160 232 18 0 131 238 8 120 142 89 228 96 60 1 224 132 15 133 86 255 205 32 139 28 193 251 7 15 190 108 3 191 9 0 193 233 5 41 207 137 250 137 249 96 1 213 1 203 105 253 64 1 141 185 226 159 101 56 5 115 3 101 136 5 97 226 232 74 117 227 195 @0x1fe 0x55 0xAA" --run "qemu-system-i386 -hda \\$nbd"'
+
+echo "Demo Credit: Jan Kadlec (Řrřola)"
+echo "https://www.pouet.net/prod.php?which=82904"
+echo
+
+terminal
diff --git a/2019-kvm-forum/6800-next b/2019-kvm-forum/6800-next
new file mode 100755 (executable)
index 0000000..769ba23
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/bash -
+
+source functions
+
+# Title.
+export title="Reflection"
+
+# History.
+remember 'nbdkit info base64exportname'
+
+for program in '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'
+do
+    remember "qemu-system-i386 -drive snapshot=on,file.driver=nbd,file.host=localhost,file.port=10809,file.export=$program"
+done
+
+echo "Demo Credit: Oscar Toledo G."
+echo "https://github.com/nanochess"
+echo
+
+terminal
diff --git a/2019-kvm-forum/6800-reflection.sh b/2019-kvm-forum/6800-reflection.sh
new file mode 100755 (executable)
index 0000000..29fe3da
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/bash -
+
+xfce4-terminal --disable-server -x ./6800-next
index 0af856d..c25a368 100755 (executable)
@@ -2,9 +2,13 @@
 
 # Only do this on Rich's laptop.
 if [ "$LOGNAME" = "rjones" ]; then
+    if [ "$talkdir" = "" ]; then exit 1; fi
+
     fusermount -u $talkdir/6200-vddk.d/mp >& /dev/null
-    sleep 0.5
-    killall nbdkit >& /dev/null
+
+    sudo rm -rf $talkdir/6400-boot.d/root
+
+    sleep 0.5; killall nbdkit >& /dev/null
 fi
 
 exit 0