build-appliance-image: support for Toaster
Various changes needed to enable to run Toaster in the Build Appliance: 1. Pre-install packages as specified by the file "bitbake/toaster-requirements.txt" 2. Include pip3 in the image 3. Include tzdata in the image (needed by django) 4. Bump SRCREV to a commit with proper settings.py (ALLOWED_HOSTS) for Django 1.8.16 5. Added README_VirtualBox_Toaster.txt to provide steps for configuring VirtualBox network adapters (NAT or Bridged) and steps to launch Toaster [YOCTO#10767] (From OE-Core rev: dffbac64bbf86c91247ba7373b3b5bd6af24103f) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
b138a8bba5
commit
4028407326
|
@ -0,0 +1,78 @@
|
||||||
|
|
||||||
|
Running Toaster in VirtualBox
|
||||||
|
=============================
|
||||||
|
|
||||||
|
Toaster is launched via the command in VM:
|
||||||
|
|
||||||
|
$ source toaster start webport=<IPADDR:PORT>
|
||||||
|
|
||||||
|
The interaction with Toaster web server is done via a host internet
|
||||||
|
browser.
|
||||||
|
The particular steps depend on the actual networking being used
|
||||||
|
by the VirtualBox.
|
||||||
|
|
||||||
|
|
||||||
|
Bridged Network
|
||||||
|
===============
|
||||||
|
|
||||||
|
Find out your VM network IP address:
|
||||||
|
|
||||||
|
$ ifconfig
|
||||||
|
|
||||||
|
IP address is listed under eth0 inet addr.
|
||||||
|
It should be something like:
|
||||||
|
inet addr:192.168.1.18
|
||||||
|
|
||||||
|
Launch the Toaster web server in VM:
|
||||||
|
|
||||||
|
$ source toaster start webport=192.168.1.18:8000
|
||||||
|
|
||||||
|
Interact with the Toaster web server with your host browser using URL:
|
||||||
|
|
||||||
|
http://192.168.1.18:8000
|
||||||
|
|
||||||
|
|
||||||
|
NAT Network
|
||||||
|
===========
|
||||||
|
Find out your VM network IP address:
|
||||||
|
|
||||||
|
$ ifconfig
|
||||||
|
|
||||||
|
IP address is listed under eth0 inet addr.
|
||||||
|
For NAT network it should be something like:
|
||||||
|
inet addr:10.0.2.15
|
||||||
|
|
||||||
|
When using NAT network, the VM web server can be accessed using
|
||||||
|
Port Forwarding.
|
||||||
|
|
||||||
|
Using the VirtualBox GUI, navigate to:
|
||||||
|
Settings->Network->Adapter1
|
||||||
|
|
||||||
|
You should set:
|
||||||
|
Attached to: NAT
|
||||||
|
|
||||||
|
Select "Advanced", click on "Port Forwarding"
|
||||||
|
|
||||||
|
This will open a new dialog box "Port Forwarding Rules".
|
||||||
|
Create a new rule that looks like this:
|
||||||
|
|
||||||
|
| Name | Protocol | Host IP | Host Port | Guest IP | Guest Port |
|
||||||
|
+-------+----------+---------+-----------+----------+------------+
|
||||||
|
| Rule1 | TCP | | 8000 | | 8000 |
|
||||||
|
------------------------------------------------------------------
|
||||||
|
|
||||||
|
Now we can launch the Toaster web server in VM:
|
||||||
|
|
||||||
|
$ source toaster start webport=10.0.2.15:8000
|
||||||
|
|
||||||
|
Interact with the Toaster web server with your host browser using URL:
|
||||||
|
|
||||||
|
http://127.0.0.1:8000
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
SUMMARY = "An image containing the build system itself"
|
SUMMARY = "An image containing the build system itself"
|
||||||
DESCRIPTION = "An image containing the build system that you can boot and run using either VMware Player or VMware Workstation."
|
DESCRIPTION = "An image containing the build system that you can boot and run using either VirtualBox, VMware Player or VMware Workstation."
|
||||||
HOMEPAGE = "http://www.yoctoproject.org/documentation/build-appliance"
|
HOMEPAGE = "http://www.yoctoproject.org/documentation/build-appliance"
|
||||||
|
|
||||||
LICENSE = "MIT"
|
LICENSE = "MIT"
|
||||||
|
@ -7,7 +7,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d
|
||||||
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
||||||
|
|
||||||
IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegroup-self-hosted \
|
IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegroup-self-hosted \
|
||||||
kernel-dev kernel-devsrc connman connman-plugin-ethernet dhcp-client"
|
kernel-dev kernel-devsrc connman connman-plugin-ethernet dhcp-client \
|
||||||
|
tzdata python3-pip"
|
||||||
|
|
||||||
IMAGE_FEATURES += "x11-base package-management splash"
|
IMAGE_FEATURES += "x11-base package-management splash"
|
||||||
|
|
||||||
|
@ -22,11 +23,12 @@ IMAGE_FSTYPES = "vmdk"
|
||||||
|
|
||||||
inherit core-image module-base
|
inherit core-image module-base
|
||||||
|
|
||||||
SRCREV ?= "ee6ee913aae5ac55ccb9125e03d07d3a767e4157"
|
SRCREV ?= "7c3a47ed8965c3a3eb90a9a4678d5caedbba6337"
|
||||||
SRC_URI = "git://git.yoctoproject.org/poky;branch=master \
|
SRC_URI = "git://git.yoctoproject.org/poky;branch=master \
|
||||||
file://Yocto_Build_Appliance.vmx \
|
file://Yocto_Build_Appliance.vmx \
|
||||||
file://Yocto_Build_Appliance.vmxf \
|
file://Yocto_Build_Appliance.vmxf \
|
||||||
file://README_VirtualBox_Guest_Additions.txt \
|
file://README_VirtualBox_Guest_Additions.txt \
|
||||||
|
file://README_VirtualBox_Toaster.txt \
|
||||||
"
|
"
|
||||||
BA_INCLUDE_SOURCES ??= "0"
|
BA_INCLUDE_SOURCES ??= "0"
|
||||||
|
|
||||||
|
@ -54,6 +56,9 @@ fakeroot do_populate_poky_src () {
|
||||||
# Place the README_VirtualBox_Guest_Additions file in builders home folder.
|
# Place the README_VirtualBox_Guest_Additions file in builders home folder.
|
||||||
cp ${WORKDIR}/README_VirtualBox_Guest_Additions.txt ${IMAGE_ROOTFS}/home/builder/
|
cp ${WORKDIR}/README_VirtualBox_Guest_Additions.txt ${IMAGE_ROOTFS}/home/builder/
|
||||||
|
|
||||||
|
# Place the README_VirtualBox_Toaster file in builders home folder.
|
||||||
|
cp ${WORKDIR}/README_VirtualBox_Toaster.txt ${IMAGE_ROOTFS}/home/builder/
|
||||||
|
|
||||||
# Create a symlink, needed for out-of-tree kernel modules build
|
# Create a symlink, needed for out-of-tree kernel modules build
|
||||||
lnr ${IMAGE_ROOTFS}${KERNEL_SRC_PATH} ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/build
|
lnr ${IMAGE_ROOTFS}${KERNEL_SRC_PATH} ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/build
|
||||||
|
|
||||||
|
@ -88,6 +93,13 @@ fakeroot do_populate_poky_src () {
|
||||||
# Use Clearlooks GTK+ theme
|
# Use Clearlooks GTK+ theme
|
||||||
mkdir -p ${IMAGE_ROOTFS}/etc/gtk-2.0
|
mkdir -p ${IMAGE_ROOTFS}/etc/gtk-2.0
|
||||||
echo 'gtk-theme-name = "Clearlooks"' > ${IMAGE_ROOTFS}/etc/gtk-2.0/gtkrc
|
echo 'gtk-theme-name = "Clearlooks"' > ${IMAGE_ROOTFS}/etc/gtk-2.0/gtkrc
|
||||||
|
|
||||||
|
# Install modules needed for toaster
|
||||||
|
export HOME=${IMAGE_ROOTFS}/home/builder
|
||||||
|
mkdir -p ${IMAGE_ROOTFS}/home/builder/.cache/pip
|
||||||
|
pip3 install --user -I -U -v -r ${IMAGE_ROOTFS}/home/builder/poky/bitbake/toaster-requirements.txt
|
||||||
|
chown -R builder.builder ${IMAGE_ROOTFS}/home/builder/.local
|
||||||
|
chown -R builder.builder ${IMAGE_ROOTFS}/home/builder/.cache
|
||||||
}
|
}
|
||||||
|
|
||||||
IMAGE_PREPROCESS_COMMAND += "do_populate_poky_src; "
|
IMAGE_PREPROCESS_COMMAND += "do_populate_poky_src; "
|
||||||
|
|
Loading…
Reference in New Issue