Yocto:How to use meta-intel to generate iso images that can be started in vmware? - yocto

I want to use the meta intel layer to generate an ISO image of core image minimal.Although the image is generated normally, I cannot use vmware to start it. The picture is as follows:
enter image description here
This is my local.conf.
MACHINE ?= "intel-corei7-64"
#
# This sets the default machine to be qemux86-64 if no other machine is selected:
MACHINE ??= "qemux86-64"
DISTRO ?= "poky"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats"
IMAGE_FSTYPES += "live"
NOISO = "0"
PREFERRED_PROVIDER_virtual/kernel = "linux-intel"
DEPENDS:append:${MACHINE} = " cdrtools-native"
IMAGE_FSTYPES:append = " ext4"
IMAGE_TYPEDEP_wic = "ext4"
do_image_wic[depends] += "${INITRD_IMAGE_LIVE}:do_image_complete"
do_rootfs[depends] += "virtual/kernel:do_deploy"
IMAGE_BOOT_FILES:append = "\
${KERNEL_IMAGETYPE} \
microcode.cpio \
${IMGDEPLOYDIR}/${IMAGE_BASENAME}-${MACHINE}.ext4;rootfs.img \
${#bb.utils.contains('EFI_PROVIDER', 'grub-efi', 'grub-efi- bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \
${#bb.utils.contains('EFI_PROVIDER', 'grub-efi', '${IMAGE_ROOTFS}/boot/EFI/BOOT/grub.cfg;EFI/BOOT/grub.cfg', '', d)} \
${#bb.utils.contains('EFI_PROVIDER', 'systemd-boot', 'systemd-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \
${#bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/loader.conf;loader/loader.conf ', '', d)} \
${#bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/entries/boot.conf;loader/entries/boot.conf', '', d)} "
This is my bblayer.conf.
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/home/brain/poky/meta \
/home/brain/poky/meta-poky \
/home/brain/poky/meta-yocto-bsp \
/home/brain/poky/meta-intel\
"
Now how can I generate an iso image that can be started normally?

This one should work with VMWare:
IMAGE_FSTYPES = wic.vmdk

Related

Activating distro layer in Yocto

What are the required steps to use a distro layer in Yocto?
Currently, I have the following setup:
meta-my-distro-layer/conf/distro/mydistro.conf:
DISTROOVERRIDES =. "poky:"
require conf/distro/poky.conf
DISTRO = "mydistro"
DISTRO_NAME = "MyDistro"
DISTRO_VERSION = "1.0"
DISTRO_CODENAME = "one"
INIT_MANAGER = "systemd"
meta-my-distro-layer/conf/layer.conf
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-my-distro-layer"
BBFILE_PATTERN_meta-my-distro-layer = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-my-distro-layer = "6"
LAYERDEPENDS_meta-my-distro-layer = "core"
LAYERSERIES_COMPAT_meta-my-distro-layer = "kirkstone"
meta-my-distro-layer/recipes-core/images/console-image.bb
DESCRIPTION = "A console-only image"
IMAGE_FEATURES += "ssh-server-openssh"
IMAGE_INSTALL = "\
packagegroup-core-boot \
packagegroup-core-full-cmdline \
${CORE_IMAGE_EXTRA_INSTALL} \
"
inherit core-image
IMAGE_INSTALL += "curl"
build/conf/bblayers.conf:
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/my-work-dir/poky/meta \
/my-work-dir/poky/meta-poky \
/my-work-dir/poky/meta-yocto-bsp \
/my-work-dir/poky/meta-my-distro-layer \
"
I can build the console image defined in that layer, but nothing set in mydistro.conf seems to have any effect on bitbake. According to bitbake -e, DISTRO and INIT_MANAGER never get set to my values and (consequently) trying to set INIT_MANAGER to systemd never takes effect. I can set INIT_MANAGER in conf/local.conf and it takes effect then, but I'd like to do that in a distro layer.
You need to set DISTRO to mydistro in local.conf

Plantuml generates interface from Doxygen group

I would like to generate an interface diagram using Plantuml in Doxygen. Instead of typing the interfaces one by one as below, is it possible to generate the interface from the Doxygen group? I have created a group called "ExportInterface".
#startuml
interface "interface.h" as interface
{
function1(void): void
function2(void): void
function3(void): int
}
#enduml
doxygen -x Doxyfile
# Difference with default Doxyfile 1.9.1 (ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b)
OUTPUT_DIRECTORY = ms
ALWAYS_DETAILED_SEC = YES
STRIP_FROM_PATH = .
STRIP_FROM_INC_PATH = .
ALIASES = "project=\par Project: \n" \
"subsystem=\par Subsystem: \n" \
"history=\par History: \n\htmlonly <pre>" \
endhistory=</pre>\endhtmlonly \
"startuml{1}=\image html \1\n\image latex \1\n\if DontIgnorePlantUMLCode" \
enduml=\endif \
"xrefreq{2}=#ref \1 \"\1\" #anchor \1 <a href='\2' target='_blank'>Requirements Object Link</a>\n" \
"satisfyreq{2}=#xrefitem satisfy \"Satisfies requirement\" \"Requirement Satisfaction\" #xrefreq{\1,\2}" \
"verifyreq{2}=#xrefitem verify \"Verifies requirement\" \"Requirement Verification\" #xrefreq{\1,\2}" \
"xrefarc{2}=#ref \1 \"\1\" #anchor \1 <a href='\2' target='_blank'>Containing Rhapsody Model</a>\n" \
"xrefarc_path{3}=#ref \1 \"\2\" #anchor \1 <a href='\3' target='_blank'>Containing Rhapsody Model</a>\n" \
"tracearc{2}=#xrefitem architecture \"Architecture\" \"Traced Architecture\" #xrefarc{\1,\2}" \
"tracearc_path{3}=#xrefitem architecture \"Architecture\" \"Traced Architecture\" #xrefarc{\1,\2,\3}" \
"startTraceIt{1}=<B>\anchor \1\nTraceIt data: \1</B><PRE>" \
endTraceIt=</PRE> \
"reftrace{1}=#anchor ref_\1 #ref \1" \
"reftrace{2}=#anchor ref\1_\2 #ref \2"
EXTENSION_MAPPING = fidl=IDL
DISTRIBUTE_GROUP_DOC = YES
TYPEDEF_HIDES_STRUCT = YES
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_ANON_NSPACES = YES
CASE_SENSE_NAMES = YES
SORT_MEMBER_DOCS = NO
WARN_LOGFILE = doxygen-build/warnings.log
INPUT = ../adapt \
../core \
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
*.cpp \
*.c++ \
*.java \
*.ii \
*.ixx \
*.ipp \
*.i++ \
*.inl \
*.idl \
*.ddl \
*.odl \
*.h \
*.hh \
*.hxx \
*.hpp \
*.h++ \
*.cs \
*.d \
*.php \
*.php4 \
*.php5 \
*.phtml \
*.inc \
*.m \
*.markdown \
*.md \
*.mm \
*.dox \
*.pyw \
*.f90 \
*.f \
*.for \
*.tcl \
*.vhd \
*.vhdl \
*.ucf \
*.qsf \
*.as \
and \
*.js \
*.fidl \
*.fdepl
RECURSIVE = YES
EXCLUDE_PATTERNS = *_Template.c
IMAGE_PATH = images
FILTER_PATTERNS = *.fidl=
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
VERBATIM_HEADERS = NO
HTML_TIMESTAMP = YES
GENERATE_ECLIPSEHELP = YES
GENERATE_TREEVIEW = YES
GENERATE_LATEX = NO
MACRO_EXPANSION = YES
SEARCH_INCLUDES = NO
PREDEFINED = "FUNC(type, memclass)=type" \
"VAR(type, memclass)=type" \
"CONST(type, memclass)=const type" \
"P2CONST(type, memclass, ptrclass)=const type *" \
"CONSTP2CONST(ptrtype, memclass, ptrclass)=ptrtype * const" \
DOXYGEN_SHOULD_SKIP_THIS \
__declspec(x)=
CLASS_DIAGRAMS = NO
HAVE_DOT = YES
UML_LOOK = YES
CALL_GRAPH = YES
DOT_IMAGE_FORMAT = svg
PLANTUML_JAR_PATH = C:\ProgramData\chocolatey\lib\plantuml\tools\plantuml.jar
DOT_GRAPH_MAX_NODES = 500

