Comment 7 for bug 1493188

Revision history for this message
Scott Moser (smoser) wrote :

I've verified functional in yakkety in uvt-kvm.
Below 'ussh' is a wrapper arond uvt-kvm
  https://gist.github.com/smoser/88a5a77ab0debf268b945d46314ea447
for reader purposes, it can be assumed that it operates like 'lxc exec'. ie,
   ussh name command arguments
executed command and arguments on 'name'.

# make a new system.
name=sm-y1
uvt-kvm create $name release=yakkety

# enable proposed
$ ussh $name sudo sh -c 'echo "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc)-proposed main" >/etc/apt/sources.list.d/proposed.list && apt-get update -qy'
# install a package
ussh $name sudo apt-get install -qy overlayroot

# show.
$ ussh $name dpkg-query --show overlayroot
overlayroot 0.29ubuntu1

# enable overlayroot without recurse
$ ussh "$name" sh -c 'echo overlayroot=tmpfs:recurse=0 | sudo tee /etc/overlayroot.local.conf'

# reboot
$ ussh $name reboot

# show
$ ussh $name grep overlay /proc/mounts
overlayroot / overlay rw,relatime,lowerdir=/media/root-ro,upperdir=/media/root-rw/overlay,workdir=/media/root-rw/overlay-workdir/_ 0 0

# turn on recurse
$ ussh "$name" sh -c 'echo overlayroot=tmpfs:recurse=1 | sudo overlayroot-chroot tee /etc/overlayroot.local.conf'

# reboot
$ ussh $name reboot

# show /proc/mounts
$ ussh "$name" grep overlay /proc/mounts
overlayroot / overlay rw,relatime,lowerdir=/media/root-ro,upperdir=/media/root-rw/overlay,workdir=/media/root-rw/overlay-workdir/_ 0 0
/media/root-ro/mnt /mnt overlay rw,relatime,lowerdir=/media/root-ro/mnt,upperdir=/media/root-rw/overlay/mnt,workdir=/media/root-rw/overlay-workdir/mnt 0 0

$ ussh $name grep overlay /etc/fstab
# This fstab is in an overlay. The real one can be found at
# sudo overlayroot-chroot
/media/root-ro/ / overlay lowerdir=/media/root-ro/,upperdir=/media/root-rw/overlay/,workdir=/media/root-rw/overlay-workdir/_ 0 0
LABEL=UEFI /boot/efi vfat defaults 0 0 # overlayroot:fs-unsupported
/media/root-ro/mnt /mnt overlay lowerdir=/media/root-ro/mnt,upperdir=/media/root-rw/overlay/mnt,workdir=/media/root-rw/overlay-workdir/mnt 0 0

# show kernel version
$ ussh $name uname -r
4.8.0-17-generic

# boot into normal root
$ ussh sm-y1 sudo sh -c 'overlayroot-chroot rm /etc/overlayroot.local.conf && reboot'