Bug 979269 - kernel parameter root= is ignored
kernel parameter root= is ignored
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: dracut (Show other bugs)
19
i686 Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: dracut-maint
Fedora Extras Quality Assurance
: Regression
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-06-28 02:35 EDT by Felix Miata
Modified: 2013-08-20 09:59 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-08-20 08:57:30 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
/run/initramfs/sosreport.txt (62.77 KB, text/plain)
2013-06-28 02:35 EDT, Felix Miata
no flags Details

  None (edit)
Description Felix Miata 2013-06-28 02:35:50 EDT
Created attachment 766427 [details]
/run/initramfs/sosreport.txt

To reproduce:
1-clone F19 / partition to another partition
2-assign new UUIDs to the clone and cloned partitions
3-assign unique labels to clone and cloned partitions
4-adjust fstabs using either root=LABEL=<label> or root=/dev/sdaX to match new partitioning
5-set bootloader cmdlines to either root=LABEL=<label> or root=/dev/sdaX
6-try to boot either clone or cloned partition

Actual behavior:
1-dracut-initqueue[99]: Warning: Could not boot
2-dracut-initqueue[99]: Warning: /dev/disk/by-uuid/<UUID> does not exist
3-emergency shell entered

Expected behavior:
1-/ partition found and mounted as directed by cmdline boot= specification
2-uneventful init

Comments:
A-/dev/disk/ is fully populated
B-all partitions represented by /dev/sdaX names
C-lsinitrd output excerpts:
etc/systemd/system/initrd.target.requires/dev-disk-by\x2duuid-dbb42d8b\x2d530c\x2d41a3\x2dba2c\x2d974f458af8d1.device
etc/systemd/system/initrd.target.requires/dev-disk-by\x2duuid-a0de673b\x2d6312\x2d4c5e\x2dafee\x2da85b5504f8cf.device
usr/lib/dracut/hooks/initqueue/finished/devexists-\x2fdev\x2fdisk\x2fby-uuid\x2fa0de673b-6312-4c5e-afee-a85b5504f8cf.sh
usr/lib/dracut/hooks/initqueue/finished/devexists-\x2fdev\x2fdisk\x2fby-uuid\x2fdbb42d8b-530c-41a3-ba2c-974f458af8d1.sh
Comment 1 Harald Hoyer 2013-06-28 10:58:06 EDT
https://fedoraproject.org/wiki/Features/DracutHostOnly

If you change your machine or partitions or significant hardware, you might have to boot with the "Rescue" boot entry and execute "dracut --regenerate-all". If you want your initramfs to be hardware independent, install the "dracut-nohostonly" rpm package. If you don't want rescue images at all (like in virtual machines), install the "dracut-norescue" rpm package.
Comment 2 Felix Miata 2013-06-28 15:09:03 EDT
Here's what set up the failure leading to filing this:
1-Bug 974467 prevented a fresh install of F19 from which to convert to Rawhide.
2-All my systems are for all practical purposes multiboot (most have more than 4 operating systems installed, many more than a dozen, most including DOS and/or Windows and/or OS/2).
3-None of my systems need Grub2 features lacking in Grub Legacy, so in keeping with KISS as much as practical, and wishing to keep space required for / filesystems to a minimum, with few exceptions, I disallow installation of Grub2.
4-When the existing F19 installation was made, I didn't know about any hidden syslinux installation option. Maybe it didn't yet exist.
5-I installed F19 selecting the no bootloader option.
6-I made the clone.
7-The Grub Legacy I installed and maintain manually, usually uses root=LABEL=<label> syntax for each stanza, sometimes uses root=<devicename> syntax, and never uses root=<uuid> syntax.
8-The installed Grub uses the standard 8.3-compatible Grub Legacy menu configuration file: menu.lst. I failed to symlink menu.lst to grub.conf, so Grubby never created a stanza utilizing the rescue kernel and initrd.
9-I botched my initial attempt to use the rescue kernel and initrd.

(In reply to Harald Hoyer from comment #1)
> https://fedoraproject.org/wiki/Features/DracutHostOnly
 
> If you change your machine or partitions or significant hardware, you might
> have to boot with the "Rescue" boot entry and execute "dracut
> --regenerate-all".

On successful boot using rescue kernel and initrd

  dracut --regenerate-all

failed to create new images, indicating --force would be required to overwrite existing.

The string "regenerate" is missing from output of 'dracut --help'.

Both clone source and target have been successfully booted from regenerated images.

> If you want your initramfs to be hardware independent,
> install the "dracut-nohostonly" rpm package.

While good to know, I'm not currently interested in hardware independence, only respect for valid cmdline parameter(s). (see e.g. first paragraph at https://fedoraproject.org/wiki/Dracut/Options#Dracut_kernel_command_line_parameters, which explicitly lists as examples root=/dev/hda1 and root=LABEL=rootPart)
Comment 3 Harald Hoyer 2013-08-20 08:57:30 EDT
dracut-032 supports:

$ man dracut:

       --persistent-policy <policy>
           Use <policy> to address disks and partitions.  <policy> can be any
           directory name found in /dev/disk. E.g. "by-uuid", "by-label"

$ man dracut.conf

       persistent_policy="<policy>"
           Use <policy> to address disks and partitions.  <policy> can be any
           directory name found in /dev/disk. E.g. "by-uuid", "by-label"
Comment 4 Felix Miata 2013-08-20 09:59:34 EDT
As is typical of man pages, comment 3 includes no example that might explain how comment 3 would solve the problem reported. What does any policy have to do with obeying a traditional root= cmdline option? How would one go about testing the efficacy of this purported "solution"?

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