Pretty sure the main difference is that one puts stuff in a directory called esp (which I assume is a placeholder for the actual directory?), and the other one is put in /efi. That needs to be the path to your efi partition, because that’s where the UEFI expects to find things it can boot. The target is probably redundant, i.e. it defaults to x84_64-efi on Gentoo (maybe not on Arch?) and the id is just a name, you can put whatever there. See man grub-install
.
My built-in SD card reader shows up in
lspci
as an “SD Host Controller”. Sincelspci
andlsusb
should list everything that’s connected, it should show up there. If it’s not there, it is not connected, or idk, it’s broken maybe. Or it’s not listed with a name, just a number. I think the names come from some database of known devices. Maybe your SD card reader is a unicorn and nobody has ever seen it before and so it’s not in the database.