Bug 811964

Summary: preupgrade: sh: /sbin/grub: No such file or directory
Product: [Fedora] Fedora Reporter: Need Real Name <lsof>
Component: preupgradeAssignee: Richard Hughes <hughsient>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 19CC: awilliam, bloch, cquike, dave, hughsient, igeorgex, jnalley, jreznik, lecointe_nicolas, lsof, lyricnz, mads, rhughes, robatino, tflink, urilabob
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: RejectedBlocker
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-09 17:04:36 EST Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:

Description Need Real Name 2012-04-12 08:08:15 EDT
Description of problem:
preupgrade claims to finish successfully, but has not updates the grub.cfg file.
there appears to be no check if the grub.cfg was successfully updated.

Upgrade requires 500.0MB
Available disk space for /usr: 113.4GB
Kernel requires 26.0MB
Available disk space for /boot: 100.5MB
Generating metadata for preupgrade repo
DEBUG /sbin/grubby --title="Upgrade to Fedora 17 (Beefy Miracle)" --remove-kernel="/boot/upgrade/vmlinuz" --add-kernel="/boot/upgrade/vmlinuz" --initrd="/boot/upgrade/initrd.img" --args="preupgrade repo=hd::/var/cache/yum/preupgrade  ks=hd:UUID=yadda:/upgrade/ks.cfg stage2=hd:UUID=yadda:/upgrade/squashfs.img"

# grep -i upgrade /boot/grub/grub.conf
(no output)

Version-Release number of selected component (if applicable):
preupgrade-1.1.10-1.fc16.noarch

How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:
Comment 1 Need Real Name 2012-04-16 07:23:51 EDT
The key part:
sh: /sbin/grub: No such file or directory
/bin/echo: write error: Broken pipe
All finished. The upgrade will begin when you reboot.

Two bugs:
1. Not checking the return code before reporting success
2. I have grub2 installed, not grub:

# rpm -qa |grep grub
grub2-1.99-13.fc16.2.x86_64
grub-efi-0.97-84.fc16.x86_64
grubby-8.8-2.fc16.x86_64
Comment 2 Richard Hughes 2012-04-16 07:33:10 EDT
Can you try the preupgrade package here please: http://people.freedesktop.org/~hughsient/fedora/16/x86_64/

