On Wed 19 Apr 2017 at 21:10:36 -0500, David Wright wrote: > On Sat 15 Apr 2017 at 23:21:33 (+0100), Brian wrote: > > > > Nobody in this thread, apart from the OP, has a Lenovo and an SD card. > > He is in the best position to test and report on this suggestion. Less > > than twenty minutes work. > > Frustratingly, I can't test this hypothesis, but I'm getting the > impression that whether a PC can boot¹ directly from an SD card in > the PC's SD slot depends² on how the card eventually appears on > the bus.
I'll do the testing for you. :) I have an oldish laptop (Turion based) with a full-sized SD slot. An SD adapter with a micro SD card in it does not appear as > $ ls -l /dev/disk/by-id/ [edited] > usb-General_Combo_CardMMC_SD_000012345678-0:0 -> ../../sdb > usb-General_Combo_CardMMC_SD_000012345678-0:0-part1 -> ../../sdb1 > usb-General_Combo_CardMMC_SD_000012345678-0:0-part2 -> ../../sdb2 > $ cat /sys/bus/usb/devices/1-4:1.0/uevent > DEVTYPE=usb_interface > DRIVER=usb-storage > PRODUCT=1025/5d/16b > TYPE=0/0/0 > INTERFACE=8/6/80 > MODALIAS=usb:v1025p005Dd016Bdc00dsc00dp00ic08isc06ip50in00 > $ but does appear as > $ ls -l /dev/disk/by-id/ > mmc-SE32G_0x0109e2ec -> ../../mmcblk0 > mmc-SE32G_0x0109e2ec-part1 -> ../../mmcblk0p1 > $ cat /sys/bus/mmc/devices/mmc0\:aaaa/uevent > DRIVER=mmcblk > MMC_TYPE=SD > MMC_NAME=SE32G > MODALIAS=mmc:block > $ > > My guess from this is that the former SD card is connected to the > USB bus whereas the latter is connected to a different bus. The > likely candidate from what I've read is the PCIe bus. Good guess. brian@laptop:~$ lspci | grep CardBus 00:10.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller Also (without the card inserted): brian@laptop:~$ lsmod | grep mmc mmc_core 91803 3 sdhci,tifm_sd,sdhci_pci With the card inserted: brian@laptop:~$ lsmod | grep mmc mmc_block 30466 2 mmc_core 91803 4 mmc_block,sdhci,tifm_sd,sdhci_pci tifm_sd is the Texas Instruments FlashMedia SD driver. > My next guess is that the USB bus (sorry about the tautology) can > be run by the OS-less PC (obviously), whereas the other bus can't. > The trade-off is that a PCIe bus would give a much greater speed. This laptop only offers booting from CD and HD. GRUB's nativedisk module will get it booting from USB but, because of the bus the SD controller is on and GRUB having no modules for mmc, it will not boot from the SD card. There are quite a few complaints from users about machines not booting from SD cards in internal readers. My guess is that, when it is possible, the reader is always on the USB bus. My second guess is that aren't any machines which boot from a reader on the PCI bus. Maybe it is too complex to implement; maybe it will come in time. It took a fair amount of time after the introduction of USB for it to become a common, reliable booting process. -- Brian.