Prepare a host computer
1) Download Ubuntu 14.04 Image from here >2) Install it into Vmware Player (Create a New Virtual Machine -> Install disc image file). You may want to setup higher core number (for faster compilation), enough memory and large disk (the YOCTO can take a lot of space). I used: 2 cores / 4GB Memory / 300GB HDD, set Network as "Bridged: Connected directly to the physical network".
3) Update Linux & install packages
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade sudo apt-get install gawk wget git-core diffstat unzip build-essential chrpath libsdl1.2-dev xterm curl sudo apt-get install texinfo sudo apt-get install lzop sudo apt-get install nfs-kernel-serverYou may want to set your timezone, because we will be often checking date and time of generated files. Run:
sudo nano /etc/timezoneChange the timezone based on your location, for example I replaced "America/Los_Angeles" be "Europe/Vienna". Here you can find a list of timezones >
Install compiler
sudo apt-get install gcc-arm-linux-gnueabihfInstall `repo` utility:
mkdir ~/bin curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo PATH=${PATH}:~/binInstall tftp
sudo apt-get install xinetd tftpd tftpCreate this file:
sudo nano /etc/xinetd.d/tftpand insert this inside:
service tftp { protocol = udp port = 69 socket_type = dgram wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = /tftp disable = no }Create 'tftp' directory (later we will be using this directory for file transfer from the host to our OpenRex board):
sudo mkdir /tftp sudo chmod -R 777 /tftp sudo chown -R nobody /tftp mkdir /tftp/imx6 #this is the directory which we will use during developmentNow, initialize tftp:
sudo /etc/init.d/xinetd restartTweaks (optional)
Click on "Search your computer and online sources" (the ubuntu icon on the top of the left bar) and search for "system settings". Click on the icon.
Disable screensaver & screenlock
Click on "Brightness & Lock". Then: Turn screen off when inactive for: "Never" and set Lock "OFF".
Increase number of workspaces
Click on "Appearance -> Behaviour". Then: Check "Enable workspaces".
Reboot
Reboot the Linux machine:
sudo reboot
Test your setup: Compile original Sabersd uBoot & Kernel from YOCTO
Download the BSP source (you may need to be registered at Github, use your_email and yourname to set 'git config --global'):cd mkdir fsl-community-bsp cd fsl-community-bsp git config --global user.email "your_email@example.com" git config --global user.name "yourname" repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b jethro repo sync*Note: When I was creating this page, jethro was the latest branch. There may be something newer, so double check it at https://github.com/Freescale/fsl-community-bsp-platform.
Setup the environment for iMX6:
source setup-environment build*Note: We will use 'imx6qsabresd', but if you need, you can set a different board here (you don't have to do this step):
nano conf/local.confRun the first compilation. It will take quite a while. For test, you can run this minimal image (A small image just capable of allowing a device to boot):
bitbake core-image-minimal*Note: Normally, you may want to run 'bitbake core-image-base' (A console-only image that fully supports the target device hardware)
The final outputs and images are located at:
cd tmp/deploy/images!!!BE AWARE!!! Dont forget, at this moment, these are sabresd images. We need to apply changes to the OpenRex.