[Arm-netbook] Logging and journaling

Luke Kenneth Casson Leighton lkcl at lkcl.net
Thu Mar 9 15:35:39 GMT 2017


On Thu, Mar 9, 2017 at 2:37 PM, Hendrik Boom <hendrik at topoi.pooq.com> wrote:

> Will the EOMA68-A20 boot from USB to run an installer?

 right.  it's complicated (down to the extremely small PCB size and
the pinouts of the A20).  feel free to skip right to the very last
sentence.  in between this is for technical readers.

 first thing: the A20 is an "unbrickable" processor.  you simply
cannot disable MMC0 from being "first boot" option.  period.  you
cannot put it into any kind of "DRM" or other "treacherous" mode.
there are no e-fuses available to blow that would disable this
"unbrickable" functionality.

 please ensure that you have accepted - in its entirety - the prior
paragraph before proceeding to read further.

so - bear with me.

(1) MMC3's pins come out of the A20 on the LEFT side.
(2) MMC0's pins come out of the A20 on the RIGHT side.
(3) NAND Flash comes out of the A20 at the BOTTOM set of pins
(4) RGB/TTL also on the LEFT.
(5) DDR3 comes out of the TOP.
(6) HDMI comes out just around the bottom-right corner.
(7) the PCMCIA connector is on the LEFT edge of the PCB
(8) the HDMI, USB-OTG and Micro-SD are on the RIGHT.

with all that so far?  now, here's the layout "restrictions":

(1) there are only 3 signal layers: TOP, BOTTOM and LAYER3.
(2) it is NOT PERMITTED to cross anything over, in or between the DDR3
layout area, nor in the actual DDR area.
(3) it is NOT PERMITTED to cross anything through the cental "power"
area of the A20, because that would interfere with grounding of the
central part of the SoC.
(4) the amount of space ABOVE the DDR3 area is 83 mils (2mm)
(5) the amount of space below the bottom edge of the A20 to the bottom
of the PCB is also a scant 3mm and it's taken up on the right side by
HDMI (and by the 24mhz XTAL) and on the left by NAND flash tracks.

all of that is as background to the following:

with NAND crossing over from the RIGHT side of the A20 to the LEFT,
and with RGB/TTL going out from LEFT to the PCMCIA connector, there is
simply NO WAY to route the MMC3 from the RIGHT side of the A20 over to
the LEFT side where it could connect to the PCMCIA connector, and at
the same time route MMC0 which is on the LEFT side over to the RIGHT
of the PCB where the MicroSD card is.

 it is also not possible to go DOWN from the A20 with either MMC0 or
MMC3 to try to route AROUND the A20 (and DDR3) along the very top
edges because:

* HDMI takes up the entire Layer3 and BOTTOM layer routing.
* the 24mhz XTAL is in the way as well (blocking TOP layer)
* various GPIOs have had to go along the top (spare) 2mm edge of the
PCB, around the top of the DDR3.

basically there *is* no option to route MMC3 to the PCMCIA connector
and MMC0 to the Micro-SD card, where it would be really really
preferable to do that, because then the Card would be
"self-unbrickable", i.e. you could put in USB power and a MicroSD card
and boot (recover) straight away.

instead, because MMC3 (right) has had to be routed to MicroSD (right)
and MMC0 (left) to the PCMCIA (left), if you want to recover an
EOMA68-A20 Card using the "unbrickable" MMC0, you *need* a Housing of
some description.

the first such Housing which will provide the "lowest cost, simplest"
unbrickable option combo will be the Micro-Desktop.  you *can* if you
want make one yourself, from the breakout board and associated
components.

now, to mitigate this scenario what i will be doing is (actually i'm
forced into this option due to the NAND ICs slowly not being available
any more), put in a very small (128mb) SLC NAND IC, on which will be
installed boot0 and u-boot etc.

by default (and i already have this set up so it's going to the
default... *by* default...) the u-boot on the SLC NAND will be set up
to look for an OS on MMC3 *not* MMC0.

being SLC NAND it will not be corrupted by read operations, so as long
as you don't try to screw with it by trying to write to it, it will be
just as stable as the "unbrickable" MMC0, indefinitely.

summary: if you _do_ screw it up however, the "normal" option (MMC0
being on the Card) simply isn't available, instead you'll need to boot
from a Housing that has an SD Card, such as the Micro-Desktop.

l.



More information about the arm-netbook mailing list