[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#844237: Incorrect handling of device major/minor



Hello,
upstream applied Nicolas George's patch and released version 31
some days ago.
I hope it is not too late for stretch?

As I own an affected device I would like to supply some more
informations and workarounds to people with similar devices.

Kind regards,
Bernhard

-----

- Calling efibootmgr directly from shell the backslashes need to be
  escaped or the entry will fail even when created.

- Adding --verbose twice to efibootmgr, it outputs also the errors
  stored by calls to efi_error function.

- As a workaround I could still boot to grub by:
  - boot into UEFI shell
  - enter: fs0:\EFI\debian\grubia32.efi

- As a permanent workaround, if EFI shell supports the bcfg command:
  - boot into UEFI shell
  - enter: bcfg boot add 3 fs0:\EFI\debian\grubia32.efi "debian"
  - boot order can now possibly rearranged in UEFI menus.
  If EFI shell does not support bcfg one could also supply a external EFI shell e.g. from [1].
  [1] https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Obtaining_UEFI_Shell

- After I installed a version of libefivar1 with the mentioned patch
  applied I got "Could not prepare Boot variable: No space left on device"
  After moving some of the files /sys/firmware/efi/efivars/dump-type0* to
  another disk the efibootmgr could successfully create the entry.
  (These dump-type0* files seem to contain previous linux crashes when
   examining them through /sys/firmware/efi/vars/dump-type0*/data ...)

-----

# LANG=C grub-install --verbose --target=i386-efi
...
grub-install: info: executing efibootmgr -c -d /dev/mmcblk1 -p 1 -w -L debian -l \EFI\debian\grubia32.efi.
Could not prepare Boot variable: No such file or directory
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.


# LANG=C efibootmgr --verbose --verbose -c -d /dev/mmcblk1 -p 1 -w -L debian -l \\EFI\\debian\\grubia32.efi
Could not prepare Boot variable: No such file or directory
error trace:
 creator.c:243 efi_va_generate_file_device_path_from_esp(): could not set disk and partition name: No such file or directory
 creator.c:320 efi_generate_file_device_path_from_esp(): could not generate File DP from ESP: No such file or directory
 efibootmgr.c:286 make_var(): make_linux_load_option() failed: No such file or directory
 efibootmgr.c:335 make_var(): Could not set variable: No such file or directory


# LANG=C strace -f efibootmgr --verbose --verbose -c -d /dev/mmcblk1 -p 1 -w -L debian -l \\EFI\\debian\\grubia32.efi
...
fstat(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(179, 256), ...}) = 0
readlink("/sys/dev/block/4275:0", 0x7fff3873b830, 4096) = -1 ENOENT (No such file or directory)
...

# ls -lisah /dev/mmcblk1 /sys/dev/block/179\:256
 1293 0 brw-rw---- 1 root disk 179, 256 Apr 13 21:17 /dev/mmcblk1
12373 0 lrwxrwxrwx 1 root root        0 Apr 13 23:17 /sys/dev/block/179:256 -> ../../devices/platform/80860F14:00/mmc_host/mmc1/mmc1:0001/block/mmcblk1


Reply to: