Giter Club home page Giter Club logo

meta-mortsgna's Introduction

meta-mortsgna: (more than) yet another distro layer

The target of this layer is to build images with the best out-of-the-box experience and to support developers with helpers for common tasks. It has its origin Ångström distribution - check https://github.com/Angstrom-distribution/meta-angstrom.


Additional global variable for local.conf:

  • MORTSGNA_ARMV7_TUNE:

    If this variable is set to "1", all armv7a / cortex variants are build as armv7a.

    + Reduce build time/disk-space required when building for multiple machines

    - Build optimization (e.g vfp/NEON) is not the best your machine can get

    Rules of thumb:

    • If you build images for multiple armv7 machines and don't need to tickle the last quarter of your machine's performance: Set MORTSGNA_ARMV7_TUNE="1"
    • If you are looking for best optimization for your machine and/or you have a fast build host with lots of disk-space: don't! see mortsgna-armv7-tune.inc for more information

The following image-features are (re-)added:

  • x11-base: Let systemd boot into grahical target

  • volatile-log: If set, journal goes to volatile /run/log and /var/log is linked to /run/log which is volatile. NOTE: We change OE-Core's default here: In bitbake.conf VOLATILE_LOG_DIR is enabled so that all images are build for volatile log. Since this is far off what others do change the default. See mortsgna-image-logfile-volatile.inc for more information.


This layer contains the following folders:

appends:

  • All bbappends are stored in this folder. For each layer a sub-folder exists and the appends are dynamic: If a layer is not in bblayers.conf the folder for the layer is ignored (see conf/layer.conf).

classes:

  • instant-sysroot-target.bbclass: Create a sysroot for target remote building/debugging - Yocto's suggested workflows are cumbersome for ad-hoc usage.
  • instant-sysroot-native.bbclass: Native recipes inheriting this class install everything necessary to run into a native sysroot. For a quick & minimal native SDK gcc-cross and gdb-cross inherit this class. class to enable instant remote debugging.
  • user-with-full-skel.bbclass: Helper to populate /etc/skel in user's home at image creation time.

conf:

  • layer.conf / and distro configurations

recipes-defaultconfig:

  • default configurations for lxqt and xfce to get a preconfigured environment. Note that all data is stored in th image at /etc/skel
  • unpriv-user: A default non root user (named morona) member of many groups required for daily operations. It is shipped with home folder populated form /etc/skel.

recipes-image:

  • All images for cinnamon / console / gnome / kde / lxqt / weston / xfce are found in this folder. allgui-images build images for all desktop environments.

recipes-utils:

  • udev-rules-udisks-hide-bootpart: Hide boot partition from udisks
  • Some tools (these are the only left from angstrom). Honestly: Have never used them but kept them if users come from angstrom and might miss them.

scripts: A script collection

  • to write images or kernel only to sdcards
  • for changing recipe checksums automatically after version bump -> update-recipe-checksums.sh

This layer depends on:

URI: git://git.openembedded.org/openembedded-core
branch: master
revision: HEAD

For building console-images:

URI: git://git.openembedded.org/meta-openembedded
Layer: meta-oe
branch: master
revision: HEAD
URI: git://git.openembedded.org/meta-openembedded
Layer: meta-networking
branch: master
revision: HEAD

For building GUI-images:

URI: git://git.openembedded.org/meta-openembedded
Layer: meta-gnome
branch: master
revision: HEAD
URI: git://git.openembedded.org/meta-openembedded
Layer: meta-multimedia
branch: master
revision: HEAD
URI: git://git.openembedded.org/meta-openembedded
Layer: meta-python
branch: master
revision: HEAD
URI: git://git.openembedded.org/meta-openembedded
Layer: meta-xfce
branch: master
revision: HEAD
URI: git://github.com/meta-qt5/meta-qt5.git
branch: master
revision: HEAD
URI: git://github.com/schnitzeltony/meta-qt5-extra.git
branch: master
revision: HEAD
URI: git://github.com/schnitzeltony/meta-gnome-forks.git
branch: master
revision: HEAD

To add plymouth to GUI-images:

URI: git://git.openembedded.org/meta-openembedded
Layer: meta-initramfs
branch: master
revision: HEAD

To surf the internet:

URI: git://github.com/OSSystems/meta-browser.git
branch: master
revision: HEAD

To pretend work:

URI: git://github.com/schnitzeltony/meta-office.git
branch: master
revision: HEAD

To produce music:

URI: git://github.com/schnitzeltony/meta-musicians.git
branch: master
revision: HEAD

To hear radio:

URI: git://github.com/balister/meta-sdr.git
branch: master
revision: HEAD

To happily waste time:

URI: git://github.com/cazfi/meta-games.git
branch: master
revision: HEAD
URI: git://github.com/schnitzeltony/meta-retro
branch: master
revision: HEAD

Contributing

  • Submit any patches against the meta-mortsgna layer by using the GitHub pull-request feature.

Policies

  • Please do not send private emails to maintainers. For questions/suggestions.. use GitHub issues.
  • Pull requests should follow OE-Styleguide with the following additions:
    • Use 4 spaces for indention always
    • For splitting of long list values use four-space indentation on successive lines set the closing quote as the first character (OE-Styleguide - second example)

Maintainers

Layer maintainer: Andreas Müller [email protected]

meta-mortsgna's People

Contributors

balister avatar cbrake avatar chenqi1989 avatar denix0 avatar koenkooi avatar kraj avatar lumag avatar maxkrummenacher avatar me-at-work avatar saur2000 avatar schnitzeltony avatar thetasslehoff avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

zeragmbh

meta-mortsgna's Issues

Fix 'file changed as we read it' with INHERIT += "instant-sysroot-target"

Task copy_to_target_sysroot creates hardlinks and can run in parallell to e.g package_ipk which causes sporadic failures as:

Subprocess output:tar: ./usr/bin/.debug/guitarix: file changed as we read it

ERROR: Logfile of failure stored in: <...>/temp/log.do_package_write_ipk.25489

There is not much we can do about host's tar (see https://lists.gnu.org/archive/html/bug-tar/2007-08/msg00013.html) so ensure copy_to_target_sysroot does not run parallel to package_deb / package_ipk / package_rpm (depending on what PACKAGE_CLASSES sets)

MORTSGNA_ARMV7_TUNE stopped working

Did not use this option often in recent past. Now I need it for test purpose and have to admit that it is broken: It changes simply nothing!

live-vm-common.bbclass:65: Could not inherit file classes/gummiboot.bbclass

Hello

Im trying to use this on yocto kirkstone in a intel machine.

After adding meta-mortsgna to layers and remove meta-poky, im getting an error doing bitbake gnome-tiny-image

ERROR: ParseError at intel_nuc_yocto/poky_harden/meta/classes/live-vm-common.bbclass:65: Could not inherit file classes/gummiboot.bbclass    | ETA:  --:--:--
ERROR: Parsing halted due to errors, see error messages above

any idea?

Thanks

Transaction check error

I am building xfce4-base-image for raspberry pi 3.

But it is failing in the do_rootfs stage.

Error: Transaction check error: file /etc/polkit-1/rules.d conflicts between attempted installs of polkit-group-rule-datetime-1.0-r0.cortexa7t2hf_neon_vfpv4 and polkit-0.115-r0.cortexa7t2hf_neon_vfpv4

ERROR: xfce4-base-image-1.0-r0 do_rootfs: Function failed: do_rootfs

I have changed from master branch to thud, but still with the same issue.

log.do_rootfs.log

ERROR: Nothing PROVIDES 'kde-base-image'

git log
commit 9ebd223 (HEAD -> master, origin/master, origin/HEAD)
Author: Andreas Müller [email protected]
Date: Wed Jun 3 22:54:33 2020 +0200

cat 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 ?= "
/home/dingo/nvidia/poky/meta
/home/dingo/nvidia/poky/meta-poky
/home/dingo/nvidia/poky/meta-yocto-bsp
/home/dingo/nvidia/meta-openembedded/meta-oe
/home/dingo/nvidia/meta-openembedded/meta-multimedia
/home/dingo/nvidia/meta-openembedded/meta-networking
/home/dingo/nvidia/meta-openembedded/meta-filesystems
/home/dingo/nvidia/meta-openembedded/meta-perl
/home/dingo/nvidia/meta-openembedded/meta-python
/home/dingo/nvidia/meta-openembedded/meta-gnome
/home/dingo/nvidia/meta-openembedded/meta-xfce
/home/dingo/nvidia/meta-virtualization
/home/dingo/nvidia/meta-tegra
/home/dingo/nvidia/meta-mortsgna
/home/dingo/nvidia/meta-clang
/home/dingo/nvidia/meta-qt5
/home/dingo/nvidia/meta-qt5-extra
"

