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
$./device-software/setup.shWearebuildinginexternalmodeExtractingupstreamYoctotoolsinthepoky/directoryfromarchiveUnpackingMingwlayertopoky/meta-mingw/directoryfromarchiveUnpackingDarwinlayertopoky/meta-darwin/directoryfromarchiveInitializingyoctobuildenvironmentSettingupyoctoconfigurationfile (in build/conf/local.conf)**Success**SDKwillbegeneratedforlinux64hostNowrunthesetwocommandstosetupandbuildtheflashableimage:sourcepoky/oe-init-build-envbitbakeedison-image*************
Configure the shell environment with the following source command
$sourcepoky/oe-init-build-env### Shell environment set up for builds. ###Youcannowrun'bitbake <target>'Commontargetsare:core-image-minimalcore-image-satometa-toolchainadt-installermeta-ide-supportYoucanalsorungeneratedqemuimageswithacommandlike'runqemu qemux86'
Verify again we are working under the right path:
$pwd/home/iotchampion/Old/edison-src/build$lsconf
Now, we are ready to build a full Edison image with the following bitbake command.
$bitbakeedison-image Loading cache: 100% |###################################################################################################| ETA: 00:00:00
Loaded1365entriesfromdependencycache.NOTE:ResolvinganymissingtaskqueuedependenciesBuildConfiguration:BB_VERSION="1.24.0"BUILD_SYS="x86_64-linux"...NOTE:TasksSummary:Attempted3757tasksofwhich568didn't need to be rerun and all succeeded. Summary: There were 26 WARNING messages shown.
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.
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
sudo./toFlash/flashall.sh
Wait for a few minutes as the output says, and type the following command to enter the Edison and verify everything went ok. Hit Enter a few times until the edison log in appears. The default username is root, without password.
sudoscreen/dev/ttyUSB0115200
Let's change to our edison-src folder and verify we see these files:
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)
$geditlinux-yocto_3.10.bbappend
Replace the content of the file to have the following:
$sourcepoky/oe-init-build-env### Shell environment set up for builds. ###Youcannowrun'bitbake <target>'Commontargetsare:core-image-minimalcore-image-satometa-toolchainadt-installermeta-ide-supportYoucanalsorungeneratedqemuimageswithacommandlike'runqemu qemux86'
and get into the Kernel Configuratin
$bitbakevirtual/kernel-cmenuconfig
When first run, you will be prompted with a screen like this
Enable Control Group Support under General setup settings
General setup --->
-*- Control Group support --->
Enable High Resolution Timer Support under General setup -> Timer subsystem settings
General setup --->
Timers subsystem --->
[*] High Resolution Timer Support
Enable Fully Preemptible Kernel (RT) under Processor type and features settings
Processor type and features --->
Preemption Model (Fully Preemptible Kernel (RT)) --->
(X) Fully Preemptible Kernel (RT)
Enable Timer frequency to 1000 HZ under Processor type and features -> Timer frequency settings
Processor type and features --->
Timer frequency (100 HZ) --->
(X) 1000 HZ
Disable ACPI (Advanced Configuration and Power Interface) under Power management and ACPI options settings
Power management and ACPI options --->
[ ] ACPI (Advanced Configuration and Power Interface) Support --
Disable APM (Advanced Power Management) BIOS support under settings
Power management and ACPI options --->
< > APM (Advanced Power Management) BIOS support --->
Disable ALSA for SoC audio support under Device Drivers -> Sound card support -> Advanced Linux Sound Architecture -> ALSA for SoC audio support settings
Device Drivers --->
<*> Sound card support --->
< > Advanced Linux Sound Architecture --->
Disable Aufs (Advanced multi layered unification filesystem) support under File systems -> Miscellaneous filesystem -> Aufs (Advanced multi layered unification filesystem) support settings
File systems --->
[*] Miscellaneous filesystems --->
< > Aufs (Advanced multi layered unification filesystem) support
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
$ cd tmp/work/edison-poky-linux/linux-yocto/3.10.17+gitAUTOINC+6ad20f049a_c03195ed6e-r0/linux-edison-standard-build/
and copy the Kernel configuration to these two folders
Force bitbake to copy the modified configuration to the actual build directory.
$bitbakevirtual/kernel-cconfigure-f-v
Now our image is ready to be built.
$bitbakeedison-image
The whole Edison image is rebuilt using the Real Time patched Kernel.
Now, we have to run the post building script.
$../device-software/utils/flash/postBuild.sh
Flash Intel Edison image.
$sudo./toFlash/flashall.sh
Wait for a few minutes as the output says, and type the following command to enter the Edison and verify everything went ok. Hit Enter a few times until the edison log in appears. The default username is root, without password.
$sudoscreen/dev/ttyUSB0115200
Once logged in run uname -a, the name of the Kernel should have been renamed with the RT tags as shown below.