Skip site navigation (1)Skip section navigation (2)
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>