This sets the default machine to be qemux86-64 if no other machine is selected:

#MACHINE ??= "qemux86-64"
MACHINE = "jetson-xavier-nx-devkit"
LICENSE_FLAGS_WHITELIST = "commercial"
IMAGE_CLASSES += "image_types_tegra"
IMAGE_FSTYPES = "tegraflash"
LICENSE_FLAGS_WHITELIST = "commercial_ffmpeg commercial_faad2 commercial_x264 commercial_gstreamer1.0-plugins-ugly"
LICENSE_FLAGS_WHITELIST_append = " commercial_faad2 commercial_libomxil commercial_vlc commercial_mpeg2dec commercial_gstreamer1.0-omx commercial_gstreamer1.0-omx-tegra commercial_gstreamer1.0-libav"
CORE_IMAGE_EXTRA_INSTALL += " tunctl git htop bash curl wget "

DISTRO_FEATURES_append = " l4t-usb-device-mode virtualization k8s"

NVIDIA_DEVNET_MIRROR = " file://home/dingo/nvidia/nvidia/sdkm_downloads"

DISTRO_FEATURES_append = " systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
#INITRAMFS_IMAGE_BUNDLE=" 1"
#IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"

ENABLE_UART = "1"
IMAGE_INSTALL_append = " dtc xen zerotier mosquitto tunctl sudo wireguard-tools kubernetes nvidia-docker kernel-modules ipvsadm "
IMAGE_INSTALL_append +=" plasma-world packagegroup-core-buildessential"
INSANE_SKIP_zerotier = " already-stripped"

EXTRA_IMAGE_FEATURES += " package-management "
INHERIT += "extrausers"
EXTRA_USERS_PARAMS = "usermod -P 4nn1343v3r root;
useradd -P 4nn1343v3r dingo;
useradd -P awn1x admin;
usermod -a -G sudo dingo;"

PACKAGE_FEED_URIS = "http://repo.optimcloud.com/repo"
PACKAGE_FEED_BASE_PATHS = "rpm"
PACKAGE_FEED_ARCHS = "noarch jetson_nano_qspi_sd armv8a_tegra210 aarch64"

KERNEL_MODULE_AUTOLOAD += "xt_conntrack"
KERNEL_MODULE_AUTOLOAD += "xt_addrtype"

bitbake kde-base-image
Loading cache: 100% |##########################################################################################################################################################################################################################################################################################| Time: 0:00:00
Loaded 4356 entries from dependency cache.
Parsing recipes: 100% |########################################################################################################################################################################################################################################################################################| Time: 0:00:00
Parsing of 3102 .bb files complete (3099 cached, 3 parsed). 4356 targets, 184 skipped, 0 masked, 0 errors.
ERROR: Nothing PROVIDES 'kde-base-image'
kde-base-image was skipped: 'x11-base' in IMAGE_FEATURES is not a valid image feature. Valid features: allow-empty-password allow-root-login bash-completion-pkgs dbg-pkgs debug-tweaks dev-pkgs doc doc-pkgs empty-root-password package-management post-install-logging ptest-pkgs qtcreator-debug read-only-rootfs splash src-pkgs stateless-rootfs staticdev-pkgs

tremor src_uri changed

SRC_URI = "git://gitlab.xiph.org/xiph/tremor.git;protocol=https
file://obsolete_automake_macros.patch;striplevel=0
file://tremor-arm-thumb2.patch
"

xserver-xorg missing required config option

Build fails on kirkstone missing xshmfence with dri3:

configure:28309: checking for sigaction
configure:28309: aarch64-mortsgna-linux-gcc  -mcpu=cortex-a53 -march=armv8-a+crc -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/home/nerdboy/my_stuff/home/hardware/mortsgna-diistro/oe-core/build-rpi3/tmp-glibc/work/cortexa53-mortsgna-linux/xserver-xorg/2_1.20.14-r0/recipe-sysroot -o conftest  -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/nerdboy/my_stuff/home/hardware/mortsgna-diistro/oe-core/build-rpi3/tmp-glibc/work/cortexa53-mortsgna-linux/xserver-xorg/2_1.20.14-r0=/usr/src/debug/xserver-xorg/2_1.20.14-r0                      -fdebug-prefix-map=/home/nerdboy/my_stuff/home/hardware/mortsgna-diistro/oe-core/build-rpi3/tmp-glibc/work/cortexa53-mortsgna-linux/xserver-xorg/2_1.20.14-r0=/usr/src/debug/xserver-xorg/2_1.20.14-r0                      -fdebug-prefix-map=/home/nerdboy/my_stuff/home/hardware/mortsgna-diistro/oe-core/build-rpi3/tmp-glibc/work/cortexa53-mortsgna-linux/xserver-xorg/2_1.20.14-r0/recipe-sysroot=                      -fdebug-prefix-map=/home/nerdboy/my_stuff/home/hardware/mortsgna-diistro/oe-core/build-rpi3/tmp-glibc/work/cortexa53-mortsgna-linux/xserver-xorg/2_1.20.14-r0/recipe-sysroot-native=  -fcommon   -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fmacro-prefix-map=/home/nerdboy/my_stuff/home/hardware/mortsgna-diistro/oe-core/build-rpi3/tmp-glibc/work/cortexa53-mortsgna-linux/xserver-xorg/2_1.20.14-r0=/usr/src/debug/xserver-xorg/2_1.20.14-r0                      -fdebug-prefix-map=/home/nerdboy/my_stuff/home/hardware/mortsgna-diistro/oe-core/build-rpi3/tmp-glibc/work/cortexa53-mortsgna-linux/xserver-xorg/2_1.20.14-r0=/usr/src/debug/xserver-xorg/2_1.20.14-r0                      -fdebug-prefix-map=/home/nerdboy/my_stuff/home/hardware/mortsgna-diistro/oe-core/build-rpi3/tmp-glibc/work/cortexa53-mortsgna-linux/xserver-xorg/2_1.20.14-r0/recipe-sysroot=                      -fdebug-prefix-map=/home/nerdboy/my_stuff/home/hardware/mortsgna-diistro/oe-core/build-rpi3/tmp-glibc/work/cortexa53-mortsgna-linux/xserver-xorg/2_1.20.14-r0/recipe-sysroot-native=  -Wl,-z,relro conftest.c -lm   >&5
configure:28309: $? = 0
configure:28309: result: yes
configure:28348: checking for xshmfence >= 1.1
configure:28355: $PKG_CONFIG --exists --print-errors "$LIBXSHMFENCE"
configure:28358: $? = 0
configure:28372: $PKG_CONFIG --exists --print-errors "$LIBXSHMFENCE"
configure:28375: $? = 0
configure:28413: result: yes
configure:28444: error: DRI3 requested, but xshmfence not found.

Using meta-raspberrypi and rpi3-64 machine target. Looking at xserver-xorg recipe, it seems like it should work; the test build config is appended to local.conf:

#===============================================
#  local mods

MACHINE = "raspberrypi3-64"
IMAGE_FSTYPES += "wic.xz"

DISTRO = "mortsgna"

DL_DIR = "${HOME}/shared/downloads"
SSTATE_DIR = "${HOME}/shared/oe/sstate-cache"
PERSISTENT_DIR = "${HOME}/shared/oe-core"

INHERIT += "rm_work"
INHERIT += "toaster"

# after dunfell we need to mask some recipe mods
BBMASK = "meta-small-arm-extra/recipes-graphics/lxdm/"
BBMASK .= "|.*meta-small-arm-extra/recipes-graphics/openbox/"
BBMASK .= "|.*meta-small-arm-extra/recipes-graphics/tint2/"
BBMASK .= "|.*meta-small-arm-extra/recipes-extended/cups/"
BBMASK .= "|.*meta-small-arm-extra/recipes-support/vte/"

x11-base not in image features

Received:

I tried to create an xfce image using your repositories
meta-mortsgna and meta-raspi-light for raspberrypi3.

.. am not correctly configuring the
local.conf and bblayers.conf files and I get the following error:

xfce4-base-image was skipped: 'x11-base' in IMAGE_FEATURES is not a valid image feature.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.