If YAD is a fork of Zenity why is there no --imagelist?

Zenity is used in many of my bash projects, but looking at the advanced features of YAD there are many reasons to switch. After some testing unfortunately I discovered there is no --imagelist option for the list type dialog. This is a major problem as most of my projects use imagelists.
The below example runs on zenity version 3.28.1
#!/bin/bash
table=(~/image.png " " "Title1" " " "description1" "output1" ~/image.png " " "Title2" " " "description2" "output2" ~/image.png " " "Title3" " " "description3" "output3")
zenity --list --title="page title" --text="some random text" --imagelist --ok-label=Open --cancel-label=Home --print-column=6 --hide-column=6 --separator=' ' --width=600 --height=400 \
--column="Cover image" \
--column=" " \
--column="Name" \
--column=" " \
--column="details" \
--column="Folder" \
"${table[#]}"
the dialog should look like this:
In this example ${table[#]} is an array that contains all the data for each row including the file-path to the image in column 1. Is there a way to do this in YAD?
I installed YAD and looked at all the help pages provided in terminal, also tried to run similar imagelist examples, but it seems to be not supported (syntax is mostly the same as YAD is a fork of zenity)
With yad the columns can have a type associated with them. In your case you want to use the :IMG type for the first column, and the other two can remain as plain text.
table=(
~/image.png "" "Title1" "" "description1" "output1"
~/image.png "" "Title2" "" "description2" "output2"
~/image.png "" "Title3" "" "description3" "output3"
)
yad \
--list \
--title="page title" \
--text="some random text" \
--imagelist \
--print-column=6 \
--hide-column=6 \
--separator=' ' \
--width=600 \
--height=400 \
--column="Cover image:IMG" \
--column=" " \
--column="Name" \
--column=" " \
--column="details" \
--column="Folder" \
--button="Home":1 \
--button="Open":20 \
--response=20 \
"${table[#]}"
The output, missing your images
That will set the exit code to 20 if you press Enter or click Open on a list item, as well as outputting "output1" or "output2" etc.
That said, I have been experiencing issues with the exit codes or output text not appearing correctly. The above example works fine for me, but if I change the the Open exit code to "25" instead of "20" it stops working. No idea why it behaves inconsistently.

error while opening CHM after compiling help using doxygen

I am recently getting the following error while opening CHM file generated by Doxywizard version 1.8.16.
On a Win 7 m/c, I get the following error on all pages:
'$' is undefined
for every page.
it comes from the following line in index.html
$(function() {
initMenu('',false,false,'search.php','Search');
});
UPDATED LATER:
On a Win 10 m/c, i didn't get the above error, but a different error in some pages in the CHM as follows :
Unable to get property 'style' of undefined or null reference
This error happens within the jquery.js file.
--
Diff of configuration is the following (note that I have replaced some names with '...'):
# Difference with default Doxyfile 1.8.16 (cfd73d5c4d1a66c620a3b7c08b72a3f3c3f9
255*)
PROJECT_NAME = ...
PROJECT_NUMBER = x.y.z.w
PROJECT_BRIEF = "..."
PROJECT_LOGO = .../....png
FULL_PATH_NAMES = NO
TAB_SIZE = 8
OPTIMIZE_OUTPUT_FOR_C = YES
TOC_INCLUDE_HEADINGS = 0
EXTRACT_ALL = YES
HIDE_SCOPE_NAMES = YES
SHOW_USED_FILES = NO
INPUT = ../src/ \
../src/main.c \
...
...
../docs/....md \
\docs
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
*.cpp \
*.c++ \
*.d \
*.java \
*.ii \
*.ixx \
*.ipp \
*.i++ \
*.inl \
*.h \
*.hh \
*.hxx \
*.hpp \
*.h++ \
*.idl \
*.odl \
*.cs \
*.php \
*.php3 \
*.inc \
*.m \
*.markdown \
*.md \
*.mm \
*.dox \
*.py \
*.f90 \
*.f \
*.for \
*.vhd \
*.vhdl
RECURSIVE = YES
EXAMPLE_PATTERNS = *.c \
*.h
HTML_TIMESTAMP = YES
GENERATE_DOCSET = YES
GENERATE_HTMLHELP = YES
CHM_FILE = mydoc.chm
HHC_LOCATION = "C:/Program Files (x86)/HTML Help Workshop/hhc.exe"
GENERATE_TREEVIEW = YES
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
LATEX_CMD_NAME = latex
LATEX_MAKEINDEX_CMD = \makeindex
INCLUDE_PATH = ../include
HAVE_DOT = YES
CALL_GRAPH = YES
CALLER_GRAPH = YES
DOT_PATH = "C:/Program Files (x86)/Graphviz2.38/bin"

Creating Yocto Mender for Raspberrypi 3

I need help creating Mender for Raspberry Pi3. I can create the image, but when using Win32Image to burn the Disk Image it doesn't boot.
Here is my additional conf.log
MENDER_ARTIFACT_NAME = "release-1"
INHERIT += "mender-full"
MACHINE ?= "raspberrypi3"
RPI_USE_U_BOOT = "1"
MENDER_PARTITION_ALIGNMENT_KB = "4096"
MENDER_BOOT_PART_SIZE_MB = "40"
IMAGE_INSTALL_append = " kernel-image kernel-devicetree"
IMAGE_FSTYPES_remove += " rpi-sdimg"
DISTRO_FEATURES_append = " systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
VIRTUAL-RUNTIME_initscripts = ""
IMAGE_FSTYPES = "ext4"
and bblayers
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/home/ubuntu/pyro/poky/meta \
/home/ubuntu/pyro/poky/meta-poky \
/home/ubuntu/pyro/poky/meta-yocto-bsp \
/home/ubuntu/pyro/openembedded-core/meta \
/home/ubuntu/pyro/meta-openembedded/meta-oe \
/home/ubuntu/pyro/meta-openembedded/meta-python \
/home/ubuntu/pyro/meta-openembedded/meta-networking \
/home/ubuntu/pyro/meta-raspberrypi \
/home/ubuntu/pyro/meta-mender/meta-mender-core \
/home/ubuntu/pyro/meta-mender/meta-mender-demo \
/home/ubuntu/pyro/meta-mender/meta-mender-raspberrypi \
"
I can create the rpi-basic image as follows:
ubuntu#ip-172-31-6-3:~/pyro/build$ bitbake rpi-basic-image
Parsing recipes: 100% |######################################################################################| Time: 0:00:54
Parsing of 870 .bb files complete (0 cached, 870 parsed). 1347 targets, 71 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.34.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "raspberrypi3"
DISTRO = "poky"
DISTRO_VERSION = "2.3.2"
TUNE_FEATURES = "arm armv7ve vfp thumb neon vfpv4 callconvention-hard cortexa7"
TARGET_FPU = "hard"
meta
meta-poky
meta-yocto-bsp = "pyro:2021e95bcd986e5bcfe457da5c3e16d60241d050"
meta-raspberrypi = "pyro:40447de4782d76f1e23e67ba05e272c27f6ec250"
meta-mender-core
meta-mender-raspberrypi = "pyro:b40f05c82ebc97c18ddf8ac426af4657ddba9425"
Initialising tasks: 100% |###################################################################################| Time: 0:00:04
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 2976 tasks of which 2953 didn't need to be rerun and all succeeded.
ubuntu#ip-172-31-6-3:~/pyro/build$
Maybe I am missing some steps?
The pyro branch of meta-raspberrypi does not support the RPI_USE_U_BOOT setting. For that (and older) branches you need to use 'KERNEL_IMAGETYPE_rpi = "uImage"' instead.