Date: Fri, 6 Jan 2017 12:37:19 -0200 From: "Dr. Rolf Jansen" <rj@obsigna.com> To: freebsd-arm@freebsd.org Subject: BeagleBone Black MMC ordering clashes Message-ID: <7D750433-59FC-4999-AC24-041683E17310@obsigna.com>
next in thread | raw e-mail | index | archive | help
The BeagleBone Black comes with 2 MMC facilities, one built-in (internal = 4 GB) and one provided by a removable SD card. For unknown reasons the = BBB defined on the removable SD card to be MMC0 and the internal flash = memory is MMC0. 1) In the first go, I dd'd the FreeBSD-12 BBB snapshot (20161221) onto = a SD card and I was able to start the device from that card. gpart = showed me that the device identifier of the SD card is mmcsd0 and that = of the internal flash memory is mmcsd1. OK, that matches the already = mentioned definitions. 2) Now, I destroyed the partition of the internal mmcsd1 and created a = new one: =3D> 63 7552961 mmcsd1 MBR (3.6G) 63 8129 - free - (4.0M) 8192 8192 1 fat32 [active] (4.0M) 16384 7536640 2 freebsd (3.6G) =3D> 0 7536640 mmcsd1s2 BSD (3.6G) 0 7536640 1 freebsd-ufs (3.6G) 3) I copied over the contents of /boot/msdos from the external SD card = to the msdosfs on mmcsd1s1 and I installed the FreeBSD 12 snapshot on = mmcsd1s1a. Restarting the device from the internal flash and no external = SD inserted with FreeBSD 12-CURRENT works well at the first glance. 4) However, the internal flash got now the device identifier mmcsd0: ... mmc0: No compatible cards found on bus ... mmcsd0: 4GB <MMCHC MMC04G 5.8 SN 82390DEC MFG 11/1998 by 112 0x0000> = at mmc1 48.0MHz/8bit/65535-block ... I know, this is how FreeBSD deals with the device numbering, i.e. serial = numbers starting at zero without particular meaning, and I know that we = should not rely on the number ordering. But it seems that the MMC device driver does cont on the external SD = card is at MMC0 when I insert it into the BBB once it has been started = from the internal flash. It seems to insist to assign the device ID = mmcsd0, which results in the device ordering clash because mmcsd0 has = been assigned to the internal flash at MMC1 (s. above). In the moment, I can have both flash device active at the same time only = when I start the BBB from the external SD. I would be glad to hear suggestions on how to deal with the issue. At = the end of the day, I want to start the device from the mostly static OS = file system on the internal flash and keep the volatile data on the = external SD. Best regards Rolf
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7D750433-59FC-4999-AC24-041683E17310>