[Bug 1816753] Re: do-release-upgrade on WSL failed horribly due to grub and others
Łukasz Zemczak
1816753 at bugs.launchpad.net
Mon Mar 25 16:19:17 UTC 2019
Hello Søren, or anyone else affected,
Accepted systemd into cosmic-proposed. The package will build now and be
available at
https://launchpad.net/ubuntu/+source/systemd/239-7ubuntu10.11 in a few
hours, and then in the -proposed repository.
Please help us by testing this new package. See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed. Your feedback will aid us getting this
update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested and change the tag from
verification-needed-cosmic to verification-done-cosmic. If it does not
fix the bug for you, please add a comment stating that, and change the
tag to verification-failed-cosmic. In either case, without details of
your testing we will not be able to proceed.
Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in
advance for helping!
N.B. The updated package will be released to -updates after the bug(s)
fixed by this package have been verified and the package has been in
-proposed for a minimum of 7 days.
** Changed in: systemd (Ubuntu Cosmic)
Status: In Progress => Fix Committed
** Tags added: verification-needed verification-needed-cosmic
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1816753
Title:
do-release-upgrade on WSL failed horribly due to grub and others
Status in systemd package in Ubuntu:
Fix Released
Status in systemd source package in Xenial:
In Progress
Status in systemd source package in Bionic:
In Progress
Status in systemd source package in Cosmic:
Fix Committed
Status in systemd source package in Disco:
Fix Released
Bug description:
[Impact]
* Package maintainer scripts and services use systemd-detect-virt and systemd's virtualization detection to determine the environment they are ran in and based on that skip not applicable operations, such as installing grub info to the MBR or to the EFI partition in a container. The WSL environment is similar to containers in that boot loader and initramfs preparations are not useful, but without this change only ad-hoc tests could be implemented in each separate package to avoid obsolete actions or failing in trying not applicable operations.
* The fix detects WSL as a container type, called wsl in systemd and as a result make packages behave like they would in classic Linuxcontainers.
[Test Case]
* Install the fixed systemd package in WSL and observe that it is detected as a container:
$ systemd-detect-virt --container
wsl
$
* Install the fixed systemd package in LXC and observe that it is still detected correctly:
$ systemd-detect-virt --container
lxc
$
* Install the fixed systemd package in a VM or on a bare metal systemd and observe that it is still detected correctly:
$ systemd-detect-virt --container
none
$ echo $?
1
* Observe the man page of sytemd-detect-virt mentioning wsl.
[Regression Potential]
* The changes is virtualization detection could break the detection logic but the test cases here cover most of the relevant code paths and the detection logic is also exercised in autopkgtests thus causing a regression is unlikely.
* The changes to the man pages could break the formatting, but a simple observation mitigates that risk, too.
[Original Bug Text]
Upon reading an Ubuntu page that said it was possible to upgrade my
Ubuntu-under-Windows 10 install (WSL) from 16.04 LTS just by running
do-release-upgrade, I excitedly went to my terminal and ran the
command.
First it refused to run because system was not fully updated. Fine, I ran:
sudo apt update
sudo apt dist-upgrade
This process completed without any errors. I then ran do-release-
upgrade again. This time it started okay and got through most of the
process.
But then at some point it decided to run grub even though I am running
Ubuntu under WSL, so presumably grub should not be used. It did
apparently detect that it wasn't needed, because it asked me if I was
sure I didn't want to install it on the boot device. I answered yes.
Then the install proceeded to LXD but soon after came an error related
to grub.
After that it went downhill fast with at least 2 other errors.
Additionally, when the system attempted to roll back the upgrade I got
an error from a kernel package.
ProblemType: Package
DistroRelease: Ubuntu 18.04
Package: friendly-recovery 0.2.38ubuntu1
ProcVersionSignature: Microsoft 4.4.0-17763.253-Microsoft 4.4.35
Uname: Linux 4.4.0-17763-Microsoft x86_64
ApportVersion: 2.20.9-0ubuntu7.5
Architecture: amd64
Date: Tue Feb 19 23:50:44 2019
Dmesg: [ 0.017808] Microsoft 4.4.0-17763.253-Microsoft 4.4.35
ErrorMessage: installed friendly-recovery package post-installation script subprocess returned error exit status 1
PackageArchitecture: all
Python3Details: /usr/bin/python3.6, Python 3.6.7, python3-minimal, 3.6.7-1~18.04
PythonDetails: /usr/bin/python2.7, Python 2.7.15rc1, python-minimal, 2.7.15~rc1-1
RelatedPackageVersions:
dpkg 1.19.0.5ubuntu2.1
apt 1.6.8
SourcePackage: grub2
Title: package friendly-recovery 0.2.38ubuntu1 failed to install/upgrade: installed friendly-recovery package post-installation script subprocess returned error exit status 1
UpgradeStatus: Upgraded to bionic on 2019-02-20 (0 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1816753/+subscriptions
More information about the foundations-bugs
mailing list