Comment 3 for bug 1852518

Revision history for this message
Robert C Jennings (rcj) wrote :

I have been using https://github.com/chrisglass/ubuntu-old-fashioned to accurately recreate the lxd profile/environment as done in the buildds. This is a privileged container with particular settings https://bazaar.launchpad.net/~canonical-launchpad-branches/launchpad-buildd/trunk/view/head:/lpbuildd/target/lxd.py#L287 and manually created device nodes https://bazaar.launchpad.net/~canonical-launchpad-branches/launchpad-buildd/trunk/view/head:/lpbuildd/target/lxd.py#L438 that may be hard to duplicate accurately by hand.

I've edited /usr/bin/old-fashioned-image-build further to hold the builder environment between setup and build. That gives you the ability to 'sudo lxc exec lp-focal-amd64 bash' and experiment with backleveling packages to help bisect or to run other manual experiments to recreate without the build.

--- ubuntu-old-fashioned/old-fashioned-image-build 2019-11-13 21:25:10.296000000 +0000
+++ /usr/bin/old-fashioned-image-build 2019-11-14 13:56:24.897891670 +0000
@@ -209,6 +209,12 @@
 # buildlivefs (below) overwriting changes
 lxc exec lp-$SERIES-${ARCH} -- apt-get install -y livecd-rootfs

+touch /tmp/hold
+while [ -f /tmp/hold ] ; do
+ echo "Waiting for /tmp/hold to be removed"
+ sleep 30
+done
+
 # Remove and recreate the livecd-rootfs code we will be replacing with code
 # in our current directory
 lxc exec lp-$SERIES-${ARCH} -- rm -rf /usr/share/livecd-rootfs

My steps to recreate in the environment are:

truncate foo 4M
gdisk foo
# Create a partition
kpartx -av foo
# recreate hang