Juci Integration

From Yocto Project
Jump to navigationJump to search

JUCI Integration is work planned to support OpenWRT in Yocto Project. Current status: Low priority.

Contributor(s):
1. Valluri, Amarnath <amarnath.valluri@intel.com>
2. Phoong, Stanley Cheong Kwan <stanley.cheong.kwan.cheong@intel.com>
3. Chang, Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com>

Step-by-step build guide

1. Clone 'poky' git repository and checkout to the tested commit hash.

$ git clone git://git.yoctoproject.org/poky
$ git reset --hard fcdfe09d9cc4e2977bd602dfd18f729cd9f6d73d

 2. Clone 'meta-openembedded' and checkout to the tested commit hash.

$ git clone git://git.openembedded.org/meta-openembedded
$ git reset --hard f841648657069051dffa1012a42eb1524b894d50

3. Clone 'meta-nodejs' and checkout to the tested commit hash.

$ git clone https://github.com/imyller/meta-nodejs.git
$ git reset --hard eec531e97a17bfd406f3bf76dee4057dcf5286a4

4. Clone 'meta-nodejs-contrib' and checkout to the tested commit hash.

$ git clone https://github.com/imyller/meta-nodejs-contrib.git
$ git reset --hard e7949bea628db5b7c5ac71841569f3f69953411a

5. Clone 'meta-configuration' and checkout to the tested branch.

$ git clone https://github.com/avalluri/meta-configuration.git
$ git checkout juci/devel

6. Source poky build environmental script.

7. Add the respective bblayers into build/conf/bblayers.conf.

BBLAYERS ?= " \
 /media/rebeccas/yocto/juci/poky/meta \
 /media/rebeccas/yocto/juci/poky/meta-poky \
 /media/rebeccas/yocto/juci/poky/meta-yocto-bsp \
 /media/rebeccas/yocto/juci/meta-openembedded/meta-oe \
 /media/rebeccas/yocto/juci/meta-openembedded/meta-python \
 /media/rebeccas/yocto/juci/meta-openembedded/meta-networking \
 /media/rebeccas/yocto/juci/meta-nodejs \
 /media/rebeccas/yocto/juci/meta-nodejs-contrib \
 /media/rebeccas/yocto/juci/meta-configuration \
 "

8. Add the following configurations into build/conf/local.conf.

# JUCI integration
CORE_IMAGE_EXTRA_INSTALL += "packagegroup-conffw juci rpcd ubus orangerpcd lighttpd coreutils procps libwebsockets wget bash openssh openssh-sftp openssh-sftp-server networkmanager"
CONFFW_UI = ""
# systemd configuration
DISTRO_FEATURES_append = " systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
EXTRA_IMAGE_FEATURES_append = " ssh-server-openssh"

9. Build an image for qemu MACHINE.

Step-by-step runtime guide

1. Fire up qemu.

2. To run on the device requires a few steps:

$ mv /www/* /www/pages
$ mv /www/pages/logs /www
$ mv /etc/lighttpd.confe /etc/lighttpd.conf 
$ ubusd &
$ rpcd &
$ orangerpcd &
$ systemctl stop lighttpd.service  
$ systemctl start lighttpd.service   

3. Then hit 192.168.7.xx with your browser. User=admin, Password=admin

Runtime Screenshots

Dash.png

Status.png

Diagnostics.png

Network Tab.png