rEFInd General Discussion: Linux distro icon detection (original) (raw)
That's working as designed. "Linux filesystem" is the default partition name for Linux filesystems in gdisk
, so lots of partitions have that partition name, and rEFInd ignores the name "Linux filesystem" because it's too generic. Instead, rEFInd uses other partition icon hints in this case. A partition name of "Linux x86-64 root (/)", however, is not a standard/default partition name in gdisk
or, AFAIK, in any other partitioning tool, so rEFInd assumes the user set that name and uses the partition name as a hint for what icon to use. There are cases in which the "Linux" in such a partition name might be the only hint of the OS -- say, if the partition were an ESP with nothing but the fallback boot loader (EFI/BOOT/bootx64.efi
), which in fact held GRUB that boots Linux, so picking up on "Linux" in this context would produce the generic Linux icon, which would be correct.
OS tag icon selection is necessarily complex, given the number of ways to set an icon and the number of potentially conflicting icons. If there are conflicting hints -- say, if rEFInd detects references to Ubuntu, Bionic Beaver, and Linux -- the choice of which to use will be arbitrary on some level. The options for OS tag icon selection are laid out in the documentation:
http://www.rodsbooks.com/refind/configfile.html#icons
I've just added some elaboration to this to note that certain partition names are ignored, since that information was absent. This change is not yet released, but is now in the git repository. It should be possible to override other options by setting a .VolumeIcon.png
file in the partition's root directory.
More broadly speaking, the rules for icon selection have evolved over time, and so the prioritization of one method over another is admittedly confusing, even to me. I'd like to clean this up, but as potential icons are collected at various points in the code, this will require more work than it's worth to clarify this one issue. OTOH, this is a symptom of code that's grown dynamically and chaotically, and it does need to be cleaned up.