This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Building a basic embedded Linux image

Other Parts Discussed in Thread: AM3354

My company is looking at developing a product using the AM3354 SOC processor based on the Variscite VAR-SOM-AM33 SOM.  We have their development kit (carrier board with LCD, USB, etc).

I’ve been following several wikis trying to build a bootable image for our VAR-SOM-AM33 development system.  I've been able to get a bare bones image running off of an SD card using makeroot, but I've had little luck following the yocto / bitbake procedure on the Variscite wikis.  The bootable image I did create did not have USB hotplug working (lsusb and /proc/bus/usb showed nothing).  I have also not been able to figure out how to get a bootable image onto the NAND present on the SOM.

I found this outdated document:

http://variwiki.com/index.php?title=VAR-SOM-AM33_Linux_SDK_7

which referred to this one:

http://processors.wiki.ti.com/index.php/MTD_Utilities#MTD-Utils_Compilation

I substituted the current Ti processor SDK for linux, and used Variscite’s 3.14 kernel sources and u-boot sources instead of the older files.

I was able to get an image onto the SD card that boots when I manually enter the ‘run mmc_boot’ command, but I can’t get it to boot when pressing the boot switch at power up. 

I was trying to build a filesystem image to flash on the NAND memory, but I’m stumped by your documentation on building MTD-UTILS because the e2fsprogs module fails to build.

make[2]: Leaving directory `/home/ken/ti-processor-sdk-linux-am335x-evm-02.00.00.00/e2fsprogs-libs-1.42.13/lib/blkid'

making all in lib/quota

make[2]: Entering directory `/home/ken/ti-processor-sdk-linux-am335x-evm-02.00.00.00/e2fsprogs-libs-1.42.13/lib/quota'

make[2]: *** No rule to make target `../../lib/ext2fs/ext2_fs.h', needed by `mkquota.o'.  Stop.

make[2]: Leaving directory `/home/ken/ti-processor-sdk-linux-am335x-evm-02.00.00.00/e2fsprogs-libs-1.42.13/lib/quota'

make[1]: *** [all-libs-recursive] Error 1

make[1]: Leaving directory `/home/ken/ti-processor-sdk-linux-am335x-evm-02.00.00.00/e2fsprogs-libs-1.42.13'

make: *** [all] Error 2

While I have a good working knowledge of Linux, my embedded experience with the OS is very limited (Most of my embedded experience is with raw iron real time applications on simpler microcontrollers).  Once I figure out how to get a basic system running on this prototype and a good cross development system, I can get on the the application development!

Can anybody get me pointed in the right direction here?

Thank you.

  • I will ask the Linux team to comment on this.
  • Hello Kenneth,


    I was able to get an image onto the SD card that boots when I manually enter the ‘run mmc_boot’ command, but I can’t get it to boot when pressing the boot switch at power up.

    You may need to set-up the bootcmd argument to run mmc_boot.

    Here you can find a NAND boot and flashing guides for TI SDK.
    processors.wiki.ti.com/.../AM335x_U-Boot_User's_Guide

    You can build this e2fsprogs by bitbake within the Yocto project, which will take a long time to build.
    processors.wiki.ti.com/.../Processor_SDK_Building_The_SDK

    $ git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk
    $ cd tisdk
    $ ./oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-02.00.00.00-config.txt
    $ cd build
    $ . conf/setenv
    $ export PATH=$HOME/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/bin:$PATH
    $ MACHINE=am335x-evm bitbake e2fsprogs

    Or externally by these steps:

    $ source <sdk install dir>/linux-devkit/environment-setup
    $ ./configure --build=x86_64-linux --host=arm-linux-gnueabi --target=arm-linux-gnueabi --prefix=$HOME/mtd/install
    $ make
    $ make install

    Best regards,
    Kemal