On 3/17/19 4:43 PM, Russell King - ARM Linux admin wrote: > On Sun, Mar 17, 2019 at 04:05:14PM +0100, Stefan Agner wrote: >> On 16.03.2019 16:39, Russell King - ARM Linux admin wrote: >>> On Sat, Mar 16, 2019 at 01:33:58PM +0100, Marek Vasut wrote: >>>> If you have a FS or partition table there, it does. >>>> If you don't, I agree ... that's a problem. >>> >>> eMMC boot partitions are called mmcblkXbootY, and unless you have more >>> than one eMMC device on the system, they can be found either by looking >>> for /dev/mmcblk*boot* or by querying udev. The advantage of using udev >>> is you can discover the physical device behind it by looking at DEVPATH, >>> ID_PATH, etc, but you may not have that installed on an embedded device. >>> >>> However, as I say, just looking for /dev/mmcblk*boot* is sufficient to >>> find the eMMC boot partitions where there is just one eMMC device >>> present (which seems to be the standard setup.) >>> >>>>> I don't care the slightest what the numbering is, as long as it is >>>>> stable. On some hardware, with an unpatched kernel, the mmc device >>>>> numbering changes depending on whether or not an SD card is inserted on >>>>> boot. Getting rid of that behaviour is really all I want. >>>> >>>> Agreed, that would be an improvement. >>> >>> The mmc device numbering was tied to the mmc host numbering a while back >>> and the order that the hosts are probed should be completely independent >>> of whether a card is inserted or not: >>> >>> snprintf(md->disk->disk_name, sizeof(md->disk->disk_name), >>> "mmcblk%u%s", card->host->index, subname ? subname : ""); >>> >>> snprintf(rpmb_name, sizeof(rpmb_name), >>> "mmcblk%u%s", card->host->index, subname ? subname : ""); >>> >>> I suspect that Mans is quoting something from the dim and distant past >>> to confuse the issue - as shown above, it is now dependent on the host >>> numbering order not the order in which cards are inserted. >> >> Commit 9aaf3437aa72 ("mmc: block: Use the mmc host device index as the >> mmcblk device index") which came in with v4.6 enables constant mmc block >> device numbering. I can confirm that it works nicely, and it improved >> the situation a lot. >> >> That being said, we still use a patch downstream which allows >> renumbering using an alias. We deal with a bunch of different boards >> with different SoC's. I have a couple of SD cards with various rootfs >> and use internal eMMC boot quite often as well. Remembering which board >> uses which numbering is a pain. Maintaining a patch is just easier... >> Furthermore, U-Boot allows reordering and all boards I deal with use mmc >> 0 for the internal eMMC. The aliases allow consistency. > > Maybe eMMC should've been given a different block device name? I presume that's because they have hardware and software partitioning and that's why you want to discern those two. -- Best regards, Marek Vasut