Red Hat Bugzilla – Bug 1301121
Upgrading from Rhel 6 to Rhel 7 results in failure to boot. "/sysroot does not seem to be an OS tree. /etc/os-release is missing."
Last modified: 2016-08-03 13:48:58 EDT
Created attachment 1117287 [details]
tar of the case attachments. rdsosreport, journal.txt, result.txt, and Screenshots
Description of problem:
During the upgrade process. The system is unable to identify the /etc/os-release file in the chroot environment and fails to continue.
"/sysroot does not seem to be an OS tree. /etc/os-release is missing."
Version-Release number of selected component (if applicable):
Upgrade completes successfully
This is similar to Fedora Bug 1033764
Customer was able to successfully install Rhel 7.1. Simply can not upgrade from 6->7
What version of redhat-upgrade-tool was used? What was used as the upgrade source? (network, DVD, Workstation/Server/etc) Does /etc/system-upgrade-release exist in the dracut emergency shell? Please attach /var/log/redhat-upgrade-tool.log.
Resetting the needinfo flag for the information requested in comment 2.
Also I am attaching an additional screenshot of the contents of system-upgrade-release contents and the "redhat-upgrade-tool-log"
Created attachment 1117338 [details]
Hmm. File is too large. Here is a link to the attachment in the case.
Can you attach /boot/grub/menu.lst after redhat-upgrade-tool is run? Was the boot command line modified between running redhat-upgrade-tool and booting into the upgrade environment?
It looks like the boot command line is truncated to 256 characters. The rdsosreport log files indicate the system was booted with the following arguments:
root=/dev/VolGroup00/LogVol00 ro rd.luks=0 rd.locale.LANG=en_US.UTF-8 rd.md=0 vconsole.font=latarcyrheb-sun16 KEYBOARDTYPE=pc vconsole.keymap=us rd.dm=0 biosdevname=0 rd.driver.pre=scsi_dh_rdac console=ttyS2,57600n8 crashkernel=auto console=tty0 upgrade i
where the "i" at the end should actually be "init=/usr/libexec/upgrade-init", which is shown in the redhat_upgrade_tool.log file. Since the init= argument was missing, systemd attempted to boot the system normally, as if it were an upgraded RHEL 7 environment, instead of the upgrade-init script being used to start the upgrade process.
Created attachment 1118270 [details]
The command line is correct in menu.lst, and the upgrade will boot into a RHEL 7 kernel, which leads me to suspect that grub is what is truncating the command line. Is it possible that grub is out of date? Even if the package has been updated, the files used to boot may not have been updated.
I'm not sure exactly which versions of grub would exhibit this problem, but the knowledge base article at https://access.redhat.com/solutions/1268103 indicates that this has been a problem at some point in RHEL 6. Could you try updating the bootloader and boot the System Upgrade entry again?
pstodulk, wouldn't it be viable to add a check for this issue to preupgrade-assistant? It would require some investigation because:
1) We currently don't know what version of grub fixed this truncating.
2) It could happen that yum updated the grub package but the original boot loader remained (grub-install wasn't run afterwards). Thus simple check of grub package version wouldn't suffice.
This issue was fixed in version 0.97-37 of grub . However RHEL 6.0 GA has been shipped with grub-0.97-68.
That means that the bootloader must have been installed prior the RHEL 6 installation. There is no supported way of obtaining RHEL 6 other than clean install.
Also when reading the closed customer case, the customer tried reinstalling the bootloader and then they were able to successfully upgrade to RHEL 7.
There is nothing to fix in redhat-upgrade-tool so I'm closing this bug as NOTABUG.