KBU4 Yocto user documentation

From AAEON Community Wiki
Jump to: navigation, search

How to install your operating system

AAEON Community Yocto BSP

Supported Yocto Distribution

Name Version Kernel branch url
Pyro 2.3 linux-yocto v4.9
linux-yocto v4.10
pyro https://github.com/emutex/aaeonc-yocto-bsp/tree/pyro

Host Setup

to setup an host for building Yocto for AAEON Community set of boards:

    $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
    build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
    xz-utils debianutils iputils-ping libsdl1.2-dev xterm


Obtain Yocto sources

To get the BSP you need to have repo installed and use it as:

  • Install the repo utility:
mkdir ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=$PATH:$HOME/bin
  • Create your workspace directory:
mkdir aaeonc-yocto-bsp
cd aaeonc-yocto-bsp
  •    Download the latest Pyro release and enter the poky directory:
 git clone -b pyro git://git.yoctoproject.org/poky.git
 cd poky

  • Download the latest Intel BSP layer version for Pyro:
 git clone -b pyro git://git.yoctoproject.org/meta-intel.git
  • Download the latest collection of layers for OE-core universe for Pyro:
 git clone -b pyro git://git.openembedded.org/meta-openembedded
  • Download this AAEON Community BSP layer for Pyro:
 git clone -b pyro https://github.com/emutex/meta-aaeonc

Build an Image

To build a full image type from the source directory:

TEMPLATECONF=meta-aaeonc/conf source oe-init-build-env
bitbake core-image-sato

How to test the single interfaces

Board Specific Instruction

All the required modules for the AAEON Community series of board are integrated in the AAEON Community kernel from the ppa.

Not all the modules are loaded by default.

F75111 Digital I/O

The DIO connector on the board is managed by a F75111 GPIO controller via i2c.

Usage Example

Enter as sudo user:

sudo su

To set the DIO input 0 to 1 do:

echo 504 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio504/direction
echo 1 > /sys/class/gpio/gpio504/value
cat /sys/class/gpio/gpio504/value

To read the DIO input 1:

echo 505 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio505/direction
cat /sys/class/gpio/gpio505/value

The chip has 4 gpio output from 504 to 507 that can be used.

Hardware monitoring sensors

Use lm-sensors to access:

Step 1. Run sensors-detect and answer YES to “Super I/O sensors” questions.

    $ sudo sensors-detect

Do you want to scan for Super I/O sensors? (YES/no): yes
Probing for Super-I/O at 0x2e/0x2f
Trying family `National Semiconductor/ITE'...               No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'...               Yes
Found `Fintek F71889FG/F81801U Super IO Sensors'            Success!
    (address 0xa10, driver `f71882fg')
Probing for Super-I/O at 0x4e/0x4f
Trying family `National Semiconductor/ITE'...               No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'...               No
Trying family `ITE'...                                      No

Step 2. Test the sensor output using the lm-sensors utility "sensors".

    $ sensors

You should see one sensor output like:

Adapter: Virtual device
temp1:        +61.0°C  

Adapter: Virtual device
temp1:        +27.8°C  (crit = +119.0°C)
temp2:        +29.8°C  (crit = +119.0°C)

Adapter: ISA adapter
Package id 0:  +60.0°C  (high = +100.0°C, crit = +100.0°C)
Core 0:        +58.0°C  (high = +100.0°C, crit = +100.0°C)
Core 1:        +60.0°C  (high = +100.0°C, crit = +100.0°C)

Adapter: ISA adapter
in0:          +1.70 V  
in1:          +0.57 V  (max =  +2.04 V)
in2:          +1.19 V  
in3:          +1.02 V  
in4:          +0.72 V  
in5:          +0.53 V  
in6:          +0.38 V  
in7:          +1.71 V  
in8:          +1.62 V  
fan1:        1338 RPM
fan2:           0 RPM  ALARM
fan3:           0 RPM  ALARM
temp1:        +56.0°C  (high = +85.0°C, hyst = +81.0°C)
                       (crit = +100.0°C, hyst = +96.0°C)  sensor = transistor
temp2:        +44.0°C  (high = +85.0°C, hyst = +81.0°C)
                       (crit = +100.0°C, hyst = +96.0°C)  sensor = transistor
temp3:          FAULT  (high = +70.0°C, hyst = +68.0°C)
                       (crit = +85.0°C, hyst = +83.0°C)  sensor = transistor



You can use i2c-tools to access i2c bus on EC.

$ sudo i2cdetect -l

You should see one i2c device list like that:

 i2c-3	i2c       	i915 gmbus dpd                  	I2C adapter
 i2c-1	i2c       	i915 gmbus dpc                  	I2C adapter
 i2c-4	i2c       	DPDDC-A                         	I2C adapter
 i2c-2	i2c       	i915 gmbus dpb                  	I2C adapter
 i2c-0	smbus     	SMBus I801 adapter at f040      	SMBus adapter



Reboot after 1 minute:

$ echo 1 > /dev/watchdog