On Tue, Mar 09, 2021 at 10:10:14PM +0100, Philip Müller wrote:
>  - disable os-prober by default in grub-mkconfig.in by setting
>  GRUB_DISABLE_OS_PROBER to true
>  - fixes logic in 30_os-prober.in
>  - update grub_warn() lines
>
> Reason for code shuffle in grub-mkconfig.in:
>
> The default was GRUB_DISABLE_OS_PROBER=false if you don't set
> GRUB_DISABLE_OS_PROBER at all. To prevent os-prober from starting
> we have to set it by default to true and shuffle GRUB_DISABLE_OS_PROBER
> to code section, which is executed by the script. However we stil give
> the option to the user to overwrite it with false, if he wants to execute
> os-prober after all.
>
> Everyone who added GRUB_DISABLE_OS_PROBER=true in grub.cfg can remove
> it by now.
>
> Fixes: e3464147  templates: Disable the os-prober by default
>
> Signed-off-by: Philip Müller <ph...@manjaro.org>

Reviewed-by: Daniel Kiper <daniel.ki...@oracle.com>

Daniel

> ---
>  util/grub-mkconfig.in       | 5 ++++-
>  util/grub.d/30_os-prober.in | 2 +-
>  2 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
> index d3e879b8e..f8cbb8d7a 100644
> --- a/util/grub-mkconfig.in
> +++ b/util/grub-mkconfig.in
> @@ -140,6 +140,9 @@ GRUB_DEVICE_PARTUUID="`${grub_probe} --device 
> ${GRUB_DEVICE} --target=partuuid 2
>  GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
>  GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT} 
> --target=fs_uuid 2> /dev/null`" || true
>
> +# Disable os-prober by default due to security reasons.
> +GRUB_DISABLE_OS_PROBER="true"
> +
>  # Filesystem for the device containing our userland.  Used for stuff like
>  # choosing Hurd filesystem module.
>  GRUB_FS="`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2> /dev/null || 
> echo unknown`"
> @@ -201,6 +204,7 @@ export GRUB_DEVICE \
>    GRUB_DEVICE_PARTUUID \
>    GRUB_DEVICE_BOOT \
>    GRUB_DEVICE_BOOT_UUID \
> +  GRUB_DISABLE_OS_PROBER \
>    GRUB_FS \
>    GRUB_FONT \
>    GRUB_PRELOAD_MODULES \
> @@ -242,7 +246,6 @@ export GRUB_DEFAULT \
>    GRUB_BACKGROUND \
>    GRUB_THEME \
>    GRUB_GFXPAYLOAD_LINUX \
> -  GRUB_DISABLE_OS_PROBER \
>    GRUB_INIT_TUNE \
>    GRUB_SAVEDEFAULT \
>    GRUB_ENABLE_CRYPTODISK \
> diff --git a/util/grub.d/30_os-prober.in b/util/grub.d/30_os-prober.in
> index 80685b15f..a258ce71d 100644
> --- a/util/grub.d/30_os-prober.in
> +++ b/util/grub.d/30_os-prober.in
> @@ -26,7 +26,7 @@ export TEXTDOMAINDIR="@localedir@"
>
>  . "$pkgdatadir/grub-mkconfig_lib"
>
> -if [ "x${GRUB_DISABLE_OS_PROBER}" = "xfalse" ]; then
> +if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then
>    gettext_printf "os-prober will not be executed to detect other bootable 
> partitions.\nSystems on them will not be added to the GRUB boot 
> configuration.\nCheck GRUB_DISABLE_OS_PROBER documentation entry.\n"
>    exit 0
>  fi
>
> @@ -36,12 +36,11 @@ if ! command -v os-prober > /dev/null ||
>    exit 0
>  fi
>
> +grub_warn "$(gettext_printf "os-prober will be executed to detect other 
> bootable partitions.\nIt's output will be used to detect bootable binaries on 
> them and create new boot entries.")"
>  OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
>  if [ -z "${OSPROBED}" ] ; then
>    # empty os-prober output, nothing doing
>    exit 0
> -else
> -  grub_warn "$(gettext_printf "os-prober was executed to detect other 
> bootable partitions.\nIt's output will be used to detect bootable binaries on 
> them and create new boot entries.")"
>  fi
>
>  osx_entry() {
> --
> 2.30.1

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

Reply via email to