This patch adds a check on install_device while installing grub for PowerPC.
If install_device is not mentioned in grub2-install and machine is detected
as PowerPC, the error will be thrown and it will terminates the grub2-install 
operation. Running grub2-install on PowerPC without the install_device may 
result in bootlist corruption. When no install device is specified, it attempts 
to load images from the filesystem, which leads to nvram bootlist corruption. 
The idea is to fail the operation and avoid creating the invalid boot entry.

Signed-off-by: Avnish Chouhan <avn...@linux.ibm.com>
---
 grub-install.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/util/grub-install.c b/util/grub-install.c
index 7dc5657..a049f53 100644
--- a/util/grub-install.c
+++ b/util/grub-install.c
@@ -1289,6 +1289,17 @@ main (int argc, char *argv[])
              is_prep = 0;
            }
        }
+      else
+        {
+         /*
+          * As the machine has been detected as PowerPC and not the PowerMac. 
We need to check
+          * whether the install_device has been mentioned while installing. If 
no device has been
+          * mentioned, we need to exit and mark it as an error as the 
install_device is required for
+          * PowerPC installation. An installation with no device mentioned may 
lead to corruptions.
+          */
+           if (!install_device)
+             grub_util_error ("%s", _("install device isn't specified required 
for PowerPC"));
+        }
     }
 
   size_t ndev = 0;
-- 
2.39.3


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to