Bug 1033764 - When rootfs is on btrfs subvolume, and extlinux is the bootloader, the system doesn't boot
Summary: When rootfs is on btrfs subvolume, and extlinux is the bootloader, the system...
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: 20
Hardware: x86_64
OS: Linux
Target Milestone: ---
Assignee: Anaconda Maintenance Team
QA Contact: Fedora Extras Quality Assurance
Whiteboard: AcceptedFreezeException
Depends On:
Blocks: F20FinalFreezeException
TreeView+ depends on / blocked
Reported: 2013-11-22 19:59 UTC by Gene Czarcinski
Modified: 2014-02-21 19:18 UTC (History)
9 users (show)

Fixed In Version: anaconda-20.25.15-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2014-02-21 19:18:45 UTC
Type: Bug

Attachments (Terms of Use)
/run/initramfs/rdsosreport (51.33 KB, text/plain)
2013-11-22 20:01 UTC, Gene Czarcinski
no flags Details
extlinux.conf (518 bytes, text/plain)
2013-11-26 23:36 UTC, Chris Murphy
no flags Details
add rootflags=subvol=<name> to append (1.14 KB, patch)
2013-12-05 18:51 UTC, Gene Czarcinski
no flags Details | Diff

Description Gene Czarcinski 2013-11-22 19:59:27 UTC
Description of problem:
This is all done with qemu-kvm virtuals and the intent is to use the extlinux boot loaded instead of grub2.  One virtual disk with three partitions:
/boot on one(ext4) (vda1), swap on a second (vda2) and rootfs on a third (vda3).  The "system" installed is a simple lxde-desktop.

In the first case, rootfs was ext4 and anaconda installed with no problems.  It rebooted and I was able to log on.

In the second case, rootfs was btrfs and anaconda installed with no problems.  The system rebooted and immediately crashed about as early as I have ever seen as system crash.  The message said I should save the /run/initramfs/rdsosreport.txt which I did (58K of text)

Here are the messages at the end:
[    1.106787] btrfs9 systemd[1]: Reached target Switch Root.
[    1.108952] btrfs9 systemd[1]: Started Plymouth switch root service.
[    1.109180] btrfs9 systemd[1]: Starting Switch Root...
[    1.109637] btrfs9 systemd[1]: Not switching root: /sysroot does not seem to be an OS tree. /etc/os-release is missing.
[    1.115312] btrfs9 systemctl[136]: Failed to issue method call: Invalid argument
[    1.115614] btrfs9 systemd[1]: initrd-switch-root.service: main process exited, code=exited, status=1/FAILURE
[    1.115911] btrfs9 systemd[1]: Failed to start Switch Root.
[    1.116276] btrfs9 systemd[1]: Startup finished in 441ms (kernel) + 0 (initrd) + 667ms (userspace) = 1.109s.
[    1.116603] btrfs9 systemd[1]: Unit initrd-switch-root.service entered failed state.
[    1.116916] btrfs9 systemd[1]: Triggering OnFailure= dependencies of initrd-switch-root.service.
[    1.117237] btrfs9 systemd[1]: Starting Emergency Shell...

Version-Release number of selected component (if applicable):
Fedora 20-Beta & Beta+, syslinux/syslinux-extlinux-4.05-7.fc20

I do not have any idea of what is going on.

Comment 1 Gene Czarcinski 2013-11-22 20:01:06 UTC
Created attachment 827992 [details]

This is the file that was suggested to save.

Comment 2 Gene Czarcinski 2013-11-26 17:51:03 UTC
Ping:  at least tell me if this is suppose to work.

Comment 3 Chris Murphy 2013-11-26 20:59:14 UTC
Please post extlinux.conf, this may be an anaconda bug.

Comment 4 Chris Murphy 2013-11-26 23:20:07 UTC
I've reproduced this, it's an anaconda bug generating the extlinux.conf.

Comment 5 Chris Murphy 2013-11-26 23:22:26 UTC
0. Boot with extlinux option.
1. Install using guided partitioning, BTRFS partition scheme.

Failure to reboot, drops to dracut shell. Cause is that the anaconda generated extlinux.conf doesn't contain the rootflags=subvol=root parameter so that the kernel knows where to find rootfs. Since it can't find rootfs, we fail to boot.

Comment 6 Fedora Blocker Bugs Application 2013-11-26 23:31:15 UTC
Proposed as a Freeze Exception for 20-final by Fedora user chrismurphy using the blocker tracking app because:

 It would be nice if booting a guided partition configuration with extlinux doesn't fail to boot after installation. The fix and (manual) workaround is to add rootflags=subvol=root as a kernel parameter to the extlinux.conf.

Comment 7 Chris Murphy 2013-11-26 23:36:15 UTC
Created attachment 829526 [details]

Shows missing rootflags=subvol=root parameter.

Comment 8 Gene Czarcinski 2013-11-27 01:57:55 UTC
Thanks Chris!

Comment 9 Adam Williamson 2013-11-27 18:54:58 UTC
Discussed at 2013-11-27 freeze exception review meeting: http://meetbot.fedoraproject.org/fedora-blocker-review/2013-11-27/f20-blocker-review-3.2013-11-27-17.01.log.txt . Accepted as a freeze exception issue: extlinux is an unsupported hidden option but it's nice to fix it if we can, there's no way to fix this post-release, and the patch only touches the code that only gets run if you're doing extlinux, so it can't break anything sensitive.

Comment 10 Gene Czarcinski 2013-12-05 18:51:26 UTC
Created attachment 833299 [details]
add rootflags=subvol=<name> to append

Fixes problem

Note You need to log in before you can comment on or make changes to this bug.