Skip to content

Latest commit

 

History

History
141 lines (103 loc) · 3.76 KB

README.md

File metadata and controls

141 lines (103 loc) · 3.76 KB

###meta-lamobo-r1

Un-Official OpenEmbedded layer for the lamobo-r1 aka. bananapi router board (BPi-R1).

The following steps has just been tested under ubuntu 12.04 and it may also works on others *nix like OS.

####Install the essential packages

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
     build-essential chrpath libsdl1.2-dev xterm

####Get poky-fido-13.0.0

$ wget http://downloads.yoctoproject.org/releases/yocto/yocto-1.8/poky-fido-13.0.0.tar.bz2

$ tar xvjf poky-fido-13.0.0.tar.bz2

$ cd poky-fido-13.0.0

####Get meta-lamobo-r1

$ git clone https://github.com/pokymobo/meta-lamobo-r1.git

####Get meta-openembedded

$ git clone -b fido https://github.com/openembedded/meta-openembedded.git

####Set compile config

$ source ./oe-init-build-env

Add meta-lamobo-r1, meta-networking, meta-oe and meta-python layers to ./conf/bblayer.conf, and it will be something like this:

$ cat ./conf/bblayers.conf
\# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf

\# changes incompatibly
LCONF_VERSION = "6"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
/home/john/opensource/yocto/poky-fido-13.0.0/meta \
/home/john/opensource/yocto/poky-fido-13.0.0/meta-yocto \
/home/john/opensource/yocto/poky-fido-13.0.0/meta-yocto-bsp \
/home/john/opensource/yocto/poky-fido-13.0.0/meta-lamobo-r1 \
/home/john/opensource/yocto/poky-fido-13.0.0/meta-openembedded/meta-networking \
/home/john/opensource/yocto/poky-fido-13.0.0/meta-openembedded/meta-oe \
/home/john/opensource/yocto/poky-fido-13.0.0/meta-openembedded/meta-python \
"
BBLAYERS_NON_REMOVABLE ?= " \
/home/john/opensource/yocto/poky-fido-13.0.0/meta \
/home/john/opensource/yocto/poky-fido-13.0.0/meta-yocto \
"

the parent path of poky maybe different in your pc.

And change the machine type to sun7i-a20-lamobo-r1 in ./conf/local.conf

MACHINE ??= "sun7i-a20-lamobo-r1"

####Run compile command

$ bitbake core-image-minimal

This will cost a lot of time in your first compile, it will donwload the sources form internet and then compile the sources, so be patient with it.

You will get a image file under ./tmp/deploy/images/sun7i-a20-lamobo-r1/core-image-minimal-sun7i-a20-lamobo-r1.sunxi-sdimg

Flash this image file with your tools to sd card to boot the system.

####Configuring the on-board switch

# basic switch settings
swconfig dev switch0 set reset_mib 1
swconfig dev switch0 set reset 1
swconfig dev switch0 set enable_vlan 1
swconfig dev switch0 set enable_jumbo 1
# setup vlans for ports, CPU is on port 8 and wants tagged frames
# lan ports vlan 1-4
# the switch chip ports map to the physical ports on the board:
#     LAN      WAN
# [ 4 0 1 2 ] [ 3 ]
swconfig dev switch0 port 4 set pvid 1
swconfig dev switch0 vlan 1 set ports "8t 4"
swconfig dev switch0 port 0 set pvid 2
swconfig dev switch0 vlan 2 set ports "8t 0"
swconfig dev switch0 port 1 set pvid 3
swconfig dev switch0 vlan 3 set ports "8t 1"
swconfig dev switch0 port 2 set pvid 4
swconfig dev switch0 vlan 4 set ports "8t 2"
# wan port vlan 5
swconfig dev switch0 port 3 set pvid 5
swconfig dev switch0 vlan 5 set ports "8t 3"
swconfig dev switch0 set apply 1

# add vlan interface to eth0
for v in $(seq 1 5); do
       ip link add link eth0 name eth0.${v} type vlan id ${v}
done

Don't forget edit your /etc/config/network accordingly!

i.e. add eth0.1, eth0.2, eth0.3, ... interfaces there as well

Also be aware that the VLAN interface link state is not linked to the physical port, you can query the link of each port via:

for v in $(seq 0 4); do
swconfig dev switch0 port $v get link
done

Per-port counters can be queried via:

for v in $(seq 0 4) 8; do
swconfig dev switch0 port $v get mib
done