2015

2015

Installation

First, make sure we are at the current path and have the file we just downloaded.

$ pwd
/home/iotchampion/Workspace
$ ls
edison-src-rel1-maint-rel1-ww42-14.tgz    

Extract the contents of the edison-src-rel1-maint-rel1-ww42-14.tgz file you just downloaded and change directory to the one just extracted.

$ tar edison-src-rel1-maint-rel1-ww42-14.tgz
edison-src/
edison-src/Makefile
edison-src/meta-intel-edison/
edison-src/meta-intel-edison/README
edison-src/meta-intel-edison/MAINTAINERS
        .
        .
        .
edison-src/arduino/clloader/long-options.h
edison-src/arduino/clloader/clloader.h
edison-src/arduino/clloader/crctab.c
edison-src/arduino/clloader/zmodem.h

$ ls
edison-src  edison-src-ww25.5-15.tgz

$ cd edison-src/
$ pwd
/home/iotchampion/Workspace/edison-src
$ ls
arduino  broadcom_cws  device-software  mw

Connect two USB cables to the Edison board and to the computer where the commands are executing, move the switch next to the microUSBs slots towards the microUSBs.

Use the setup.sh script that is inside the folder meta-intel-edison. This script initializes the build environment for Edison. Type

to run it. Optionally, we can move our download and build cache (also known as sstate) directories under the build directory. Moving these two directories will make it easier to share data between build environments and allow much faster rebuilding images

Configure the shell environment with the following source command

Now, we are ready to build a full Edison image with the following bitbake command. First, verify again we are working under the right path:

It is important to build a full image for the first time before making any changes to the Edison image. Be patient, this process takes from 2 to 5 or more hours depending on the hardware of the host machine.

After successfully building the edison-image, we have to modify the postBuild.sh script in order to have the correct paths. Let's change directory and verify we are editing the correct file.

Use your favorite simple text editor and modify line 9 of the postBuild.sh script. In this case we use vim.

Once inside, type i to insert new text, modify line 9 so it looks like this.

Press escape, and use the following keyboard combination :wq, then press enter.

Now, run the postBuild script with the following command.

Make sure we are in this path

Disconnect the two USB cables to the Edison board and the computer where the commands are executing, connect them after the execution of the script, the terminal will display Please plug and reboot the board, make sure the switch next to the microUSBs slots is-towards the microUSBs.

And finally Flash Intel Edison image

Let's change to our edison-src folder and verify we see these files:

Create a directory called Patches and then switch to it

and use wget to download the Real Time patches

Decompress the bz2 file and see we have the following files:

and move these two patches called patch-3.10.17-rt12_edison.patch and intel_mid_rpmsg.c.patch to the files directory where new patches are placed:

Verify that the destination folder has these two patches inside it.

Now, let's edit a file under the Linux directory, one directory above the files directory we've just copied the Real Time patches. Move to the Linux directory

and edit de bbappend file (now we use another editor called gedit for variety purposes, assuming the edition happens under a Debian based Linux distribution; otherwise use a simple text editor like nano, vi, vim or emacs)

Replace the content of the file to have the following:

Save the file and exit.

Now, move to our edison-src root folder

Move to the linux64 folder,

configure the shell environment again

and get into the Kernel Configuratin

When first run, you will be prompted with a screen like this

Kernel Configuration

Enable Control Group Support under General setup settings

Control Group Support

Enable High Resolution Timer Support under General setup -> Timer subsystem settings

High Resolution Timer Support

Enable Fully Preemptible Kernel (RT) under Processor type and features settings

Fully Preemptible Kernel

Enable Timer frequency to 1000 HZ under Processor type and features -> Timer frequency settings

Fully Preemptible Kernel

Disable ACPI (Advanced Configuration and Power Interface) under Power management and ACPI options settings

ACPI

Disable APM (Advanced Power Management) BIOS support under settings

Fully Preemptible Kernel

Disable ALSA for SoC audio support under Device Drivers -> Sound card support -> Advanced Linux Sound Architecture -> ALSA for SoC audio support settings

ALSA for SoC audio support

Disable Aufs (Advanced multi layered unification filesystem) support under File systems -> Miscellaneous filesystem -> Aufs (Advanced multi layered unification filesystem) support settings

Aufs

Select < Save > to keep the Kernel Configuration and then select < Exit > to go back to your console

When the Kernel configuration is complete, change directory to linux-edison-standard-build folder

and copy the Kernel configuration to these two folders

Go back to our linux64 folder

and configure the shell environment again

Force bitbake to copy the modified configuration to the actual build directory.

Now our image is ready to be built.

The whole Edison image is rebuilt using the Real Time patched Kernel.

Now, we have to run a post building script, located in another folder. Change directory to

and run

to prepare our new setup for the flashing process. Change directory to the flash folder

and execute the flash script with sudo privileges

Finished the flashing process, get into de Edison system

hit enter a few times and a log in appears. Default user is root with no password.

Once logged in run uname -a, the name of the Kernel should have been renamed with the RT tags as shown below.

uname

Version ww42-14

Go to your home directory

Untar...

Version ww24-15

Last updated