[bug #64304] grub interprets Apple file system (APFS) wrongly and goes into interactive mode

"Vincent S. Cojot" <[email protected]>
Newsgroups gmane.comp.boot-loaders.grub.bugs
Message-ID <[email protected]>
URL:
  <https://savannah.gnu.org/bugs/?64304>

                 Summary: grub interprets Apple file system (APFS) wrongly and
goes into interactive mode
                   Group: GNU GRUB
               Submitter: elcoyote_
               Submitted: Thu 15 Jun 2023 12:33:36 PM UTC
                Category: Filesystem
                Severity: Major
                Priority: 5 - Normal
              Item Group: Software Error
                  Status: None
                 Privacy: Public
             Assigned to: None
         Originator Name: Vincent Cojot
        Originator Email: [email protected]
             Open/Closed: Open
                 Release: 2.02
                 Release: 
         Discussion Lock: Any
         Reproducibility: Every Time
         Planned Release: None


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Thu 15 Jun 2023 12:33:36 PM UTC By: Vincent S. Cojot <elcoyote_>
Copied from https://bugzilla.redhat.com/show_bug.cgi?id=1524685

I am testing SNO 4.12 (based on RHEL 8.6) on a Mac Pro x86_64 machine.
The machine has 3 SSDs which are as follows:

/dev/sda (Apple SSD)
/dev/nvme0n1 (TopoLVM - RedHat LVM storage Operator)
/dev/nvme1n1 (OCP SNO 4.12.19)

everything works fine and I can reboot/switch from OCP to MacOS with
efibootmgr:

[root@neraka ~]# efibootmgr 
BootCurrent: 0000
BootOrder: 0000,0001
Boot0000* Red Hat Enterprise Linux
Boot0001* rEFInd Boot Manager
Boot0080* Mac OS X
Boot0081* Mac OS X

Here's the disk config:
[root@neraka ~]# lsblk    
NAME                           MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                              8:0    0 931.9G  0 disk 
|-sda1                           8:1    0   200M  0 part 
|-sda2                           8:2    0 238.6G  0 part 
`-sda3                           8:3    0   693G  0 part 
sr0                             11:0    1  1024M  0 rom  
nvme0n1                        259:0    0   1.8T  0 disk 
|-datavg-thin--pool--1_tmeta   253:0    0   840M  0 lvm  
| `-datavg-thin--pool--1-tpool 253:2    0   1.7T  0 lvm  
|   |-datavg-thin--pool--1     253:3    0   1.7T  1 lvm  
|   |-datavg-af11ef7c--d568--42a3--830c--6d7e2102bd15
|   |                          253:4    0    40G  0 lvm 
/var/lib/kubelet/pods/7c785320-a7a6-4765-8f5b-671d3d33baeb/volume-subpaths/pvc-ecdeed7a-78ca-
|   `-datavg-bdfefdc5--ba97--40ce--84b3--81d31a4ec402
|                              253:5    0    10G  0 lvm 
/var/lib/kubelet/pods/b56bb23f-22c3-41f3-a208-9638747ac29e/volume-subpaths/pvc-e1a0d307-92cf-
`-datavg-thin--pool--1_tdata   253:1    0   1.7T  0 lvm  
  `-datavg-thin--pool--1-tpool 253:2    0   1.7T  0 lvm  
    |-datavg-thin--pool--1     253:3    0   1.7T  1 lvm  
    |-datavg-af11ef7c--d568--42a3--830c--6d7e2102bd15
    |                          253:4    0    40G  0 lvm 
/var/lib/kubelet/pods/7c785320-a7a6-4765-8f5b-671d3d33baeb/volume-subpaths/pvc-ecdeed7a-78ca-
    `-datavg-bdfefdc5--ba97--40ce--84b3--81d31a4ec402
                               253:5    0    10G  0 lvm 
/var/lib/kubelet/pods/b56bb23f-22c3-41f3-a208-9638747ac29e/volume-subpaths/pvc-e1a0d307-92cf-
nvme1n1                        259:1    0 931.5G  0 disk 
|-nvme1n1p1                    259:2    0     1M  0 part 
|-nvme1n1p2                    259:3    0   127M  0 part 
|-nvme1n1p3                    259:4    0   384M  0 part /boot
`-nvme1n1p4                    259:5    0   931G  0 part /sysroot

The -PROBLEM- is that unless I 'wipe' /dev/sda and MacOS, GRUB from
/dev/nvme1n1p2 (OCP 4.12) barfs on the APFS partition on /dev/sda and goes
into interactive mode:

error: ../../grub-core/disk/eft/efidisk.c:612: fatture reading sector
@x1dd164f0 from "hd0".
error: ../../grub-core/disk/eft/eftdisk.c:612: failure reading sector
@x1dd16480 from "hd0".
error: ../../grub-core/disk/eft/efidisk.c:612: failure reading sector
@x1dd164f0 from "hd1".
error: ../../grub-core/disk/eft/eftdisk.c:612: failure reading sector
@x1dd16480 from "hd1".
error: ../../grub-core/disk/eft/efidisk.c:612: failure reading sector
@x1dd164f0 from "hd2".
error: ../../grub-core/disk/eft/eftdisk.c:612: failure reading sector
@x1dd16480 from "hd2".
error: ../../grub-core/disk/eft/efidisk.c:612: failure reading sector
@x1dd164f0 from "hd3".
error: ../../grub-core/disk/eft/eftdisk.c:612: failure reading sector
@x1dd16480 from "hd3".
error: ../../grub-core/disk/eft/efidisk.c:612: failure reading sector
@x1dd164f0 from "hd4".
error: ../../grub-core/disk/eft/eftdisk.c:612: failure reading sector
@x1dd16480 from "hd4".
error: ../../grub-core/disk/eft/efidisk.c:612: failure reading sector
@x1dd164f0 from "hd5".
error: ../../grub-core/disk/eft/eftdisk.c:612: failure reading sector
@x1dd16480 from "hd5".

after that, pressing 'q' resumes normal boot and the system boots fine into
OCP.

I only have 3 drives in this machine, why is GRUB complaining about hd4, hd5
and the rest?

Furthermore, if I ask GRUB to enter a command shell, I see this:


grub> ls
(proc) (hd0) (hd1) (hd2) (hd3) (hd4) (hd5) (hd6) (hd6,msdos1) (hd7) (hd7,
gpt3) (hd7,gpt2) (hd7, gpt1) (hd8) (hd9) (hd9, gpt4) (hd9, gpt3) (hd9, gpt2)
(hd9,gpt1)
error: ../../grub-core/disk/efi/efidisk.c:612: failure reading sector
0x1dd164f0 from `hd0'.
error: ../../grub-core/disk/efi/efidisk.c:612: failure reading sector
0x1dd16480 from `hd0'.
error: ../../grub-core/disk/efi/efidisk.c:612: failure reading sector
0x1dd164f0 from `hd1'.
error: ../../grub-core/disk/efi/efidisk.c:612: failure reading sector
0x1dd16480 from `hd1'.
error: ../../grub-core/disk/efi/efidisk.c:612: failure reading sector
0x1dd164f0 from `hd2'.
error: ../../grub-core/disk/efi/efidisk.c:612;failure reading sector
0x1dd16480 from `hd2'.
error: ../../grub-core/disk/efi/efidisk.c:612: failure reading sector
0x1dd164f0 from `hd3'.
error: ../../grub-core/disk/efi/efidisk.c:612: failure reading sector
0x1dd16480 from `hd3'.
error: ../../grub-core/disk/efi/efidisk.c:612: failure reading sector
0x1dd164f0 from `hd4'.
error: ../../grub-core/disk/efi/efidisk.c:612: failure reading sector
0x1dd16480 from `hd4'.
--MORE--
 GRUB is completely confused by the Apple APFS partition on /dev/sda.
As much as I can understand/recognize that h6, h7 and hd9 must be my flash
drives (they show partitions), where are hd0,hd1,hd2,hd3, hd4, hd5 and hd8
coming from?

this is what fdisk shows:

[root@neraka ~]# fdisk  -l /dev/sda
Disk /dev/sda: 931.9 GiB, 1000555581440 bytes, 1954210120 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 8394576E-EF09-4FD1-8BBE-4DF0182F5102

Device         Start        End    Sectors   Size Type
/dev/sda1         40     409639     409600   200M EFI System
/dev/sda2     409640  500671783  500262144 238.6G unknown
/dev/sda3  500671784 1953947935 1453276152   693G Apple HFS/HFS+

(This is MacOS 12.6.6 - aka Monterrey)







    _______________________________________________________
File Attachments:


-------------------------------------------------------
Date: Thu 15 Jun 2023 12:33:36 PM UTC  Name: ocp4n_grub2b.png  Size: 246KiB  
By: elcoyote_

<http://savannah.gnu.org/bugs/download.php?file_id=54842>

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?64304>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.