[Bug 1060404] Re: update-grub runs and fails in containers

Andreas Hasenack andreas at canonical.com
Tue Jan 22 12:34:21 UTC 2013


I installed the version from precise-updates on a precise lxc, which didn't have grub-pc before. It worked for me. Here is the output:
"""
(...)
Processing triggers for ureadahead ...
Setting up libfreetype6 (2.4.8-1ubuntu2.1) ...
Setting up gettext-base (0.18.1.1-5ubuntu3) ...
Setting up libfuse2 (2.8.6-2ubuntu2) ...
Setting up grub-common (1.99-21ubuntu3.8) ...
Setting up grub2-common (1.99-21ubuntu3.8) ...
Setting up grub-pc-bin (1.99-21ubuntu3.8) ...
Setting up os-prober (1.51ubuntu3) ...
Setting up grub-pc (1.99-21ubuntu3.8) ...

Creating config file /etc/default/grub with new version
lxc
Setting up grub-gfxpayload-lists (0.6) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
root at precise:~# 
"""

That lone "lxc" comes from grub's postinst calling "running-in-
container". I think it could have its output redirected to /dev/null,
unless we want to restrict this test to "lxc":

root at precise:~# running-in-container 
lxc
root at precise:~#

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/1060404

Title:
  update-grub runs and fails in containers

Status in “grub2” package in Ubuntu:
  Fix Released
Status in “lxc” package in Ubuntu:
  Fix Released
Status in “grub2” source package in Precise:
  Fix Committed
Status in “lxc” source package in Precise:
  Triaged
Status in “grub2” source package in Quantal:
  Fix Released
Status in “lxc” source package in Quantal:
  Fix Released

Bug description:
  [Impact] GRUB upgrades fail in containers.
  [Test Case] Upgrade the grub-pc package in a container.
  [Regression Potential] In itself, this postinst fix should be quite safe.  It's possible it won't solve the whole problem - e.g. linux-image-* upgrades calling update-grub - but I wanted to backport just what was in quantal/raring rather than getting creative in an SRU.

  [XXX edit - removed the SRU justification for lxc part.  The proposed solution
  was not safe, and was undone in a later commit.  devtmpfs cannot be mounted
  in a container, because changes under the container's /dev are then
  reflected in the host's /dev.

  If grub is installed in a container (as happens, for instance, with
  the ubuntu-cloud template) then an update of grub or linux-image will
  cause update-grub to be run.  It tries, finds it can't access the root
  device, fails, and causes the update to fail.

  It would be better for update-grub to detect that it is in a container
  and simply exit 0, so that the apt-get can succeed.  I'm attaching a
  debdiff which does that.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1060404/+subscriptions




More information about the foundations-bugs mailing list