Thanks dude.
Comment 3 Need Real Name 2012-04-17 01:57:16 EDT
(In reply to comment #2)
> Can you try the preupgrade package here please:
> http://people.freedesktop.org/~hughsient/fedora/16/x86_64/
> 
> Thanks dude.

It doesn't work.
Comment 4 Need Real Name 2012-04-17 02:02:48 EDT
First the good news: no error!

Now the bad news: reboot doesn't run preupgrade, and it's missing from the grub kernel list.

/boot/grub2/grub.cfg contains an upgrade entry, but everything else is using /boot/grub....
Comment 5 Need Real Name 2012-04-17 02:24:39 EDT
So now I ran the command:
 /sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
and then preupgrade, and checked grub2/grub.cfg contained the preupgrade line. It did. And I rebooted.

Nothing: I get grub 0.97 and only the standard kernels list (isn't it meant to chainload?)

I tried manually installing grub2:

# mount | grep boot
/dev/sda1 on /boot type ext3 (rw,relatime,seclabel,user_xattr,barrier=1,nodelalloc,data=ordered)

# grub2-install /dev/sda1
/sbin/grub2-setup: warn: Attempting to install GRUB to a partitionless disk or to a partition.  This is a BAD idea..
/sbin/grub2-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
/sbin/grub2-setup: error: will not proceed with blocklists.

Okay, so:

# grub2-install /dev/sda
Installation finished. No error reported.

and now I'll reboot.
Comment 6 Need Real Name 2012-04-17 04:55:49 EDT
Finally! It worked.

But this release really is alpha: the oom killer is going crazy (I have 4 gigs) and it looks like an SELinux relabel is required to prevent a problem with setroubleshootd and systemd-journal eating all the cpu.
Comment 7 bob mckay 2012-05-31 05:36:58 EDT
This problem seems to be at least partially present in the release version (May 31). That is, I got the same error message from preupgrade. When I rebooted, the F17 upgrade kernel was listed (but the default was still set to the F16 kernel). I didn't want to risk trying what appears to have been an incomplete upgrade, so I don't know what would have happened if I had run it - I'm happy to try if someone will help me to put it back together again if something breaks.

How this system differs from others that worked OK:
1. i386 rather than 64-bit
2. Relatively small memory machine (1.25G)
Not sure what else might be relevant.
Comment 8 bob mckay 2012-06-01 04:49:48 EDT
A second attempt on the same machine apparently got through the preupgrade phase, but then crashed on reboot, due to /usr partition being too small. The system is currently unbootable. So perhaps this problem could be an unhandled condition of too-small /usr?
Comment 9 Nicolas LECOINTE 2012-06-05 12:21:59 EDT
I have the same problem.
My system is F16 freshly installed.

[root@test ~]# preupgrade-cli --vnc=nasadmin "Fedora 17 (Beefy Miracle)" --ip 10.64.224.213 --netmask 255.255.255.0 --gateway 10.64.224.1 --dns 10.64.224.63
...
Preparing system to boot into installer
DEBUG /sbin/grubby --title="Upgrade to Fedora 17 (Beefy Miracle)" --remove-kernel="/boot/upgrade/vmlinuz" --add-kernel="/boot/upgrade/vmlinuz" --initrd="/boot/upgrade/initrd.img" --args="preupgrade repo=hd::/var/cache/yum/preupgrade  ks=hd:UUID=97bccc91-c2d7-4c8d-b5bc-70a9ee09b91a:/upgrade/ks.cfg stage2=hd:UUID=97bccc91-c2d7-4c8d-b5bc-70a9ee09b91a:/upgrade/squashfs.img ksdevice=link"
sh: /sbin/grub: No such file or directory
All finished. The upgrade will begin when you reboot.

[root@test ~]# uname -a
Linux test 3.3.7-1.fc16.i686.PAE #1 SMP Tue May 22 14:07:22 UTC 2012 i686 i686 i386 GNU/Linux

[root@test ~]# rpm -qa |grep grub
grubby-8.8-2.fc16.i686
grub2-1.99-13.fc16.3.i686

1.2 GB of memory
Comment 10 Dave Yost 2012-06-08 03:58:08 EDT
This serious bug was reported 3 months ago!

Here's what happened to me:

# uname -a
Linux s4.ootbcomp.com 3.3.7-1.fc16.x86_64 #1 SMP Tue May 22 13:59:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
# preupgrade-cli --version
Loaded plugins: blacklist, langpacks, whiteout
No plugin match for: rpm-warm-cache
No plugin match for: remove-with-leaves
PreUpgrade - 1.1.10 (yum - 3.4.3)
# preupgrade-cli "Fedora 17 (Beefy Miracle)"
...
Generating metadata for preupgrade repo
Spawning worker 0 with 2235 pkgs
Workers Finished
Gathering worker results

Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
Preparing system to boot into installer
DEBUG /sbin/grubby --title="Upgrade to Fedora 17 (Beefy Miracle)" --remove-kernel="/boot/upgrade/vmlinuz" --add-kernel="/boot/upgrade/vmlinuz" --initrd="/boot/upgrade/initrd.img" --args="preupgrade repo=hd::/var/cache/yum/preupgrade  ks=hd:UUID=23fa800f-63d2-4576-95bc-0b3dd09def09:/upgrade/ks.cfg stage2=hd:UUID=23fa800f-63d2-4576-95bc-0b3dd09def09:/upgrade/squashfs.img"
sh: /sbin/grub: No such file or directory
/bin/echo: write error: Broken pipe
All finished. The upgrade will begin when you reboot.
# ls -l /sbin/grub*
-rwxr-xr-x  1 root root  21954 May  7 06:50 /sbin/grub2-install
-rwxr-xr-x  1 root root   7845 May  7 06:50 /sbin/grub2-mkconfig
-rwxr-xr-x  1 root root  83800 May  7 06:50 /sbin/grub2-mkdevicemap
-rwxr-xr-x  1 root root   5802 May  7 06:50 /sbin/grub2-mknetdir
-rwxr-xr-x  1 root root 367920 May  7 06:50 /sbin/grub2-probe
-rwxr-xr-x  1 root root   3369 May  7 06:50 /sbin/grub2-reboot
-rwxr-xr-x  1 root root   2878 May  7 06:50 /sbin/grub2-set-default
-rwxr-xr-x  1 root root 413720 May  7 06:50 /sbin/grub2-setup
-rwxr-xr-x  1 root root  56184 Dec 20 20:36 /sbin/grubby
-rwxr-xr-x. 1 root root   2471 Oct 26  2011 /sbin/grub-crypt
-rwxr-xr-x. 1 root root   2293 Oct 26  2011 /sbin/grub-md5-crypt
-rwxr-xr-x. 1 root root   2481 Oct 26  2011 /sbin/grub-terminfo
#
Comment 11 Mads Kiilerich 2012-06-09 10:20:07 EDT
Bob, Nicolas and Dave, your issue seems to what most clearly is reported on Bug 815473 - Preugprade from F16 to F17 Beta doesn't successfully set the boot menu default. You do have a preupgrade entry in grub2 - but preupgrade failed to make it default.

lsof: Your issue might be that one too. Comments like "grep -i upgrade /boot/grub/grub.conf (no output)" and "everything else is using /boot/grub" indicate that you are on an EFI system and then there is no way grub2 can work. The problem might be that you should have looked in /boot/grub2/grub.cfg from the beginning.
Comment 12 Enrique 2012-08-08 17:49:21 EDT
 I have the same problem.
 This are the grub related packages I have:
 rpm -qa | grep grub
grub2-1.99-13.fc16.3.i686
grubby-8.8-2.fc16.i686
grub-efi-0.97-84.fc16.i686

 My F16 system is itself an upgrade of a F15 system. That maybe explains why still grub is the default boot system in my machine, rather than grub2.

 Regards, 
 Enrique
Comment 13 Simon Roberts 2012-08-11 22:05:12 EDT
Same problem here. Fedora box that's been upgraded through multiple versions, currently F16 with all current updates.


>> preupgrade-cli "Fedora 17 (Beefy Miracle)"
...
(1835/1835): zvbi-0.2.33-12.fc17.x86_64.rpm | 377 kB     00:01
Generating metadata for preupgrade repo
preupgrade             | 3.7 kB     00:00
preupgrade/primary_db  | 2.3 MB     00:04
preupgrade/group       | 1.9 MB     00:05
Spawning worker 0 with 1835 pkgs
Workers Finished
Gathering worker results

Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
Preparing system to boot into installer
DEBUG /sbin/grubby --title="Upgrade to Fedora 17 (Beefy Miracle)" --remove-kernel="/boot/upgrade/vmlinuz" --add-kernel="/boot/upgrade/vmlinuz" --initrd="/boot/upgrade/initrd.img" --args="preupgrade repo=hd::/var/cache/yum/preupgrade  ks=hd:UUID=03b7b54e-8b8a-4e8a-a406-c6bf4caebae4:/upgrade/ks.cfg stage2=http://fedora.mirror.uber.com.au/fedora/linux/releases/17/Fedora/x86_64/os/LiveOS/squashfs.img"
sh: /sbin/grub: No such file or directory
/bin/echo: write error: Broken pipe
All finished. The upgrade will begin when you reboot.
[root@mythfe ~]# 

That's pretty bad for a final release to fail like this.
Comment 14 Need Real Name 2012-09-24 15:55:26 EDT
FFS this is still broken in Fedora 18!

Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
Preparing system to boot into installer
DEBUG /sbin/grubby --title="Upgrade to Fedora 18 Branched Pre-release (Spherical Cow)" --remove-kernel="/boot/upgrade/vmlinuz" --add-kernel="/boot/upgrade/vmlinuz" --initrd="/boot/upgrade/initrd.img" --args="preupgrade repo=hd::/var/cache/yum/preupgrade  ks=hd:UUID=X:/upgrade/ks.cfg stage2=hd:UUID=X:/upgrade/squashfs.img"
sh: /sbin/grub: No such file or directory
/bin/echo: write error: Broken pipe
All finished. The upgrade will begin when you reboot.
Comment 15 Tim Flink 2012-11-30 15:13:35 EST
Preupgrade is not a valid method to upgrade to F18. Please use FedUp which is documented in the following wiki page:

http://fedoraproject.org/wiki/FedUp

-1 blocker
Comment 16 bob mckay 2012-11-30 18:26:16 EST
Love the name! Does preupgrade warn users that try to upgrade to F18 using it, that it isn't valid to do so? And inform them about the FedUp alternative?
Comment 17 Need Real Name 2012-11-30 19:43:57 EST
No, preupgrade doesn't warn the user about that, instead it expects the users to endlessly search around the Internet until they stumble across a solution.

See bug 869312 for a request to make preupgrade give out some useful information.

Red Hat have ignored it as usual. Way to encourage bugs reports RH!
Comment 18 Adam Williamson 2012-12-01 03:27:25 EST
thanks for the troll, but no, we are not ignoring anything.

we edited https://mirrors.fedoraproject.org/releases.txt to mark F18 as ineligible for preupgrade, but it somehow seems to have been reset. I'll ask releng to change it again.
Comment 19 Adam Williamson 2012-12-01 03:28:21 EST
-1 blocker.
Comment 20 Jaroslav Reznik 2012-12-03 10:00:35 EST
As upgrade process is correctly documented in Release Notes [1] and Beta Release Announcement [2] for Fedora 18, I'm -1 blocker. But yep, it should be definitely blocked in releases.txt for preupgrade but it's not a blocker.

[1] https://docs.fedoraproject.org/en-US/Fedora/18/html/Release_Notes/sect-Release_Notes-Changes_for_Sysadmin.html#idm32350976
[2] https://fedoraproject.org/wiki/F18_Beta_release_announcement
Comment 21 Tim Flink 2012-12-04 15:53:37 EST
I count -3 blocker votes, moving to rejected
Comment 22 Fedora End Of Life 2013-04-03 15:22:22 EDT
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle.
Changing version to '19'.

(As we did not run this process for some time, it could affect also pre-Fedora 19 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19
Comment 23 Fedora End Of Life 2015-01-09 16:57:31 EST
This message is a notice that Fedora 19 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 19. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained. Approximately 4 (four) weeks from now this bug will
be closed as EOL if it remains open with a Fedora 'version' of '19'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 19 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.
Comment 24 Adam Williamson 2015-01-09 17:04:36 EST
preupgrade: definitely not a thing any more.