SECO North Non-GPLv3 Layer
This layer can be used to create an Image for SECO North devices without GPLv3 software.
Build Instructions
The image build without GPLv3 is based on an own distro:
MACHINE=imx8mpguf DISTRO=seconorth-wayland-no-gplv3 BBLAYERS=bblayers_imx8.conf source ./setup-environment build
The layer provides a bbclass, that can be used to create new images without GPLv3. There is also a default image, that has similar functionality as the SECO North default image (seconorth-image):
bitbake seconorth-image-nogplv3
For a full example of all build steps, please see the README in the machine layer (https://git.seco.com/seco-ne/yocto/layers/meta-guf-machine).
In some cases it is necessary to use a nogplv3 based Yocto image for EMC tests. For this reason the distro seconorth-wayland-no-gplv3-emc-test has been added. This distro adds all packages that are required for testing, even if they are under GPLv3.
MACHINE=imx8mpguf DISTRO=seconorth-wayland-no-gplv3-emc-test BBLAYERS=bblayers_imx8.conf source ./setup-environment build
Limitations
A lot of Linux base-utils are released under the GPLv3 license. Because of this, most of these utils are replaced by their BusyBox variant. Also, some non-vital software is simply removed from the image while others are missing some functionality because of removed libraries.
There is an additional layer meta-gplv2 that supplies old (some very old) versions of tools before those changed their license to GPLv3. In the old versions they are still available as GPLv2. The default is not to use this layer of the GPLv3 free distribution, to not get these old versions into the image.
New Software and Packages
- dash
- Replacement for bash
- editline
- Drop-in replacement for readline
Removed Software and Packages
Following is a list of all the removed applications and packages. Please note that some packages are removed via the FEATURE_PACKAGES attribute in meta-seconorth-distro/recipes-bsp/packagegroups.
- base-utils
- bash
- coreutils
- cpio
- diffutils
- ed
- findutils
- gawk
- grep
- gzip
- inetutils
- inetutils-ping
- inetutils-telnet
- inetutils-tftp
- inetutils-traceroute
- patch
- sed
- tar
- time
- wget
- which
- fio
- glmark2
- nano
- networkmanager
- networkmanager-bash-completion
- networkmanager-nmtui
- perf
- qt-kiosk-browser (qtwebengine -> python2 -> gdbm)
- valgrind
- wireguard-tools
- Without readline
- bind
- bluez5
- (networkmanager)
- socat
- python3
- Without gdbm
- python3