Date: Thu, 19 Mar 2015 07:12:25 -0600 From: Ian Lepore <ian@freebsd.org> To: Tim Kientzle <tim@kientzle.com> Cc: freebsd-arm <freebsd-arm@freebsd.org>, Hellmuth Michaelis <hm@hellmuth-michaelis.de> Subject: Re: beaglebone boot from eMMC Message-ID: <1426770745.9902.7.camel@freebsd.org> In-Reply-To: <40A94DE3-36A6-4E85-8B59-15329D00E89C@kientzle.com> References: <3DF08C65-20E3-4524-B0E1-C5C096AA0FE8@hellmuth-michaelis.de> <54BA6DB9-DC61-4A6F-B948-777BB9800F54@bocal.org> <A923E8B5-72DC-4C19-B5CA-7729C7E16A5C@hellmuth-michaelis.de> <20150312132739.GA28385@cicely7.cicely.de> <A3E0A638-450D-4B83-90F7-090D45FF4420@bsdimp.com> <3EF47A05-60B2-4BB0-8688-018E50CF7D4A@hellmuth-michaelis.de> <CAC67Hz_ssdAHoRFqC7VAR9_XvTchc5DNhKPY4=LstcMx3j9NXw@mail.gmail.com> <40A94DE3-36A6-4E85-8B59-15329D00E89C@kientzle.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2015-03-18 at 20:41 -0700, Tim Kientzle wrote: > > On Mar 18, 2015, at 11:16 AM, Guy Yur <guyyur@gmail.com> wrote: > >=20 > > Hi, > >=20 > > On Wed, Mar 18, 2015 at 9:23 AM, Hellmuth Michaelis > > <hm@hellmuth-michaelis.de> wrote: > >>=20 > >> Its really weird. I fetched the Angstroem flasher to put back an ori= ginal image onto the eMMC and that worked. I dumped the MBR for Linux and= the MBR which was generated by the install script and they are both pret= ty OK and legal. I reordered files on the MSDOS partition. I played with = different =84BIOS=93 geometries (because Linux and FreeBSD have a rather = different sight on this) to produce the partitions. > >>=20 > >> Nothing helps - it does not boot FreeBSD from the eMMC MSDOS Partiti= on. The only thing which made a difference was, when i used the Linux-gen= erated MSDOS partition, removed the files in it and populated it with the= FreeBSD-generated MLO and things - then it booted from it. I failed comp= letely to add an UFS partition after the Linux-generated MSDOS partition,= tried gpart, fdisk, bsdlabel. The UFS mmcsd1s2a can be generated, popula= ted, fsck=92d, tested, checked - after the next powercycle it simply disa= ppeared. > >>=20 > >> It seems to me that there is a bit more magic involved than only gen= erate the partitions. In the Linux script to generate the image onto the = eMMC, they check for: > >>=20 > >> HEADER=3D$(hexdump -e '8/1 "%c"' /sys/bus/i2c/devices/0-0050/eeprom = -s 5 -n 3) > >>=20 > >> and possibly write to an eeprom - has someone an idea why this is ne= eded ? > >>=20 > >> Hellmuth > >>=20 > >>=20 > >=20 > > Is your msdosfs slice on the eMMC aligned to 1 MB? > >=20 > > I had the same "CCC" problem when I aligned the partition > > and used newfs_msdos. > > Removing the sector count adjustment calculation in newfs_msdos > > as was done in NetBSD worked for me. > >=20 > > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D183234 >=20 > Fortunately, the AM335x TRM from TI documents the exact checks made by = the ROM before it will recognize a valid MSDOS partition. So you don=92t= need to guess; you can compare a hex dump of your disk with the docs and= see exactly what=92s gone wrong. >=20 > As I recall, the ROM is very unforgiving: >=20 > * The CHS geometry used in the MBR has to exactly match the MSDOS forma= t geometry. Attempts to align the partition on round boundaries can scre= w this up badly. >=20 > * The FAT format type (12, 16, or 32) has to match the ROM expectations >=20 > If any of the ROM checks fail, it will assume the device is not usable = and try a different device (ultimately ending up with CCCC on the serial = port). >=20 > The corresponding code in Crochet uses >=20 > $ gpart add -a 63 -b 63 -s 2m -t =91!12=92 <device> >=20 > to create the MSDOS partition and then uses >=20 > $ newfs_msdos -L <label> -F 12 <device> >=20 > Note: Use -F 12 for an MSDOS partition of 16MB or less, otherwise use -= F 16. >=20 > Tim The thing that most often stops a BB from booting is forgetting to set the Active flag on the FAT slice. Most socs and u-boot implementations ignore the flags, but it matters to the BB boards. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1426770745.9902.7.camel>