chaegle / meta-ccimx6ulsbc_emmc

Enabling the 4GB eMMC on the CC6UL SBC Pro

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenEmbedded/Yocto ConnectCore 6UL SBC Pro eMMC Enablement Meta Layer 

Author: Cameron Haegle
E-mail: chaegle@gmail.com OR cameronh@digi.com

This layer was created as a result of an exercise in enabling the 4GB eMMC that is 
on the ConnectCore 6UL SBC Pro. The interface (uSDHC2) used by this memory device 
is shared with the on-SBC microSD card. These two device CANNOT be use simultaniously.
Additional documentation on this subject can be found in Digi's online Getting Started 
Guide.

This layer is provided as-is with no support, implied or intended, by Digi International.

Supported Platforms:
- Digi ConnectCore 6UL SBC Pro (CC-SBP-WMX-JN59 & CC-WMX6UL-KIT)

Installation
------------

1. Install Digi Embedded Yocto distribution.
    
   https://github.com/digi-embedded/dey-manifest#installing-digi-embedded-yocto

2. Clone meta-ccimx6ulsbc_emmc

   #> cd <DEY_INSTALLDIR>/sources
   #> git clone https://github.com/chaegle/meta-ccimx6ulsbc_emmc -b morty

Create and build a project
--------------------------

1. Create a project for the ConnectCore 6UL SBC Pro

   #> mkdir <project-dir>
   #> cd <project-dir>
   #> . <DEY_INSTALLDIR/mkproject.sh -p ccimx6ulsbc

2. Add meta-ccimx6ulsbc_emmc layer to the project's bblayers.conf file, appending the layer's
path to the BBLAYERS variable.

   #> vi <project-dir>/conf/bblayers.conf

   Example:  

   BBLAYERS ?= " \
  /usr/local/dey-2.2-r3.3/sources/poky/meta \
  /usr/local/dey-2.2-r3.3/sources/poky/meta-poky \
  /usr/local/dey-2.2-r3.3/sources/poky/meta-yocto-bsp \
  /usr/local/dey-2.2/sources/meta-openembedded/meta-oe \
  /usr/local/dey-2.2/sources/meta-openembedded/meta-python \
  /usr/local/dey-2.2/sources/meta-openembedded/meta-networking \
  /usr/local/dey-2.2/sources/meta-openembedded/meta-webserver \
  /usr/local/dey-2.2/sources/meta-qt5 \
  /usr/local/dey-2.2/sources/meta-swupdate \
  /usr/local/dey-2.2/sources/meta-freescale \
  /usr/local/dey-2.2/sources/meta-fsl-demos \
  /usr/local/dey-2.2/sources/meta-digi/meta-digi-arm \
  /usr/local/dey-2.2/sources/meta-digi/meta-digi-dey \
  /usr/local/dey-2.2/sources/meta-ccimx6ulsbc_emmc \
  "

3. Configure the project (optional), to enable 8-bit communication to the eMMC (the default
is 4-bit).
 
  #> vi <project-dir>/conf/local.conf

  Add the below line:

  CCIMX6UL_8BIT_EMMC_ENABLED = "1"

4. Build the images.

  #> bitbake dey-image-qt
 
  OR

  #> bitbake dey-image-aws

5. Depending on the use case, it may also be desirable to add efs2progs to the root filesystem.

   #> vi <project-dir>/conf/local.conf

   Adding the below line:

   IMAGE_INSTALL_append = " e2fsprogs"


Tested Use Cases
----------------

Two use cases were considered during this documented exercise.

1. Increasing storage.
2. Booting Linux from eMMC.

Extending the Default File System
---------------------------------

1. Update the SBC's flash.

  

Booting Linux from eMMC
-----------------------

It is important to note that, due to the CC6UL's design, it is NOT possible to boot from
media other than the on-SOM NAND or microUSB (serial boot loader). This is to say that the
U-boot bootloader cannot be executed from media, other than those listed above. 

One can, however, load the Linux kernel and mount the root filesystem from eMMC.

1. Edit the project's local.conf file.

   #> vi <project-dir>/conf/local.conf

   Adding the below line:

   # enable eMMC (4-bit) in U-boot
   CCIMX6UL_UBOOT_EMMC_ENABLED = "1"

2. Build the desired image.

3. Deploy the image.


About

Enabling the 4GB eMMC on the CC6UL SBC Pro

License:MIT License