Digi CCWMX53

Russell Haley russ.haley at gmail.com
Fri Oct 3 06:06:44 UTC 2014


Gentlemen,

So one of my next steps is to get rootfs to mount. I THINK I have found out
that the kernel uses an option in the kernel config file
called ROOTDEVNAME. That - as far as I can tell - means the root device
name is set at compile time? In my current case I wanted to boot the kernel
I already have and then use the manual process to load rootfs. I tried
using installworld on a 4 GB USB stick. This is my process:

gpart create -s mbr da4
gpart add -t freebsd da4
sudo newfs /dev/da4s1
mount /dev/da4s1 /usr/jails/FreeArm2/mnt/usb

make TARGET_ARCH=armv6 DESTDIR=/mnt/usb installworld distribution

This *seemed* to work but I did not get  a nifty little message at the end
of installworld telling me the install process was completed successfully
as I did with buildworld or buildkernel.

Once my kernel booted and I got to the manual prompt I used the following
command:

mountroot> ufs:/dev/da1s1a #also tried ufs:/dev/da1s1

Trying to mount root from ufs:/dev/da1s1a []...
mountroot: waiting for device /dev/da1s1a ...
Mounting from ufs:/dev/da1s1a failed with error 19.

boo. :(

So, my questions are:

1)  Is a 4GB USB drive enough space?
2)  Did the lack of "nifty little message" mean installworld failed? I
didn't get any error messages, it just seemed to stop (i.e. a new command
prompt).
3) Is my above partitioning correct? I just found this article that says I
should be using GPT not MBR:
http://www.wonkity.com/~wblock/docs/html/disksetup.html
4) Is my assumption that the rootfs is hard coded into the kernel true or
is this one of many of my over simplifications? Could anyone point me to
some good documentation about this?

I would normally spend much more time researching this myself but I'm so
close to having something to play with I'm becoming impatient!!!

Many Thanks and good night.

Russ



On Thu, Oct 2, 2014 at 9:44 PM, Russell Haley <russ.haley at gmail.com> wrote:

> Warner,
>
> I was looking for a Digi reference but it turns out the Nand Flash
> Controller is part of the Freescale Processor. Here is the link to the
> Reference Manual:
>
> cache.freescale.com/files/32bit/doc/ref_manual/iMX53RM.pdf
>
> The NAND Flash Controller is in Chapter 51 page 3571 to page 3647.
>
> Is this relevant to what you are looking at doing?
> https://wiki.freebsd.org/NAND
>
> I also found something called CHFS for NetBSD that looks interesting:
> http://chewiefs.sed.hu/home
>
> Thanks,
> Russ
>
>
>
>
>
>
>
> On Thu, Oct 2, 2014 at 2:34 PM, Warner Losh <imp at bsdimp.com> wrote:
>
>>
>> On Oct 1, 2014, at 12:48 AM, Russell Haley <russ.haley at gmail.com> wrote:
>>
>> > Warner,
>> >
>> > First, I was just watching your 2010 talk on supporting FreeBSD in a
>> commercial environment. Has there been any updates in the process of
>> maintaining a commercial branch in the last 4 years (not that I have any
>> commercial ventures yet! lolz)?
>> >
>> > Anyway, I talked to an Engineer about the NAND controller spec and he
>> chided me for being naive (poor little software developer, in way over his
>> head. tisk tisk). He mentioned a FIVE THOUSAND page reference manual, which
>> I have yet to find on the Digi site.
>>
>> URL + section number. 5k pages doesn’t necessarily mean it will be
>> useful, though. :(
>>
>> > I have however found this hardware reference:
>> >
>> > http://ftp1.digi.com/support/documentation/90001270_E.pdf
>> >
>> > From Page 41:
>> >
>> > NAND flash memory
>> > The ConnectCore for i.MX53 module provides 8GB of NAND flash memory. On
>> the module in
>> > the development kits a 512MByte, 2Kbyte page, NAND flash chip is used.
>> This NAND flash
>> > device is connected to NAND flash Chip Select 0.
>> > The NAND flash controller signals are available on the module
>> connectors.
>>
>> This basically says nothing more useful than “There’s NAND on this board
>> that’s 4Gbits on CS0.” which is useful, but far from sufficient. How do I
>> program the DMA so that ECC is added to the OOB areas of that NAND? How do
>> I set different ECC tables? How do I do ECC error correction and detection?
>> If you can’t answer that sort of question from the docs you have, then they
>> aren’t helpful enough.
>>
>> > There are pin references to NAND further down in the section "GPIO
>> multiplexing table in the ConnectCore for i.MX53 module" on page 44 and 49.
>> >
>> > I fear this is not the information we are looking for.
>>
>> Not really. The GPIO info might be mildly helpful in a few cases
>>
>> > I have found another u-boot fork for the CCWMX53 on github here:
>> https://github.com/Varcain/uboot-ccwmx53-digi
>> >
>> > With what seems to be the information about booting from NAND here:
>> https://github.com/Varcain/uboot-ccwmx53-digi/tree/master/nand_spl
>> >
>> > If you can let me know what I am looking for I can both ask a more
>> directed question at work and also perform a better search.
>> >
>> > I have also started looking over the Architecture handbook as well
>> because I have a feeling there is going to be lots of driver code in my
>> future.
>>
>> A good first step would be to get a URL or search string to get the URL
>> for that big spec. It is of the right size to possibly be useful, but
>> sometimes really long specs have 1-2 page descriptions of things like the
>> SD controller or the NAND controller that you need special NDAs + business
>> arrangements to get, so it is hard to say…
>>
>> Warner
>>
>> >
>> > On Sun, Sep 28, 2014 at 12:12 AM, Warner Losh <imp at bsdimp.com> wrote:
>> >
>> > On Sep 27, 2014, at 9:49 PM, Russell Haley <russ.haley at gmail.com>
>> wrote:
>> >
>> > > I will attempt to load the kernel from tftp as soon as I can. I will
>> need
>> > > to figure out how to get ethernet to the unit.
>> > >
>> > > I know nothing about u-boot so forgive my ignorance but I was hoping
>> to
>> > > modify the Arndale configuration to work such as:
>> > >
>> > > # mmc read 1 0x70800000 0x800 0x1800;
>> > > #go 0x70800000;
>> > >
>> > > and then point the rootfs to /dev/da1s1
>> > >
>> > > On another note, do you know where I could find out more about the
>> missing
>> > > MTD support?
>> >
>> > A spec for the NAND controller is needed to make that work…  Is one
>> about?
>> >
>> > Warner
>> >
>> >
>> > > BTW, I thought your wireless mesh stuff was pretty cool. Ah, so many
>> cool
>> > > projects, so little time...
>> > >
>> > > Thanks,
>> > >
>> > > Russ
>> > >
>> > > On Sat, Sep 27, 2014 at 2:35 PM, Rui Paulo <rpaulo at me.com> wrote:
>> > >
>> > >> On Sep 27, 2014, at 13:31, Russell Haley <russ.haley at gmail.com>
>> wrote:
>> > >>>
>> > >>> Rui,
>> > >>>
>> > >>> So no MTD means the NAND on the SOM is out, but can I boot the
>> kernel
>> > >> and load rootfs from the microSD, like in this example:
>> > >>>      •
>> > >>> ARNDALE5250 # setenv bootcmd "fatload mmc 0:1 0x40f00000
>> kernel.bin; go
>> > >> 0x40f00000"
>> > >>>
>> > >>> ARNDALE5250 # saveenv
>> > >>>
>> > >>> ARNDALE5250 # boot
>> > >>
>> > >> You can't use the Arndale config since the load addresses are
>> different.
>> > >> You should be able to load a kernel from the network.  Can you do
>> that?
>> > >>
>> > >> --
>> > >> Rui Paulo
>> > >>
>> > >>
>> > >>
>> > >>
>> > > _______________________________________________
>> > > freebsd-arm at freebsd.org mailing list
>> > > http://lists.freebsd.org/mailman/listinfo/freebsd-arm
>> > > To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org
>> "
>> >
>> >
>>
>>
>


More information about the freebsd-arm mailing list