Bug#1014302: os-prober: efi shell detection
Package: os-prober
Version: 1.79
Severity: wishlist
X-Debbugs-Cc: riehecky@fnal.gov
Dear Maintainer,
* What led up to the situation?
Some motherboards do not ship with an EFI shell within the
firmware. Adding a shell to the ESP can make this available, but
it isn't currently detected by the existing scripts.
* What exactly did you do (or not do) that was effective (or
ineffective)?
Add this script to all relevant arches. Selecting the right efi
shell binary to match the firmware is out of scope for os-prober.
This script simply expects the admin has correctly pulled down the
shell.efi that matches their system board.
```
#!/usr/bin/sh
# Detects a shell.efi bootloader on a EFI System Partition
. /usr/share/os-prober/common.sh
found=
efi_shell=`find $1 -iname "shell.efi"`
if [ -n "${efi_shell}" ]; then
bdir="${efi_shell%/*}"
bdir="${efi_shell##*/}"
filename=`basename ${efi_shell}`
long="EFI firmware management shell"
short="EFI_SHELL"
path=${bdir}/${filename}
found=true
fi
if [ -n "$found" ]; then
label="$(count_next_label "$short")"
result "${path}:${long}:${label}"
fi
exit 0
```
* What was the outcome of this action?
The EFI shell binary is added to the detected list
-- System Information:
Debian Release: 11.3
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 5.17.12-300.fc36.x86_64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_WARN
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: unable to detect
Versions of packages os-prober depends on:
ii grub-common 2.04-20
ii libc6 2.31-13+deb11u3
ii mount 2.36.1-8+deb11u1
os-prober recommends no packages.
os-prober suggests no packages.
-- no debconf information
Reply to: