From owner-freebsd-arm@freebsd.org Fri Jan 6 16:33:44 2017 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8D044CA2392 for ; Fri, 6 Jan 2017 16:33:44 +0000 (UTC) (envelope-from rj@obsigna.com) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2064C1148 for ; Fri, 6 Jan 2017 16:33:43 +0000 (UTC) (envelope-from rj@obsigna.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1483720421; l=4534; s=domk; d=obsigna.com; h=In-Reply-To:To:References:Date:Subject:Mime-Version: Content-Transfer-Encoding:Content-Type:From; bh=Mp+gPWYM9kEDaIDEKl65pQ7y71I9mBOlyZ9RTq5A+Gs=; b=x8YnAG24AC+IL8w3OPIKfp8kaVGvBFgvJU7R0MRIx3aHAMzKV70d3O1Qaj43WCTKNE lPY3MsP0tqEN+u5Gsrv+XoC8DCJU+qzRHsgY33v3+YWRjS++wHWKgdlYQmaD+YoHi2XR MX7BmvPFwwuxSEPY3Pb1+Kjip40GXgbA+EJJM= X-RZG-AUTH: :O2kGeEG7b/pS1EK7WHa0hxqKZr4lnx6UhT0M0o35iAdWtoM07Gt3wQHFGhIh99LgMA== X-RZG-CLASS-ID: mo00 Received: from mail.obsigna.com (bb02ac17.virtua.com.br [187.2.172.23]) by smtp.strato.de (RZmta 39.11 DYNA|AUTH) with ESMTPSA id h065b1t06GXeqEf (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (curve secp521r1 with 521 ECDH bits, eq. 15360 bits RSA)) (Client did not present a certificate) for ; Fri, 6 Jan 2017 17:33:40 +0100 (CET) Received: from rolf.projectworld.net (rolf.projectworld.net [192.168.222.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.obsigna.com (Postfix) with ESMTPSA id C6BBE7506D97 for ; Fri, 6 Jan 2017 14:33:37 -0200 (BRST) From: "Dr. Rolf Jansen" Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\)) Subject: Re: BeagleBone Black MMC ordering clashes Date: Fri, 6 Jan 2017 14:33:36 -0200 References: <7D750433-59FC-4999-AC24-041683E17310@obsigna.com> <1483718084.96230.5.camel@freebsd.org> To: freebsd-arm@freebsd.org In-Reply-To: <1483718084.96230.5.camel@freebsd.org> Message-Id: <0D800E14-799A-4926-AEF8-CD698D647E40@obsigna.com> X-Mailer: Apple Mail (2.3259) X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jan 2017 16:33:44 -0000 > Am 06.01.2017 um 13:54 schrieb Ian Lepore : >=20 > On Fri, 2017-01-06 at 12:37 -0200, Dr. Rolf Jansen wrote: >> 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. >>=20 >> 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. >>=20 >> 2) Now, I destroyed the partition of the internal mmcsd1 and >> created a new one: >>=20 >> =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) >>=20 >> =3D> 0 7536640 mmcsd1s2 BSD (3.6G) >> 0 7536640 1 freebsd-ufs (3.6G) >>=20 >> 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. >>=20 >> 4) However, the internal flash got now the device identifier >> mmcsd0: >>=20 >> ... >> mmc0: No compatible cards found on bus >> ... >> mmcsd0: 4GB > 0x0000> at mmc1 48.0MHz/8bit/65535-block >> ... >>=20 >> 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. >>=20 >> 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). >>=20 >> In the moment, I can have both flash device active at the same time >> only when I start the BBB from the external SD. >>=20 >> 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. >>=20 >> Best regards >>=20 >> Rolf >=20 > The mmcsd0 identifier will be assigned to the first mmc device found > that has a valid mmc or sd card. If the external slot has a card in > it, it will become mmcsd0 because it gets probed first. If it has no > card in it, the onboard eMMC becomes mmcsd0 because the sd slot didn't > claim that device id. There is no way to change the order of probing; > probing happens in order of the devices in the chip. The BBB makers > decided to connect the external sd to the first device and the onboard > eMMC to the second one. Thank you for rephrasing of what I wanted to say in my initial post: >> 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. So, yes, this part is absolutely clear and understood. > If you want the eMMC to be the root filesystem whether there is an > external sd card installed or not, the only solution is to use UFS or > GPT labels instead of device names to refer to partitions in fstab. I do not rely on device identifiers in fstab on non of my numerous = FreeBSD boxes, instead, I use the various sorts of labels ever since, = and I continue to do it also with the BBB installation(s). # df -h Filesystem Size Used Avail Capacity Mounted on /dev/ufs/SYSTEM 13G 875M 11G 7% / devfs 1.0K 1.0K 0B 100% /dev /dev/label/BOOT 4.0M 924K 3.1M 23% /boot/msdos tmpfs 50M 4.0K 50M 0% /tmp However, this does not help in the given case, because the MMC device = driver refuses to enumerate the SD card when inserted into a BBB that = has been already started-up from the internal flash. So the question is, = how can I get the SD card activated once inserted into a running system, = and I would happily live with any device identifier for it, even let it = mmcsd77 if only the device would be accessible by this. Best regards Rolf