Compare commits

..

61 Commits

Author SHA1 Message Date
Alexandre Bard 881a818a37 Adapt gpsd recipe to make it compatible with gnss-mgr
gpsd needs some small changes to not conflict with gnss-mgr

id:502637
2024-03-15 14:00:01 +01:00
Alexandre Bard c5dd7ce5e8 nwl-distro: Add gnss-mgr to test tools
This tool is used to enable and configure the gnss receiver.

id:502637
2024-03-15 14:00:01 +01:00
Alexandre Bard 2837a9f876 nwl-distro: Add ModemManager and wwan-config to test tools
These tools are required to properly enable, configure and use the wwan
modems.

id:502637
2024-03-15 14:00:01 +01:00
Alexandre Bard a77ced658e nwl-distro: Add udev-rules to test tools
These udev rules are used to "standardized" the names of the different
interfaces (mainly GNSS and WWAN).

id:502637
2024-03-15 14:00:01 +01:00
Alexandre Bard 580b4be2ca nwl-test-image: Add some test tools
- hostapd to create access points
- gps-utils to test the gnss receiver
- can-utils to test the can interfaces
- libgpiod-tools to toggle the gpios
- chrony to get the time set properly on the target and help reading the
  logs
- minicom to debug the serial ports

id:502637
2024-03-15 14:00:01 +01:00
Alexandre Bard ead191b097 distro/nwl.conf: Fix typo 2024-03-15 14:00:01 +01:00
Alexandre Bard d2e0b9c9df packagegroup-nwl-core: Add dnsmasq for AP mode
dnsmasq is used by networkmanager as DHCP server in AP mode.
But the default service must be disabled otherwise it conflicts with the
instance started by NetworkManager.

id:502637
2024-03-15 14:00:01 +01:00
Alexandre Bard a11f7a39b9 meta-nwl-distro: Remove custom signing keys
Common development keys are now integrated directly in core-os.
2024-03-01 17:37:50 +01:00
Alexandre Bard 3516f4f7bd nwl-image.bbclass: Remove custom core-os configs
These configs are now properly handled in core-os based on machine
definitions.

id:502637
2024-03-01 17:37:50 +01:00
Alexandre Bard a40e734c0d meta-netmodule-legacy-bsp: machine.conf: Use relative import paths
Since the included files are in the same directory, it makes more sense
to include them relatively.

More specifically, it is a problem for ti33x.inc that exists in meta-ti
which is now used for hw34.

id:502637
2024-03-01 17:37:50 +01:00
Alexandre Bard 8d098aaa6c templates/bblayers.conf.sample: Add new layers from CoreOS
id:502637
2024-03-01 16:22:30 +01:00
Alexandre Bard f7c25896cf Update Core-OS to latest version
id:397918
2024-03-01 16:22:03 +01:00
Alexandre Bard 2bee4cb540 templates/conf-notes: Fix targets name
We forgot to change this when we renamed the images
2024-02-16 18:41:54 +01:00
Lucien Mueller e20ff1ff22 templates/bblayers.conf.sample: add the new meta-nwl-marvell-bsp layer
templates/local.conf.sample: add cn9131-nitroc machine as example

Signed-off-by: Lucien Mueller <lucien.mueller@netmodule.com>
2024-01-30 15:54:09 +01:00
Stefan Eichenberger c790b986ca layers: meta-nwl-marvell-bsp: add initial layer and add Nitroc support
Add an initial Marvell BSP layer which supports Nitroc. It is different
from CoreOS for now because it uses a newer kernel, U-Boot and trusted
firmware.

Signed-off-by: Stefan Eichenberger <stefan.eichenberger@netmodule.com>
2024-01-25 17:06:55 +01:00
Marc Mattmüller 3e672279f7 srcrev: updated source revisions by Jenkins Job 2023-11-07 05:51:11 +01:00
Alexandre Bard 16bd38ae2b nwl-test-image: Add components required by uboot to boot the image
nrsw-uboot is reading the devicetree and the fpga image from the rootfs.

id:458169
2023-10-31 11:10:56 +01:00
Alexandre Bard 20b9904c2b legacy-bsp: Add wic files for armada devices
id:458169
2023-10-31 11:10:56 +01:00
Alexandre Bard 64bc9777e8 legacy-bsp: Add support for u-boot for armada
id:458169
2023-10-31 11:10:56 +01:00
Alexandre Bard c1165a318f nwl-test-image: Add missing components
Since we worked mainly on the ramdisk image, the test-image was almost
empty and lacking the minimum components.
This components are now defined in a packagegroup which is included in
all nwl-images.

It also include a new MACHINE_FEATURE : nrsw-ready.
This feature allows us to not include NRSW modules for devices that are
not supported by NRSW: for the moment it is mainly the devices supported
by core-os like cn9130-cf-pro. These devices are build against there
custom kernel against which the NRSW modules are not buildable.

id:458169
2023-10-30 14:19:58 +01:00
Alexandre Bard 49cf460db4 kernel: Add support for gpt partitions
We are using a GPT partition table in the WIC file, so GPT support is
required.

id:458169
2023-10-27 14:35:20 +02:00
Alexandre Bard 02dc2cdbef ramdisk-image: Add tools to install the wic files on the mmc
id:458169
2023-10-27 14:35:20 +02:00
Alexandre Bard 19f4f4f7a3 nwl-test-image: Create a wic file for sitara devices
id:458169
2023-10-27 14:35:20 +02:00
Alexandre Bard f7a130b901 bsp: Add u-boot for sitara devices
id:458169
2023-10-27 14:35:20 +02:00
Lucien Mueller 6ad5d7fd94 add fpga image support in fitImage.
INFO: The image address entries in the fitImage changed
e.g. "fpga@1" -> "fpga-1"
see: commit 6047be9f8f0f5d616fda11d83b682c1b8aeaa0ae in meta-openembedded

Signed-off-by: Lucien Mueller <lucien.mueller@netmodule.com>
2023-10-26 15:15:52 +02:00
Alexandre Bard ff08561cb5 Update source revisions
Auto-update by jenkins in nightly branch

Squashed commit of the following:

commit 936c4f49f17f4fe0a10d601bf7dd3937b72b7a89
Author: Marc Mattmüller <marc.mattmueller@netmodule.com>
Date:   Thu Oct 5 05:51:12 2023 +0200

    srcrev: updated source revisions by Jenkins Job
2023-10-05 08:24:31 +02:00
Marcel Reichmuth af9096dd9a hw18: implement card detect for sd card
id:447882
2023-10-03 12:43:23 +02:00
Lucien Mueller 53507a012e sitara defconfig: add CONFIG_ETHTOOL_NETLINK to fix broadr issues
ID: 446426

Signed-off-by: Lucien Mueller <lucien.mueller@netmodule.com>
2023-10-03 09:17:40 +02:00
Marcel Reichmuth d63894745b dsa: fix cpu port configuration
id:447902
2023-09-29 14:18:32 +02:00
Lucien Mueller 2537fd2076 nwl-ramdisk-minimal: add kernel-modules
Signed-off-by: Lucien Mueller <lucien.mueller@netmodule.com>
2023-09-29 11:14:14 +02:00
Alexandre Bard 3c81ac50ca kernel-module-pcie: Use devicetree to configure gpios
id:452476
2023-09-28 18:30:17 +02:00
Lucien Mueller d9c27fbd9a nwl-ramdisk-minimal: add ssh support
Signed-off-by: Lucien Mueller <lucien.mueller@netmodule.com>
2023-09-28 09:47:31 +02:00
Lucien Mueller 0e30a45837 nwl-tests: update recipe for new file structure
Signed-off-by: Lucien Mueller <lucien.mueller@netmodule.com>
2023-09-21 09:54:32 +02:00
Samuel Dolt 8eec0f932c nwl-image-fitimage: Fix filename of the fitimage in the artifacts file
id: 414705
2023-09-18 11:01:45 +02:00
Alexandre Bard 41820366c4 nwl-ramdisk-minimal: Fix missing artifacts list
id:414705
2023-09-18 10:58:20 +02:00
Alexandre Bard 437387f41c linux-nrsw: Update to version 5.15
The the "patch number" in the linux version will likely change, the
version check is also disabled and only the "main" version is set.

id:448028
2023-09-12 13:50:43 +02:00
Marcel Reichmuth 5c04761e26 Update kernel-module-system-info to the latest version to make
it compile with kernel 5.15.

id:418230
2023-09-06 11:48:25 +02:00
Alexandre Bard a96df99645 Move wlan layer to external-layers
Having it in "layers" made the update-source-revisions script to update
revisions there too.

id:425378
2023-09-05 12:18:30 +02:00
Alexandre Bard 773946b892 ramdisk-image: Add wifi firmwares for TI chips
And make it dependent on MACHINE_FEATURES.

These firmwares are required for the chip to function properly.

id:425378
2023-09-04 16:38:45 +02:00
Alexandre Bard 6caf907636 Add meta-netmodule-wlan
id:425378
2023-09-04 16:38:45 +02:00
Marcel Reichmuth 7260611e4e kernel: add nrsw specific kernel modules system-info and pcie
id:418230
2023-09-04 15:53:44 +02:00
Samuel Dolt bef2978876 nwl-image-fitimage: automatically add the fitimage as a CI artifact
The nwl-image-fitimage is now integrated with the coreos-image-ci classes
and automatically add the generated fitimage to the list of artifacts
that need to be published by the CI
2023-09-04 14:31:08 +02:00
Marcel Reichmuth 0df5643e08 legacy-bsp: Add kernel module board descriptor
id:418230
2023-08-31 15:45:22 +02:00
Samuel Dolt 7d0367f2e6 nwl-image.bbclass: keep default value of COREOS_IMAGE_GENERATE_
The serie of COREOS_IMAGE_GENERATE_ variable are now better
handled by coreos and their default value depends on
DISTRO_FEATURES or COMBINED_FEATURES. We don't need to disable
them manually anymore.
2023-08-30 14:56:43 +02:00
Samuel Dolt 0d2952d9e0 nwl-image.bbclass: add fitimage generation support 2023-08-30 14:55:33 +02:00
Samuel Dolt 0cd9abc5a8 vscode: copy settings from CoreOS 2023-08-30 14:51:35 +02:00
Alexandre Bard 479e3f0a11 nwl-tests: Remove dependencies to ethtool and usbutils
The latest versions don't need this tool anymore.

id:418214
2023-08-30 12:40:37 +02:00
Alexandre Bard 20d8db24e1 Add wifi for TI chips to kernel
id:418214
2023-08-23 11:58:04 +02:00
Alexandre Bard e9b125ab1e scripts/update-source-revisions: Print errors when devtool fails 2023-08-21 12:37:25 +02:00
Alexandre Bard 0f3c7caf26 distro/image-minimal: Add base tools
For the terminals to work properly and have some basic tools these
packages are necessary.

id:418214
2023-08-18 17:02:16 +02:00
Alexandre Bard 14bdae4345 nwl-tests: Use bats to run the tests
id:418214
2023-08-18 17:02:16 +02:00
Alexandre Bard 96f6f84524 scripts/update-source-revision: Add script to auto-update SRCREV
And a few changes to make it work properly.

id:418214
2023-08-18 10:54:56 +02:00
Samuel Dolt d457ad2c8b coreos: update to the head of the master branch 2023-08-17 14:51:58 +02:00
Alexandre Bard c31ccbcbbf image/ramdisk: Add kernel tests
id:418214
2023-08-16 16:21:56 +02:00
Alexandre Bard 9a4ce1d870 linux-nrsw: Use linux-yocto as a base
The are several advantages to use the yocto recipe as base:

- The checkout of the git repo is done differently: it makes the
  do_fetch task faster than it would be with the default behavior which
  is to clone the entire repository.

- It is possible to share part of the build process by defining the
  KMACHINE variable: All machines with the same KMACHINE value will
  share (at least part of) the build environment, speeding up compile
  time.

- It is possible to conditionally add configs through the
  KERNEL_FEATURES variable, without needing to rebuild from scratch when
  changing the features.

The new recipe also directly takes advantage of the KERNEL_FEATURES to
add support for init ram disks.

A another change happening with this commit is the kernel modules to
autoload being defined in a single file and (as the defconfig) depend on
the SOC_FAMILY variable (sitara or armada).

id:413752
2023-08-15 16:23:37 +02:00
Alexandre Bard a44233c1a7 legacy-bsp/conf/machine: Fix fitimage support for armada
UBOOT_MACHINE is required by the fitimage recipe.
SERIAL_CONSOLES is required to open the login console on the right
interfaces.

id:413752
2023-08-15 16:23:37 +02:00
Alexandre Bard 8f281e17e6 legacy-bsp/conf/machine: Fix sitara machine to boot ramdisk images
UBOOT_MACHINE is required by the fitimage recipe.
SERIAL_CONSOLES is required to open the login shell on the right
interfaces.

id:413752
2023-08-15 14:55:55 +02:00
Alexandre Bard afa2da3bd1 distro/images/ramdisk-minimal: Add systemd-config to handle watchdog
The watchdog is enabled by the NRSW u-boot so we need to handle it in
linux otherwise it restarts the system.

id:413752
2023-08-14 12:52:56 +02:00
Alexandre Bard bb082fbba6 distro/images/ramdisk-minimal: Add networkmanager
To easily configure and test the different network interfaces.

nss and gnutls packageconfigs are required to build it.

id:413752
2023-08-14 12:52:56 +02:00
Marcel Reichmuth 8f2f98d15b bsp: remove nrsw specific parts
id: 413750
2023-08-10 11:22:12 +02:00
Marcel Reichmuth df41099105 bsp: use only one full kernel config per architecture
id: 413750
2023-08-07 15:44:45 +02:00
102 changed files with 2214 additions and 661 deletions

4
.gitmodules vendored
View File

@ -2,3 +2,7 @@
path = coreos
url = ssh://git@bitbucket.gad.local:7999/ico/coreos.git
branch = master
[submodule "layers/meta-netmodule-wlan"]
path = external-layers/meta-netmodule-wlan
url = gitea@git.netmodule.intranet:nrsw-oe/meta-netmodule-wlan.git
branch = kirkstone

10
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,10 @@
{
"recommendations": [
"ms-vscode.makefile-tools",
"timonwong.shellcheck",
"eugenwiens.bitbake",
"kweihmann.oelint-vscode",
"lextudio.restructuredtext",
"trond-snekvik.simple-rst"
]
}

12
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,12 @@
{
"files.watcherExclude": {
"**/build/cache/**": true,
"**/build/downloads/**": true,
"**/build/sstate-cache/**": true,
"**/build/tmp/**": true,
"**/documentation/_build/**": true,
"**/build/workspace": true
},
"python.formatting.provider": "black",
"editor.rulers": [80,100,120]
}

2
coreos

@ -1 +1 @@
Subproject commit 0001e685fa10b312ed3ff244f1076f830a4cc65d
Subproject commit fd9b3e0a0ff210f95a384dc884dcf848adcc478f

@ -0,0 +1 @@
Subproject commit e14df2a2ec15acca43b3bd14f2b9df75c7933904

View File

@ -0,0 +1 @@
MACHINE_FEATURES += "nrsw-ready"

View File

@ -9,3 +9,11 @@ KERNEL_DEVICETREE = "\
am335x-nmhw24-prod1.dtb \
"
DEBUG_SERIAL_CONSOLE ?= "115200;ttyS1"
COMIO_SERIAL_CONSOLE ?= "115200;ttyS0"
SERIAL_CONSOLES = "${DEBUG_SERIAL_CONSOLE} ${COMIO_SERIAL_CONSOLE}"
MACHINE_FEATURES += " \
wifi \
ti-wifi \
"

View File

@ -1,3 +1,5 @@
require all-netmodule.inc
SOC_FAMILY = "armada"
require conf/machine/include/soc-family.inc
@ -8,11 +10,20 @@ KERNEL_IMAGETYPE = "zImage"
NM_TARGET = "netbolt"
NM_ARCH = "arm"
KMACHINE = "netmodule-armada"
INODE_SIZE = "1024"
DIR_INODE_SIZE = "1024"
FILE_INODE_SIZE = "0"
DISTRO_FEATURES:remove += "bluetooth bluez5"
WKS_FILE ?= "nm-armada-385-mmc.wks"
do_image_wic[depends] += "virtual/bootloader:do_deploy"
MACHINE_FEATURES:remove = "bluetooth"
PREFERRED_PROVIDER_virtual/kernel = "linux-nrsw"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-armada"
UBOOT_MACHINE = "${MACHINE}_defconfig"
UBOOT_ENTRYPOINT = "0x13000000"
UBOOT_LOADADDRESS = "${UBOOT_ENTRYPOINT}"

View File

@ -7,28 +7,35 @@
# xf86-video-modesetting \
# "
require all-netmodule.inc
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules kernel-devicetree"
NM_TARGET = "netbird"
NM_ARCH = "arm"
KMACHINE = "netmodule-sitara"
# EXTRA_IMAGEDEPENDS += "u-boot"
SOC_FAMILY = "sitara"
require conf/machine/include/soc-family.inc
DEFAULTTUNE ?= "cortexa8hf-neon"
include conf/machine/include/arm/armv7a/tune-cortexa8.inc
# IMAGE_FSTYPES += "tar.bz2 jffs2 wic wic.bmap"
# EXTRA_IMAGECMD_jffs2 = "-lnp "
# WKS_FILE ?= "beaglebone-yocto.wks"
# IMAGE_INSTALL_append = " kernel-devicetree kernel-image-zimage"
# do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
# SERIAL_CONSOLES = "115200;ttyO0"
# PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline"
# PREFERRED_VERSION_linux-yocto ?= "4.18%"
WKS_FILE ?= "nm-am335x-mmc.wks"
do_image_wic[depends] += "virtual/bootloader:do_deploy"
KERNEL_IMAGETYPE = "zImage"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti33x"
UBOOT_MACHINE = "${MACHINE}_defconfig"
# SPL_BINARY = "MLO"
UBOOT_SUFFIX = "img"
UBOOT_ENTRYPOINT = "0x80008000"

View File

@ -2,12 +2,14 @@
#@NAME: NRHW14 based routers like NB3800
#@DESCRIPTION: Machine configuration for the NBHW14 based routers http://netmodule.com/en/products/iot-routers
require conf/machine/include/armada.inc
require include/armada.inc
NRHW = "14"
NM_MODELS = "3701 3711 3800"
MAX_FS_SIZE = "279542"
UBOOT_MACHINE = "armada-385-hw14_defconfig"
# U-Boot reads actual DTB file name from board descriptor, see:
# printenv fdt_image
KERNEL_DEVICETREE = "\
@ -15,3 +17,6 @@ KERNEL_DEVICETREE = "\
openwrt-nbhw14-sgmii.dtb \
"
# May be an external console on some devices
DEBUG_SERIAL_CONSOLE ?= "115200;ttyS0"
SERIAL_CONSOLES = "${DEBUG_SERIAL_CONSOLE}"

View File

@ -2,11 +2,12 @@
#@NAME: NRHW16 based routers like NB800
#@DESCRIPTION: Machine configuration for the NBHW16 based routers http://netmodule.com/en/products/iot-routers
require conf/machine/include/ti33x.inc
require include/ti33x.inc
NRHW = "16"
NM_MODELS = "800"
# WARNING: This file needs to be kept in sync with HW24. Therefor use the common include:
require conf/machine/include/am335x-nrhw16-nrhw24.inc
require include/am335x-nrhw16-nrhw24.inc
UBOOT_MACHINE = "am335x_nbhw16_defconfig"

View File

@ -2,14 +2,21 @@
#@NAME: NRHW14 based routers like NB2800
#@DESCRIPTION: Machine configuration for the NBHW17 based routers http://netmodule.com/en/products/iot-routers
require conf/machine/include/armada.inc
require include/armada.inc
NRHW = "17"
NM_MODELS = "2800 2810"
MAX_FS_SIZE = "279542"
UBOOT_MACHINE = "armada-385-hw17_defconfig"
# U-Boot reads actual DTB file name from board descriptor, see:
# printenv fdt_image
KERNEL_DEVICETREE = "openwrt-nbhw17.dtb"
UBOOT_MACHINE = "netmodule-hw17"
EXT_SERIAL_CONSOLE ?= "115200;ttyS1"
SERIAL_CONSOLES = "${EXT_SERIAL_CONSOLE}"
MACHINE_FEATURES += " \
fpga \
"

View File

@ -2,12 +2,14 @@
#@NAME: NRHW18 based routers like NB1800
#@DESCRIPTION: Machine configuration for the NBHW18 based routers http://netmodule.com/en/products/iot-routers
require conf/machine/include/armada.inc
require include/armada.inc
NRHW = "18"
NM_MODELS = "1800 1810"
MAX_FS_SIZE = "279542"
UBOOT_MACHINE = "armada-385-hw18_defconfig"
# U-Boot reads actual DTB file name from board descriptor, see:
# printenv fdt_image
KERNEL_DEVICETREE = " \
@ -15,3 +17,10 @@ KERNEL_DEVICETREE = " \
armada-385-nbhw18-prod1.dtb \
"
DEBUG_SERIAL_CONSOLE ?= "115200;ttyS0"
EXT_SERIAL_CONSOLE ?= "115200;ttyS1"
SERIAL_CONSOLES = "${EXT_SERIAL_CONSOLE} ${DEBUG_SERIAL_CONSOLE}"
MACHINE_FEATURES += " \
fpga \
"

View File

@ -2,15 +2,23 @@
#@NAME: NRHW16 based routers like NB800
#@DESCRIPTION: Machine configuration for the NBHW16 based routers http://netmodule.com/en/products/iot-routers
require conf/machine/include/ti33x.inc
require include/ti33x.inc
NRHW = "20"
NM_MODELS = "1601 B-1601"
MAX_FS_SIZE = "279542"
UBOOT_MACHINE = "am335x_nrhw20_defconfig"
KERNEL_DEVICETREE = "\
am335x-nrhw20-prod1.dtb \
"
UBOOT_MACHINE = "netmodule-hw20"
SERIAL_CONSOLE = "115200;ttyS1"
EXT_SERIAL_CONSOLE ?= "115200;ttyS1"
COMIO_SERIAL_CONSOLE ?= "115200;ttyS0"
SERIAL_CONSOLES = "${EXT_SERIAL_CONSOLE} ${COMIO_SERIAL_CONSOLE}"
MACHINE_FEATURES += " \
wifi \
ti-wifi \
"

View File

@ -2,12 +2,22 @@
#@NAME: NRHW22 based routers like NB650 / Phoenix Timeserver
#@DESCRIPTION: Machine configuration for the NBHW22 based routers http://netmodule.com/en/products/iot-routers
require conf/machine/include/ti33x.inc
require include/ti33x.inc
NRHW = "22"
NM_MODELS = "650"
MAX_FS_SIZE = "279542"
UBOOT_MACHINE = "am335x_nrhw22_defconfig"
KERNEL_DEVICETREE = "\
am335x-nrhw22-prod1.dtb \
"
DEBUG_SERIAL_CONSOLE ?= "115200;ttyS0"
SERIAL_CONSOLES = "${DEBUG_SERIAL_CONSOLE}"
MACHINE_FEATURES += " \
wifi \
ti-wifi \
"

View File

@ -2,12 +2,13 @@
#@NAME: NRHW24 based routers like NB800 facelift / NB800mk2 (or however you like to call it)
#@DESCRIPTION: Machine configuration for the NBHW24 based routers http://netmodule.com/en/products/iot-routers
require conf/machine/include/ti33x.inc
require include/ti33x.inc
NRHW = "24"
NM_MODELS = "B-800"
# WARNING: This file needs to be kept in sync with HW24. Therefor use the common include:
require conf/machine/include/am335x-nrhw16-nrhw24.inc
UBOOT_MACHINE = "am335x_nrhw24_defconfig"
# WARNING: This file needs to be kept in sync with HW24. Therefor use the common include:
require include/am335x-nrhw16-nrhw24.inc
UBOOT_MACHINE = "netmodule-hw24"

View File

@ -2,13 +2,24 @@
#@NAME: NRHW25 based routers like TC-Router
#@DESCRIPTION: Machine configuration for the NBHW24 based routers http://netmodule.com/en/products/iot-routers
require conf/machine/include/ti33x.inc
require include/ti33x.inc
NRHW = "25"
NM_MODELS ?= "660 670"
MAX_FS_SIZE = "279542"
UBOOT_MACHINE = "am335x_hw25_defconfig"
KERNEL_DEVICETREE = "\
am335x-hw25-prod1.dtb \
"
# ext serial only on Sc models
EXT_SERIAL_CONSOLE ?= "115200;ttyS5"
DEBUG_SERIAL_CONSOLE ?= "115200;ttyS0"
SERIAL_CONSOLES = "${EXT_SERIAL_CONSOLE} ${DEBUG_SERIAL_CONSOLE}"
MACHINE_FEATURES += " \
wifi \
ti-wifi \
"

View File

@ -2,14 +2,24 @@
#@NAME: HW26 based routers like NG800
#@DESCRIPTION: Machine configuration for the HW26 based routers http://netmodule.com/en/products/iot-routers
require conf/machine/include/ti33x.inc
require include/ti33x.inc
NRHW = "26"
NM_MODELS = "G-800"
MAX_FS_SIZE = "279542"
# HW26 is based on HW21, the boot config is the same
UBOOT_MACHINE = "am335x_nmhw21_defconfig"
KERNEL_DEVICETREE = "\
am335x-hw26-prod1.dtb \
"
UBOOT_MACHINE = "netmodule-hw26"
EXT_SERIAL_CONSOLE ?= "115200;ttyS2"
SERIAL_CONSOLES = "${EXT_SERIAL_CONSOLE}"
MACHINE_FEATURES += " \
wifi \
ti-wifi \
"

View File

@ -0,0 +1,60 @@
diff --git a/license_info.c b/license_info.c
index 5e56753..d88d590 100644
--- a/license_info.c
+++ b/license_info.c
@@ -32,8 +32,53 @@
#include "license_info.h"
#include "bigdigits.h"
-#include <license-key.h>
-#include <bofh-key.h>
+#ifndef _LICENSE_KEY_H
+#define _LICENSE_KEY_H
+
+#define HMAC_KEY_SIZE 20
+#define SHA1_DIGEST_SIZE 20
+#define MOD_LENGTH 1536
+
+/* RSA public key */
+
+static
+unsigned char rsa1536E[MOD_LENGTH/8] =
+{
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01,
+} ;
+
+static
+unsigned char rsa1536N[MOD_LENGTH/8] =
+{
+ 0xA1, 0xFD, 0x5A, 0xC5, 0x77, 0xB8, 0xCC, 0x20, 0xFC, 0x80, 0xC2, 0xF0, 0xBD, 0x6F, 0x6F, 0x4A,
+ 0xEC, 0x70, 0xEE, 0x18, 0xBD, 0x6C, 0x07, 0xBB, 0xD6, 0x57, 0xE2, 0xE7, 0x3F, 0x2D, 0x51, 0x6D,
+ 0x9B, 0x76, 0xD7, 0x93, 0xCC, 0x1B, 0x7B, 0x38, 0x2F, 0x10, 0xEC, 0xAD, 0x3A, 0x79, 0x0C, 0xC6,
+ 0x74, 0x76, 0x93, 0x13, 0x6A, 0x20, 0xD9, 0xEB, 0x5B, 0x3C, 0x47, 0xB7, 0xCA, 0xAA, 0xFF, 0x7B,
+ 0x7F, 0x5A, 0x7D, 0xEE, 0xA3, 0x0B, 0xA0, 0x57, 0xB4, 0xB8, 0x77, 0xE9, 0xAD, 0x6D, 0xE8, 0xF7,
+ 0xF8, 0x2F, 0xE7, 0x49, 0xE5, 0x17, 0xBB, 0x7D, 0x5A, 0x6D, 0xF2, 0xD8, 0x1B, 0x01, 0x51, 0xB1,
+ 0x63, 0x48, 0xC1, 0x9E, 0x74, 0xE6, 0x64, 0xB1, 0x9C, 0xC9, 0xFC, 0x75, 0x73, 0x9F, 0x61, 0x89,
+ 0xE1, 0x10, 0x88, 0xFF, 0x90, 0x53, 0xE6, 0x4A, 0x41, 0x63, 0x01, 0x60, 0x2F, 0x85, 0x93, 0xAC,
+ 0x1A, 0x68, 0xAA, 0x8D, 0xBD, 0x31, 0x70, 0xF7, 0x48, 0x5B, 0xFF, 0x44, 0xC9, 0x63, 0xDC, 0xE4,
+ 0x25, 0x5E, 0xBA, 0xD5, 0x3E, 0x11, 0x55, 0xF4, 0x41, 0x58, 0xCF, 0xB3, 0x8A, 0x7A, 0x2B, 0xC3,
+ 0xA7, 0x07, 0x47, 0xAA, 0x88, 0x44, 0x18, 0x5C, 0x8B, 0x88, 0x64, 0x39, 0x07, 0xC4, 0xD1, 0x82,
+ 0x62, 0xA7, 0xDB, 0x9A, 0x53, 0x4D, 0xB9, 0x36, 0x69, 0x72, 0x01, 0x75, 0x88, 0x40, 0xD5, 0xF5,
+} ;
+
+static char checksumKey[HMAC_KEY_SIZE] = {0x17, 0x5e, 0x73, 0x42, 0xb9, 0xae, 0x11, 0xcd, 0x91, 0xa3,
+ 0x9a, 0xf4, 0x8c, 0xa1, 0x7b, 0x4f, 0x63, 0xf1, 0x75, 0xd3};
+
+#endif
/*--- defines ----------------------------------------------------------------*/

View File

@ -0,0 +1,27 @@
HOMEPAGE = "http://www.netmodule.com"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://git.netmodule.intranet/NRSW/board-descriptor.git;protocol=ssh;user=gitea;branch=master \
file://0001-license-key.patch \
"
PV = "1.0+git${SRCPV}"
SRCREV="75b608d47b1c98cb66caf9a5d5a82b27990d8bbf"
S = "${WORKDIR}/git"
DEPENDS = "virtual/kernel"
inherit module
do_install:append() {
install -d ${D}/usr/include/board-descriptor/linux/
install -m 0755 ${S}/board_descriptor.h ${D}/usr/include/board-descriptor/linux/
install -m 0755 ${S}/bdparser.h ${D}/usr/include/board-descriptor/linux/
}
EXTRA_OEMAKE:append:task-install = " -C ${STAGING_KERNEL_DIR} M=${S}"
KERNEL_MODULE_AUTOLOAD += " board-descriptor "

View File

@ -0,0 +1,22 @@
HOMEPAGE = "http://www.netmodule.com"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://git.netmodule.intranet/NRSW/netbox_pcie.git;protocol=ssh;user=gitea;branch=master \
"
PV = "1.0+git${SRCPV}"
SRCREV = "b479888720835ae1a03c78531e08ff5f70e26b50"
S = "${WORKDIR}/git"
DEPENDS = "virtual/kernel kernel-module-board-descriptor"
inherit module
KERNEL_CC:append = " -I${STAGING_DIR_TARGET}/usr/include/board-descriptor"
EXTRA_OEMAKE:append:task-install = " -C ${STAGING_KERNEL_DIR} M=${S}"
KERNEL_MODULE_AUTOLOAD += " pcie "

View File

@ -0,0 +1,35 @@
diff --git a/netbox_system_info.c b/netbox_system_info.c
index e6bf81e..823479b 100644
--- a/netbox_system_info.c
+++ b/netbox_system_info.c
@@ -26,7 +26,11 @@
#include <linux/mmc/sdio_func.h>
#include <net/rtnetlink.h>
#include <asm/byteorder.h>
-#include <nbsw.h>
+#define NBSW_VERSION_MAJOR 0
+#define NBSW_VERSION_MINOR 0
+#define NBSW_VERSION_PATCH 0
+#define NBSW_VERSION_BUILD 0
+#define NBSW_VERSION_DATE "20230101000000"
#include <linux/board_descriptor.h>
#include <linux/bdparser.h>
#include <linux/version.h>
diff --git a/netmodule_system_init.c b/netmodule_system_init.c
index dbf3c8b..1fa531b 100755
--- a/netmodule_system_init.c
+++ b/netmodule_system_init.c
@@ -14,7 +14,12 @@
#include <linux/of_device.h>
#include <linux/i2c.h>
#include <linux/board_descriptor.h>
-#include <bd-key.h>
+#ifndef _BD_KEY_H
+#define _BD_KEY_H
+
+static const unsigned char BD_KEY[] = { 0xa1, 0x73, 0x17, 0x9a, 0x5e, 0xf4, 0x42, 0xb9, 0xae, 0x8c,
+ 0xa3, 0xcd, 0x75, 0x63, 0xd3, 0x91, 0x4f, 0x11, 0xf1, 0x7b};
+#endif
#include <misc/nrsw-global.h>
#include "netbox_system_info.h"

View File

@ -0,0 +1,514 @@
diff --git a/netbox-sim.c b/netbox-sim.c
index 3c4eefd..2eb34ee 100644
--- a/netbox-sim.c
+++ b/netbox-sim.c
@@ -579,7 +579,6 @@ int netbox_sim_init (void)
major = 235;
switch (NBHW) {
-#ifdef NBSW_TARGET_netbolt_arm
case 14 :
hwops = &netbox_sim14_ops;
break;
@@ -589,7 +588,6 @@ int netbox_sim_init (void)
case 18 :
hwops = &netbox_sim17_ops;
break;
-#elif defined(NBSW_TARGET_netbird_arm)
case 16 :
hwops = &netbox_sim16_ops;
break;
@@ -605,7 +603,6 @@ int netbox_sim_init (void)
case 26 :
hwops = &netbox_sim26_ops;
break;
-#endif
default :
SIM_LOG(KERN_ERR, "netbox_sim_init: Hardware not supported");
return -1;
diff --git a/netbox-sim.h b/netbox-sim.h
index 336234f..2585ec8 100644
--- a/netbox-sim.h
+++ b/netbox-sim.h
@@ -11,8 +11,6 @@
#ifndef _NETBOX_SIM_H
#define _NETBOX_SIM_H
-#include <nbsw.h>
-
#define SIM_LOG(level, format, arg...) printk(level "sim: " format "\n", ##arg)
#define MAX_SIMS 14
@@ -54,18 +52,13 @@ extern int netbox_sim_init (void);
extern void netbox_sim_uninit (void);
extern void netbox_sim_changed (int dindex, int inserted);
-#ifdef NBSW_TARGET_netbolt_arm
extern struct sim_ops netbox_sim14_ops;
extern struct sim_ops netbox_sim17_ops;
-#endif
-
-#ifdef NBSW_TARGET_netbird_arm
extern struct sim_ops netbox_sim16_ops;
extern struct sim_ops netbox_sim20_ops;
extern struct sim_ops netbox_sim24_ops;
extern struct sim_ops netbox_sim25_ops;
extern struct sim_ops netbox_sim26_ops;
-#endif
#endif /* _NETBOX_SIM_H */
diff --git a/netbox-sim14.c b/netbox-sim14.c
index b00d010..e8c0f03 100644
--- a/netbox-sim14.c
+++ b/netbox-sim14.c
@@ -17,22 +17,17 @@
#include <linux/module.h>
#include <linux/timer.h>
#include <linux/device.h>
-#include <nbsw.h>
#include <linux/board_descriptor.h>
#include "netbox-sim.h"
#include "netbox_system_info.h"
-#if defined(NBSW_TARGET_netbolt_arm)
-
/**********************************************************************/
#include <asm/io.h>
-#if defined(NBSW_TARGET_netbolt_arm)
#define FPGA_BASE_ADDRESS 0xFD000000
#define EXT_IRQ_PIN 24
#include <linux/gpio.h>
-#endif
#define FPGA_BASE_SIZE 131072
#define FPGA_IDENTIFICATION 0x0000
@@ -486,4 +481,3 @@ struct sim_ops netbox_sim14_ops = {
};
EXPORT_SYMBOL(netbox_sim14_ops);
-#endif
diff --git a/netbox-sim16.c b/netbox-sim16.c
index 9120e9a..d40eb94 100644
--- a/netbox-sim16.c
+++ b/netbox-sim16.c
@@ -16,8 +16,6 @@
#include <linux/gpio.h>
#include "netbox-sim.h"
-#ifdef NBSW_TARGET_netbird_arm
-
#define DEBUG 0
/**********************************************************************/
@@ -108,4 +106,3 @@ struct sim_ops netbox_sim16_ops = {
};
EXPORT_SYMBOL(netbox_sim16_ops);
-#endif /* NBSW_TARGET_netbird_arm */
diff --git a/netbox-sim17.c b/netbox-sim17.c
index 8711390..5e70391 100644
--- a/netbox-sim17.c
+++ b/netbox-sim17.c
@@ -17,12 +17,9 @@
#include <linux/module.h>
#include <linux/timer.h>
#include <linux/device.h>
-#include <nbsw.h>
#include <misc/nrsw-global.h>
#include "netbox-sim.h"
-#if defined(NBSW_TARGET_netbolt_arm)
-
/**********************************************************************/
#include <asm/io.h>
@@ -325,4 +322,3 @@ struct sim_ops netbox_sim17_ops = {
};
EXPORT_SYMBOL(netbox_sim17_ops);
-#endif
diff --git a/netbox-sim20.c b/netbox-sim20.c
index d0c4ea3..4e52197 100644
--- a/netbox-sim20.c
+++ b/netbox-sim20.c
@@ -16,8 +16,6 @@
#include <linux/gpio.h>
#include "netbox-sim.h"
-#ifdef NBSW_TARGET_netbird_arm
-
#define DEBUG 0
/**********************************************************************/
@@ -138,4 +136,3 @@ struct sim_ops netbox_sim20_ops = {
};
EXPORT_SYMBOL(netbox_sim20_ops);
-#endif /* NBSW_TARGET_netbird_arm */
diff --git a/netbox-sim24.c b/netbox-sim24.c
index f5e20bf..1601a9f 100644
--- a/netbox-sim24.c
+++ b/netbox-sim24.c
@@ -16,8 +16,6 @@
#include <linux/gpio.h>
#include "netbox-sim.h"
-#ifdef NBSW_TARGET_netbird_arm
-
#define DEBUG 0
/**********************************************************************/
@@ -139,4 +137,3 @@ struct sim_ops netbox_sim24_ops = {
};
EXPORT_SYMBOL(netbox_sim24_ops);
-#endif /* NBSW_TARGET_netbird_arm */
diff --git a/netbox-sim25.c b/netbox-sim25.c
index 05370f8..5b16de5 100644
--- a/netbox-sim25.c
+++ b/netbox-sim25.c
@@ -16,8 +16,6 @@
#include <linux/gpio.h>
#include "netbox-sim.h"
-#ifdef NBSW_TARGET_netbird_arm
-
#define DEBUG 0
/**********************************************************************/
@@ -139,4 +137,3 @@ struct sim_ops netbox_sim25_ops = {
};
EXPORT_SYMBOL(netbox_sim25_ops);
-#endif /* NBSW_TARGET_netbird_arm */
diff --git a/netbox-sim26.c b/netbox-sim26.c
index 050c8e5..cd53d45 100644
--- a/netbox-sim26.c
+++ b/netbox-sim26.c
@@ -16,8 +16,6 @@
#include <linux/gpio.h>
#include "netbox-sim.h"
-#ifdef NBSW_TARGET_netbird_arm
-
#define DEBUG 0
/**********************************************************************/
@@ -140,4 +138,3 @@ struct sim_ops netbox_sim26_ops = {
};
EXPORT_SYMBOL(netbox_sim26_ops);
-#endif /* NBSW_TARGET_netbird_arm */
diff --git a/netbox_system_info.c b/netbox_system_info.c
index e6bf81e..1f7ee01 100644
--- a/netbox_system_info.c
+++ b/netbox_system_info.c
@@ -35,7 +35,7 @@
#include "netbox-sim.h"
#include "../../../drivers/net/wireless/ath/ath9k/ath9k.h"
-#if defined(NBSW_TARGET_netbolt_arm)
+#if defined(CONFIG_ARCH_MVEBU)
extern int mvebu_get_soc_id(u32 *dev, u32 *rev);
#endif
@@ -1197,7 +1197,6 @@ static netbox_dev_t netbox_c_can_dev = {
.gnss_type = 0
};
-#if defined(NBSW_TARGET_netbird_arm)
static netbox_dev_t netbox_uart_gnss_dev = {
/* c_can (CAN) */
.idVendor = 0x00,
@@ -1230,7 +1229,6 @@ static netbox_dev_t netbox_uart_gnss_hw22_dev = {
.gnss_type = GNSS_TYPE_GPS | GNSS_TYPE_GLONASS | GNSS_TYPE_GALILEO |
GNSS_TYPE_QZSS
};
-#endif
static netbox_dev_t * netbox_lookup_dev (uint16_t idVendor, uint16_t idProduct,
const char *product, const char *serial)
@@ -1334,7 +1332,7 @@ static int starts_with (const char* usb_id, const char* prefix)
/*-------------------------------------------------------------------------*/
-#if defined(NBSW_TARGET_netbird_arm)
+#if defined(CONFIG_SOC_AM33XX)
static int nr_usb_controllers (void)
{
static int nr = 0;
@@ -1359,7 +1357,7 @@ static int nr_usb_controllers (void)
int pcie_slot_number_from_usb_id (const char* usb_id)
{
switch (NBHW) {
-#if defined(NBSW_TARGET_netbolt_arm)
+#if defined(CONFIG_SOC_AM33XX)
case 14 :
if ((NBMCver<5) || ((NBMCver==5) && (NBMCrel<=1))) {
/* MC board < 5.2 */
@@ -1427,9 +1425,9 @@ int pcie_slot_number_from_usb_id (const char* usb_id)
} else if (starts_with(usb_id, "1-1.4")) {
return 4;
}
-
break;
-#elif defined(NBSW_TARGET_netbird_arm)
+#endif /* CONFIG_ARCH_MVEBU */
+#if defined(CONFIG_SOC_AM33XX)
case 16 :
if (nr_usb_controllers() == 2) {
/* modems are connected to 2nd USB controller if present */
@@ -1452,7 +1450,7 @@ int pcie_slot_number_from_usb_id (const char* usb_id)
case 26 :
if (starts_with(usb_id, "2-1")) return 0;
break;
-#endif
+#endif /* CONFIG_SOC_AM33XX */
default :
break;
}
@@ -1460,7 +1458,7 @@ int pcie_slot_number_from_usb_id (const char* usb_id)
}
EXPORT_SYMBOL(pcie_slot_number_from_usb_id);
-#if defined(NBSW_TARGET_netbolt_arm)
+#if defined(CONFIG_ARCH_MVEBU)
static int get_pex2_slot(void) {
/* Determine based on the FPGA PCIe mux config to which slot PEX2 is routed */
@@ -1494,7 +1492,7 @@ int pcie_slot_number_from_pdev (struct pci_dev *pdev)
if (!pdev) return -1;
-#if defined(NBSW_TARGET_netbolt_arm)
+#if defined(CONFIG_ARCH_MVEBU)
switch (NBHW) {
case 14 :
if (NBMCver >= 4) {
@@ -1525,7 +1523,7 @@ int pcie_slot_number_from_pdev (struct pci_dev *pdev)
default:
break;
}
-#endif
+#endif /* CONFIG_ARCH_MVEBU */
return slot;
}
@@ -1789,7 +1787,7 @@ static void free_usb_devices (void)
/*-------------------------------------------------------------------------*/
-#if defined(NBSW_TARGET_netbolt_arm)
+#if defined(CONFIG_ARCH_MVEBU)
static int add_pci_device (struct pci_dev * pdev, void * user_data)
{
@@ -1816,7 +1814,9 @@ static void find_pci_devices (void)
pci_probed = 1;
}
-#else
+#endif
+
+#if defined(CONFIG_SOC_AM33XX)
static void find_pci_devices (void)
{
@@ -1836,7 +1836,7 @@ int sdio_slot_number_from_func (struct sdio_func *func)
{
int slot = -1;
-#ifdef NBSW_TARGET_netbird_arm
+#if defined(CONFIG_SOC_AM33XX)
switch (NBHW) {
case 16:
case 20:
@@ -1852,7 +1852,7 @@ int sdio_slot_number_from_func (struct sdio_func *func)
return slot;
}
-#if defined(NBSW_TARGET_netbird_arm)
+#if defined(CONFIG_SOC_AM33XX)
static int add_sdio_device (struct sdio_func *func)
{
return add_device_list(&sdio_devices, func->vendor, func->device, sdio_slot_number_from_func(func), NULL);
@@ -2682,7 +2682,7 @@ static void check_buses (void)
netbox_dev_t *nbdev;
tmpdev_t *d;
-#if defined(NBSW_TARGET_netbird_arm)
+#if defined(CONFIG_SOC_AM33XX)
uint16_t shield;
int res;
#endif
@@ -2780,7 +2780,7 @@ static void check_buses (void)
add_can_interface(nbdev, d->slot, d->bus, d->hwinfo);
}
-#if defined(NBSW_TARGET_netbird_arm)
+#if defined(CONFIG_SOC_AM33XX)
if ((NBHW==20) || /* NBHW20 has a built in GNSS on slot 2 */
(NBHW==22) || /* NBHW22 has a built in GNSS on slot 0 */
(NBHW==24) || /* NBHW24 has a built in GNSS on slot 2 */
@@ -2842,7 +2842,7 @@ unlock:
#define BLMAGIC_START 0x424C5354
#define BLMAGIC_END 0x424C454E
-#if defined(NBSW_TARGET_netbolt_arm)
+#if defined(CONFIG_ARCH_MVEBU)
static int read_uboot_version_from_part(const char* path)
{
struct file *f;
@@ -2917,7 +2917,7 @@ static int armada_read_mmc_uboot_version (void)
return rc;
}
-#elif defined(NBSW_TARGET_netbird_arm)
+#elif defined(CONFIG_SOC_AM33XX)
static const char* get_sitara_boot_device(void)
{
@@ -5047,7 +5047,13 @@ static const struct proc_ops proc_release_version_fops = {
static int proc_nbsw_profile_show (struct seq_file *seq, void *v)
{
- seq_printf(seq, "%s\n", NBSW_PROFILE);
+#if defined(CONFIG_ARCH_MVEBU)
+ seq_printf(seq, "%s\n", "NETBOLT");
+#elif defined(CONFIG_SOC_AM33XX)
+ seq_printf(seq, "%s\n", "NETBIRD");
+#else
+#error "unknown target"
+#endif
return 0;
}
@@ -5104,7 +5110,7 @@ static const struct proc_ops proc_release_date_fops = {
/*-------------------------------------------------------------------------*/
-#ifdef NBSW_TARGET_netbird_arm
+#if defined(CONFIG_SOC_AM33XX)
static int sitara_read_spl_version_from_location(const int location, char* version, int version_length)
{
@@ -5168,10 +5174,6 @@ static int proc_spl_version_show (struct seq_file *seq, void *v)
return 0;
}
-#endif
-
-#if defined(NBSW_TARGET_netbird_arm)
-
static int proc_spl_version_open (struct inode *inode, struct file *file)
{
return single_open(file, proc_spl_version_show, PDE_DATA(inode));
@@ -5193,15 +5195,15 @@ static const struct proc_ops proc_spl_version_fops = {
.proc_release = single_release,
};
#endif
-#endif /* NBSW_TARGET_netbird_arm */
+#endif /* CONFIG_SOC_AM33XX */
/*-------------------------------------------------------------------------*/
static int proc_uboot_version_show (struct seq_file *seq, void *v)
{
-#if defined(NBSW_TARGET_netbolt_arm)
+#if defined(CONFIG_ARCH_MVEBU)
armada_read_mmc_uboot_version();
-#elif defined(NBSW_TARGET_netbird_arm)
+#elif defined(CONFIG_SOC_AM33XX)
sitara_read_mmc_uboot_version();
#endif
if (uboot_version != 0xFFFFFFFF) {
@@ -5241,7 +5243,7 @@ static const struct proc_ops proc_uboot_version_fops = {
static int proc_cpuinfo_show (struct seq_file *seq, void *v)
{
-#if defined(NBSW_TARGET_netbolt_arm)
+#if defined(CONFIG_ARCH_MVEBU)
{
u32 dev, rev;
char* rev_str;
@@ -5266,7 +5268,7 @@ static int proc_cpuinfo_show (struct seq_file *seq, void *v)
}
seq_printf(seq, "MV%4.4X Rev %s (0x%2.2x)\n", dev, rev_str, rev);
}
-#elif defined(NBSW_TARGET_netbird_arm)
+#elif defined(CONFIG_SOC_AM33XX)
{
void* iomap;
unsigned int device_id, rev, part, mfgr;
@@ -5509,7 +5511,7 @@ static void usbport_probe (struct usb_device *hdev, int port)
if (usbports_probed) return;
switch (NBHW) {
-#ifdef NBSW_TARGET_netbolt_arm
+#if defined(CONFIG_ARCH_MVEBU)
case 14 :
if (NBMCver == 0) {
/* happens early, check if MC version has been provided on cmdline */
@@ -5566,7 +5568,8 @@ static void usbport_probe (struct usb_device *hdev, int port)
if (usbports[0]) probed++;
}
break;
-#elif defined(NBSW_TARGET_netbird_arm)
+#endif /* CONFIG_ARCH_MVEBU */
+#if defined(CONFIG_SOC_AM33XX)
case 16 :
case 24 :
case 25 :
@@ -5586,7 +5589,7 @@ static void usbport_probe (struct usb_device *hdev, int port)
if (usbports[0]) probed = MAX_NUMBER_OF_USBPORTS;
}
break;
-#endif
+#endif /* CONFIG_SOC_AM33XX */
default:
break;
}
@@ -5898,7 +5901,6 @@ int netbox_system_info_prepare (void)
if (NRSW_SYSTEM_INFO_DIR) return 0;
-#ifdef NBSW_TARGET_netbolt_arm
switch (NBHW) {
case 14 :
MAX_NUMBER_OF_WWAN_INTERFACES = 6;
@@ -5929,11 +5931,6 @@ int netbox_system_info_prepare (void)
MAX_NUMBER_OF_CAN_INTERFACES = 4;
MAX_NUMBER_OF_UART_INTERFACES = 2;
break;
- default :
- break;
- }
-#elif defined(NBSW_TARGET_netbird_arm)
- switch (NBHW) {
case 16 :
MAX_NUMBER_OF_WWAN_INTERFACES = 1;
MAX_NUMBER_OF_WLAN_INTERFACES = 1;
@@ -5988,7 +5985,7 @@ int netbox_system_info_prepare (void)
default :
break;
}
-#endif
+
NRSW_SYSTEM_INFO_DIR = proc_mkdir("sysinfo", NULL);
if (!NRSW_SYSTEM_INFO_DIR) return -1;
@@ -6104,9 +6101,9 @@ int netbox_system_info_prepare (void)
proc_create_data(SI_RELEASE_VERSION, S_IRUGO, dir, &proc_release_version_fops, (void *) 0);
proc_create_data(SI_NBSW_PROFILE, S_IRUGO, dir, &proc_nbsw_profile_fops, (void *) 0);
proc_create_data(SI_RELEASE_DATE, S_IRUGO, dir, &proc_release_date_fops, (void *) 0);
-#if defined(NBSW_TARGET_netbird_arm)
+#if defined(CONFIG_SOC_AM33XX)
proc_create_data(SI_SPL_VERSION, S_IRUGO, dir, &proc_spl_version_fops, (void *) 0);
-#endif /* NBSW_TARGET_netbird_arm */
+#endif /* CONFIG_SOC_AM33XX */
proc_create_data(SI_UBOOT_VERSION, S_IRUGO, dir, &proc_uboot_version_fops, (void *) 0);
proc_create_data(SI_CPU_INFO, S_IRUGO, dir, &proc_cpuinfo_fops, (void *) 0);
proc_create_data(SI_MODULES_PROBED, S_IRUGO, dir, &proc_modules_probed_fops, (void *) 0);

View File

@ -0,0 +1,28 @@
HOMEPAGE = "http://www.netmodule.com"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://git.netmodule.intranet/NRSW/system-info.git;protocol=ssh;user=gitea;branch=master \
file://0001-dummy-version-info-and-bd-key.patch \
"
PV = "1.0+git${SRCPV}"
SRCREV = "9ac224b6411758ec399518b0781659f1d8b7beb7"
S = "${WORKDIR}/git"
DEPENDS = "virtual/kernel kernel-module-board-descriptor kernel-module-pcie"
inherit module
KERNEL_CC:append = " -I${STAGING_DIR_TARGET}/usr/include/board-descriptor"
do_install:append() {
install -d ${D}/usr/include/system-info/linux/
install -m 0755 ${S}/netbox_system_info.h ${D}/usr/include/system-info/linux/
}
EXTRA_OEMAKE:append:task-install = " -C ${STAGING_KERNEL_DIR} M=${S}"
KERNEL_MODULE_AUTOLOAD += " system-info "

View File

@ -0,0 +1,26 @@
DESCRIPTION = "Fpga images"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
inherit deploy
COMPATIBLE_MACHINE = "(netmodule-hw17|netmodule-hw18)"
SRC_URI = "file://LG00000000"
PACKAGE_ARCH = "${MACHINE_ARCH}"
PV = "1.0.0"
do_install () {
install -d ${D}/logic
install -m 0644 ${WORKDIR}/LG00000000 ${D}/logic/
}
do_deploy () {
cp ${WORKDIR}/LG00000000 ${DEPLOYDIR}/fpga-image-${MACHINE}
}
FILES:${PN} += "/logic/LG00000000"
addtask deploy before do_build after do_compile

View File

@ -0,0 +1,44 @@
From 52c3ac31426131c555093542d51f1e6e0623507c Mon Sep 17 00:00:00 2001
From: Marc Mattmueller <marc.mattmueller@netmodule.com>
Date: Mon, 18 Jul 2022 19:26:59 +0200
Subject: [PATCH] u-boot-armada: Remove redundant YYLOC global declaration
Same as the upstream fix for building dtc with gcc 10.
After having consulted the team, this patch is only applied to
the armada bootloader as this one is used on the core os
environment build-up.
Signed-off-by: Marc Mattmueller <marc.mattmueller@netmodule.com>
---
scripts/dtc/dtc-lexer.l | 1 -
scripts/dtc/dtc-lexer.lex.c_shipped | 1 -
2 files changed, 2 deletions(-)
diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
index fd825ebba6..24af549977 100644
--- a/scripts/dtc/dtc-lexer.l
+++ b/scripts/dtc/dtc-lexer.l
@@ -38,7 +38,6 @@ LINECOMMENT "//".*\n
#include "srcpos.h"
#include "dtc-parser.tab.h"
-YYLTYPE yylloc;
extern bool treesource_error;
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped
index 3934d8624d..22f6e0d1f8 100644
--- a/scripts/dtc/dtc-lexer.lex.c_shipped
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped
@@ -639,7 +639,6 @@ char *yytext;
#include "srcpos.h"
#include "dtc-parser.tab.h"
-YYLTYPE yylloc;
extern bool treesource_error;
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
--
2.20.1

View File

@ -0,0 +1,27 @@
require u-boot-nm.inc
SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot.git;protocol=ssh;user=gitea;branch=nrsw-armada-2017.11 \
file://0001-remove-redundant-YYLOC-declaration.patch;name=yylloc \
"
SRC_URI[yylloc.md5sum] = "504cb5b73a174a32e55c58f60608925d"
DEPENDS += "bc-native"
SRCREV = "2fe363eb69a360c9e9b6bd53dfdab32772b2f41a"
UBOOT_SUFFIX = "kwb"
UBOOT_BINARY = "u-boot-spl.${UBOOT_SUFFIX}"
do_deploy() {
# xmodem files
cp ${B}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-u-boot-${MACHINE}.xmodem.bin
cp ${B}/u-boot.bin ${DEPLOYDIR}/u-boot-${MACHINE}.xmodem.bin
# file for wic file
cp ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/u-boot-spl.${UBOOT_SUFFIX}
# file for user usage
cp ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/u-boot-${MACHINE}.${UBOOT_SUFFIX}
}

View File

@ -0,0 +1,19 @@
require recipes-bsp/u-boot/u-boot.inc
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
do_configure[cleandirs] = "${B}"
UBOOT_INITIAL_ENV = ""
# This variable is set to "0" in distro in order to get reproducible build
# It is however not needed for uboot and unsetting it allows us to keep the build date in uboot output
unset SOURCE_DATE_EPOCH
# CFLAGS are unset by u-boot.inc
# The user flags should be passed by KCFLAGS, but for some reason, it does not work
# KCCPFLAGS on the other hand also end in the actual cflags
export KCPPFLAGS = "-DCONFIG_NRSW_BUILD"

View File

@ -0,0 +1,22 @@
require u-boot-nm.inc
SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot.git;protocol=ssh;user=gitea;branch=nrsw-sitara-2016.04"
SRCREV = "66fb8f8532ba174b14542c0c8a0245818df14f02"
SPL_BINARY = "MLO"
UBOOT_SUFFIX = "img"
do_deploy() {
# xmodem files
cp ${B}/spl/u-boot-spl.bin ${DEPLOYDIR}/spl-u-boot-${MACHINE}.xmodem.bin
cp ${B}/u-boot.bin ${DEPLOYDIR}/u-boot-${MACHINE}.xmodem.bin
# files for wic file
cp ${B}/MLO ${DEPLOYDIR}/
cp ${B}/u-boot.img ${DEPLOYDIR}/
# files for user usage
cp ${B}/MLO ${DEPLOYDIR}/spl-u-boot-${MACHINE}.${UBOOT_SUFFIX}
cp ${B}/u-boot.img ${DEPLOYDIR}/u-boot-${MACHINE}.${UBOOT_SUFFIX}
}

View File

@ -62,7 +62,6 @@ CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
CONFIG_HANDLE_DOMAIN_IRQ=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
# end of IRQ subsystem
CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
@ -153,15 +152,7 @@ CONFIG_NET_NS=y
# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_RD_GZIP is not set
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
CONFIG_RD_XZ=y
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
# CONFIG_RD_ZSTD is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_BOOT_CONFIG is not set
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@ -195,7 +186,7 @@ CONFIG_SHMEM=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_BPF_SYSCALL=y
# CONFIG_BPF_SYSCALL is not set
# CONFIG_USERFAULTFD is not set
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
# CONFIG_KCMP is not set
@ -615,13 +606,11 @@ CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_ARCH_HAS_PHYS_TO_DMA=y
# CONFIG_LOCK_EVENT_COUNTS is not set
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# end of GCOV-based kernel profiling
@ -654,7 +643,6 @@ CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_WBT is not set
# CONFIG_BLK_CGROUP_IOLATENCY is not set
# CONFIG_BLK_CGROUP_IOCOST is not set
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_SED_OPAL is not set
# CONFIG_BLK_INLINE_ENCRYPTION is not set
@ -678,7 +666,7 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
# CONFIG_CMDLINE_PARTITION is not set
# end of Partition Types
@ -795,7 +783,7 @@ CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
# CONFIG_IP_PIMSM_V1 is not set
# CONFIG_IP_PIMSM_V2 is not set
CONFIG_SYN_COOKIES=y
# CONFIG_SYN_COOKIES is not set
# CONFIG_NET_IPVTI is not set
CONFIG_NET_UDP_TUNNEL=y
CONFIG_NET_FOU=m
@ -856,7 +844,7 @@ CONFIG_IPV6_MROUTE=y
# CONFIG_IPV6_RPL_LWTUNNEL is not set
# CONFIG_NETLABEL is not set
CONFIG_MPTCP=y
CONFIG_MPTCP_IPV6=y
# CONFIG_MPTCP_IPV6 is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
@ -950,7 +938,7 @@ CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_BPF=m
# CONFIG_NETFILTER_XT_MATCH_BPF is not set
# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set
# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
@ -1087,14 +1075,13 @@ CONFIG_BRIDGE_EBT_T_FILTER=m
# CONFIG_BRIDGE_EBT_SNAT is not set
CONFIG_BRIDGE_EBT_LOG=m
# CONFIG_BRIDGE_EBT_NFLOG is not set
CONFIG_BPFILTER=y
# CONFIG_BPFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
CONFIG_L2TP=y
# CONFIG_L2TP_DEBUGFS is not set
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=y
CONFIG_L2TP_ETH=y
@ -1151,7 +1138,7 @@ CONFIG_NET_SCH_TBF=m
# CONFIG_NET_SCH_TAPRIO is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=y
# CONFIG_NET_SCH_NETEM is not set
# CONFIG_NET_SCH_DRR is not set
# CONFIG_NET_SCH_MQPRIO is not set
# CONFIG_NET_SCH_SKBPRIO is not set
@ -1184,7 +1171,7 @@ CONFIG_CLS_U32_MARK=y
# CONFIG_NET_CLS_RSVP6 is not set
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_CLS_BPF=y
# CONFIG_NET_CLS_BPF is not set
# CONFIG_NET_CLS_FLOWER is not set
# CONFIG_NET_CLS_MATCHALL is not set
CONFIG_NET_EMATCH=y
@ -1209,7 +1196,7 @@ CONFIG_NET_ACT_SKBEDIT=m
# CONFIG_NET_ACT_CSUM is not set
# CONFIG_NET_ACT_MPLS is not set
# CONFIG_NET_ACT_VLAN is not set
CONFIG_NET_ACT_BPF=y
# CONFIG_NET_ACT_BPF is not set
# CONFIG_NET_ACT_CONNMARK is not set
# CONFIG_NET_ACT_CTINFO is not set
# CONFIG_NET_ACT_SKBMOD is not set
@ -1238,7 +1225,7 @@ CONFIG_XPS=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_BPF_JIT=y
# CONFIG_BPF_JIT is not set
CONFIG_NET_FLOW_LIMIT=y
#
@ -1307,7 +1294,6 @@ CONFIG_BT=y
# CONFIG_BT_LE is not set
# CONFIG_BT_LEDS is not set
# CONFIG_BT_MSFTEXT is not set
CONFIG_BT_DEBUGFS=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BT_FEATURE_DEBUG is not set
@ -1510,9 +1496,7 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_RBD is not set
@ -1928,7 +1912,6 @@ CONFIG_USB_SIERRA_NET=m
#
# CONFIG_WAN is not set
# CONFIG_VMXNET3 is not set
# CONFIG_NETDEVSIM is not set
# CONFIG_NET_FAILOVER is not set
# CONFIG_ISDN is not set
# CONFIG_NVM is not set
@ -4407,7 +4390,7 @@ CONFIG_CRYPTO_JITTERENTROPY=y
# CONFIG_CRYPTO_USER_API_RNG is not set
# CONFIG_CRYPTO_USER_API_AEAD is not set
CONFIG_CRYPTO_HASH_INFO=y
CONFIG_BOFH_KEY=y
# CONFIG_BOFH_KEY is not set
#
# Crypto library routines
@ -4440,8 +4423,8 @@ CONFIG_PKCS7_MESSAGE_PARSER=y
#
# Certificates for signature checking
#
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS="certs/firmware_signing.pem"
# CONFIG_SYSTEM_TRUSTED_KEYRING is not set
# CONFIG_SYSTEM_TRUSTED_KEYS is not set
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
@ -4563,10 +4546,7 @@ CONFIG_STRIP_ASM_SYMS=y
# Generic Kernel Debugging Instruments
#
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
# CONFIG_DEBUG_FS is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
# CONFIG_UBSAN is not set
@ -4709,45 +4689,7 @@ CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
CONFIG_ARCH_HAS_KCOV=y
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
# CONFIG_KCOV is not set
CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_LKDTM=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_SORT is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_RBTREE_TEST is not set
# CONFIG_REED_SOLOMON_TEST is not set
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_PERCPU_TEST is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_TEST_HEXDUMP is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_STRSCPY is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_BITMAP is not set
# CONFIG_TEST_UUID is not set
# CONFIG_TEST_XARRAY is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_TEST_HASH is not set
# CONFIG_TEST_IDA is not set
# CONFIG_TEST_LKM is not set
# CONFIG_TEST_BITOPS is not set
# CONFIG_TEST_VMALLOC is not set
# CONFIG_TEST_USER_COPY is not set
CONFIG_TEST_BPF=m
# CONFIG_TEST_BLACKHOLE_DEV is not set
# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_TEST_FIRMWARE is not set
# CONFIG_TEST_SYSCTL is not set
# CONFIG_TEST_UDELAY is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_KMOD is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_STACKINIT is not set
# CONFIG_TEST_MEMINIT is not set
# CONFIG_TEST_FREE_PAGES is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
# CONFIG_MEMTEST is not set
# end of Kernel Testing and Coverage
# end of Kernel hacking

View File

@ -0,0 +1,14 @@
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_RD_GZIP is not set
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
CONFIG_RD_XZ=y
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
# CONFIG_RD_ZSTD is not set
CONFIG_BOOT_CONFIG=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_DECOMPRESS_XZ=y

View File

@ -0,0 +1,4 @@
define KFEATURE_DESCRIPTION "Enable RAMDISK support"
define KFEATURE_COMPATIBILITY all
kconf non-hardware initrd.cfg

View File

@ -0,0 +1,65 @@
CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_CFG80211=y
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
CONFIG_CFG80211_DEFAULT_PS=y
CONFIG_CFG80211_CRDA_SUPPORT=y
# CONFIG_CFG80211_WEXT is not set
CONFIG_MAC80211=y
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
# CONFIG_MAC80211_MESH is not set
# CONFIG_MAC80211_LEDS is not set
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_WLAN=y
# CONFIG_WIRELESS_WDS is not set
# CONFIG_WLAN_VENDOR_ADMTEK is not set
# CONFIG_WLAN_VENDOR_ATH is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
# CONFIG_WLAN_VENDOR_BROADCOM is not set
# CONFIG_WLAN_VENDOR_CISCO is not set
# CONFIG_WLAN_VENDOR_INTEL is not set
# CONFIG_WLAN_VENDOR_INTERSIL is not set
# CONFIG_WLAN_VENDOR_MARVELL is not set
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
# CONFIG_WLAN_VENDOR_MICROCHIP is not set
# CONFIG_WLAN_VENDOR_RALINK is not set
# CONFIG_WLAN_VENDOR_REALTEK is not set
# CONFIG_WLAN_VENDOR_RSI is not set
# CONFIG_WLAN_VENDOR_ST is not set
CONFIG_WLAN_VENDOR_TI=y
# CONFIG_WL1251 is not set
# CONFIG_WL12XX is not set
CONFIG_WL18XX=y
CONFIG_WLCORE=y
# CONFIG_WLCORE_SPI is not set
CONFIG_WLCORE_SDIO=y
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WLAN_VENDOR_ZYDAS is not set
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
# CONFIG_MAC80211_HWSIM is not set
# CONFIG_USB_NET_RNDIS_WLAN is not set
# CONFIG_VIRT_WIFI is not set
# CONFIG_PRISM2_USB is not set
# CONFIG_RTLLIB is not set
# CONFIG_RTL8723BS is not set
# CONFIG_R8712U is not set
# CONFIG_R8188EU is not set
# CONFIG_VT6656 is not set
# CONFIG_WFX is not set
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_LIB_ARC4=y
# CONFIG_PKCS7_TEST_KEY is not set
# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
# CONFIG_SECONDARY_TRUSTED_KEYRING is not set

View File

@ -0,0 +1,4 @@
define KFEATURE_DESCRIPTION "Wifi support for TI chips"
define KFEATURE_COMPATIBILITY all
kconf non-hardware wifi-ti.cfg

View File

@ -138,15 +138,7 @@ CONFIG_NET_NS=y
# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_RD_GZIP is not set
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
CONFIG_RD_XZ=y
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
# CONFIG_RD_ZSTD is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_BOOT_CONFIG is not set
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@ -677,7 +669,7 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
# CONFIG_CMDLINE_PARTITION is not set
# end of Partition Types
@ -1376,7 +1368,7 @@ CONFIG_GRO_CELLS=y
CONFIG_NET_DEVLINK=y
CONFIG_PAGE_POOL=y
# CONFIG_FAILOVER is not set
# CONFIG_ETHTOOL_NETLINK is not set
CONFIG_ETHTOOL_NETLINK=y
CONFIG_HAVE_EBPF_JIT=y
#
@ -1457,9 +1449,7 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_RBD is not set
@ -4051,7 +4041,7 @@ CONFIG_CRYPTO_JITTERENTROPY=y
# CONFIG_CRYPTO_USER_API_RNG is not set
# CONFIG_CRYPTO_USER_API_AEAD is not set
CONFIG_CRYPTO_HASH_INFO=y
CONFIG_BOFH_KEY=y
# CONFIG_BOFH_KEY is not set
#
# Crypto library routines
@ -4082,8 +4072,8 @@ CONFIG_PKCS7_MESSAGE_PARSER=y
#
# Certificates for signature checking
#
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS="certs/firmware_signing.pem"
# CONFIG_SYSTEM_TRUSTED_KEYRING is not set
# CONFIG_SYSTEM_TRUSTED_KEYS is not set
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
@ -4126,12 +4116,10 @@ CONFIG_XZ_DEC=y
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_XZ_DEC_POWERPC is not set
# CONFIG_XZ_DEC_IA64 is not set
CONFIG_XZ_DEC_ARM=y
# CONFIG_XZ_DEC_ARM is not set
# CONFIG_XZ_DEC_ARMTHUMB is not set
# CONFIG_XZ_DEC_SPARC is not set
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_XZ=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
@ -4207,7 +4195,7 @@ CONFIG_STRIP_ASM_SYMS=y
# Generic Kernel Debugging Instruments
#
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_FS is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
# CONFIG_UBSAN is not set

View File

@ -1,2 +0,0 @@
RDEPENDS_${PN}:remove += "python"

View File

@ -184,3 +184,15 @@ KERNEL_MODULE_AUTOLOAD += "\
zlib_deflate \
zlib_inflate \
"
KERNEL_MODULE_AUTOLOAD_sitara += " \
snd-pcm-dmaengine \
snd-soc-core \
snd-soc-davinci-i2s \
snd-soc-davinci-mcasp \
snd-soc-edma \
"
KERNEL_MODULE_AUTOLOAD_armada += "\
kvaser_usb \
"

View File

@ -1,6 +0,0 @@
#ifndef _BD_KEY_H
#define _BD_KEY_H
static const unsigned char BD_KEY[] = { 0xa1, 0x73, 0x17, 0x9a, 0x5e, 0xf4, 0x42, 0xb9, 0xae, 0x8c,
0xa3, 0xcd, 0x75, 0x63, 0xd3, 0x91, 0x4f, 0x11, 0xf1, 0x7b};
#endif

View File

@ -1,7 +0,0 @@
#ifndef _BOFH_KEY
#define _BOFH_KEY
#define BOFH_KEY_PRESENT 0
#warning bofh key is missing
#endif

View File

@ -1,48 +0,0 @@
#ifndef _LICENSE_KEY_H
#define _LICENSE_KEY_H
#define HMAC_KEY_SIZE 20
#define SHA1_DIGEST_SIZE 20
#define MOD_LENGTH 1536
/* RSA public key */
static
unsigned char rsa1536E[MOD_LENGTH/8] =
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01,
} ;
static
unsigned char rsa1536N[MOD_LENGTH/8] =
{
0xA1, 0xFD, 0x5A, 0xC5, 0x77, 0xB8, 0xCC, 0x20, 0xFC, 0x80, 0xC2, 0xF0, 0xBD, 0x6F, 0x6F, 0x4A,
0xEC, 0x70, 0xEE, 0x18, 0xBD, 0x6C, 0x07, 0xBB, 0xD6, 0x57, 0xE2, 0xE7, 0x3F, 0x2D, 0x51, 0x6D,
0x9B, 0x76, 0xD7, 0x93, 0xCC, 0x1B, 0x7B, 0x38, 0x2F, 0x10, 0xEC, 0xAD, 0x3A, 0x79, 0x0C, 0xC6,
0x74, 0x76, 0x93, 0x13, 0x6A, 0x20, 0xD9, 0xEB, 0x5B, 0x3C, 0x47, 0xB7, 0xCA, 0xAA, 0xFF, 0x7B,
0x7F, 0x5A, 0x7D, 0xEE, 0xA3, 0x0B, 0xA0, 0x57, 0xB4, 0xB8, 0x77, 0xE9, 0xAD, 0x6D, 0xE8, 0xF7,
0xF8, 0x2F, 0xE7, 0x49, 0xE5, 0x17, 0xBB, 0x7D, 0x5A, 0x6D, 0xF2, 0xD8, 0x1B, 0x01, 0x51, 0xB1,
0x63, 0x48, 0xC1, 0x9E, 0x74, 0xE6, 0x64, 0xB1, 0x9C, 0xC9, 0xFC, 0x75, 0x73, 0x9F, 0x61, 0x89,
0xE1, 0x10, 0x88, 0xFF, 0x90, 0x53, 0xE6, 0x4A, 0x41, 0x63, 0x01, 0x60, 0x2F, 0x85, 0x93, 0xAC,
0x1A, 0x68, 0xAA, 0x8D, 0xBD, 0x31, 0x70, 0xF7, 0x48, 0x5B, 0xFF, 0x44, 0xC9, 0x63, 0xDC, 0xE4,
0x25, 0x5E, 0xBA, 0xD5, 0x3E, 0x11, 0x55, 0xF4, 0x41, 0x58, 0xCF, 0xB3, 0x8A, 0x7A, 0x2B, 0xC3,
0xA7, 0x07, 0x47, 0xAA, 0x88, 0x44, 0x18, 0x5C, 0x8B, 0x88, 0x64, 0x39, 0x07, 0xC4, 0xD1, 0x82,
0x62, 0xA7, 0xDB, 0x9A, 0x53, 0x4D, 0xB9, 0x36, 0x69, 0x72, 0x01, 0x75, 0x88, 0x40, 0xD5, 0xF5,
} ;
static char checksumKey[HMAC_KEY_SIZE] = {0x17, 0x5e, 0x73, 0x42, 0xb9, 0xae, 0x11, 0xcd, 0x91, 0xa3,
0x9a, 0xf4, 0x8c, 0xa1, 0x7b, 0x4f, 0x63, 0xf1, 0x75, 0xd3};
#endif

View File

@ -1,8 +0,0 @@
KERNEL_MODULE_AUTOLOAD += " \
snd-pcm-dmaengine \
snd-soc-core \
snd-soc-davinci-i2s \
snd-soc-davinci-mcasp \
snd-soc-edma \
"

View File

@ -1,3 +0,0 @@
KERNEL_MODULE_AUTOLOAD += "\
kvaser_usb \
"

View File

@ -1,44 +0,0 @@
#!/usr/bin/python3
def config_merge_log_is_ok(log_file):
import re
str1_pattern = re.compile("^Value requested for (.*) not in final \.config")
requested_pattern = re.compile("^Requested value: (.*)$")
actual_pattern = re.compile("^Actual value: (.*)$")
is_not_set_pattern = re.compile("^# (.*) is not set$")
val, requested = None, None
with open(log_file, "r") as f:
for line in f:
if requested:
match = actual_pattern.match(line)
if not match:
raise ValueError("Can't determine actual config value")
actual = match.group(1)
if (not actual) and is_not_set:
val, requested = None, None
continue
return False
if val:
match = requested_pattern.match(line)
if not match:
raise ValueError("Can't determine requested config value")
requested = match.group(1)
match = is_not_set_pattern.match(requested)
is_not_set = True if match else False
continue
if not val:
match = str1_pattern.match(line)
if not match:
continue
val = match.group(1)
continue
return True
if __name__ == "__main__":
import sys
try:
ret = config_merge_log_is_ok(sys.argv[1])
except Exception as err:
ret = False
if not ret:
sys.exit(1)

View File

@ -1,134 +0,0 @@
HOMEPAGE = "http://www.kernel.org"
DESCRIPTION = "Linux kernel for various NetModule hardware"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
inherit kernel
ROOTFS_RELEASE ?= "0.0.0.0"
KERNEL_MODULES_CONF_DIR = "${BPN}/modules"
require ${KERNEL_MODULES_CONF_DIR}/${DISTRO}.inc
require ${KERNEL_MODULES_CONF_DIR}/${NM_TARGET}.inc
headers_to_copy = "\
bd-key.h \
bofh-key.h \
license-key.h \
"
# Order matters here (last has highest priority):
config_fragments = "${@' '.join(['conf/' + f for f in "\
${NM_TARGET}.cfg \
".split()])}"
SRC_URI = "git://git.netmodule.intranet/NRSW/nmlinux-kernel.git;protocol=ssh;user=gitea;branch=nmlinux-kernel-upgrade\
${@' '.join(['file://' + f for f in " ${headers_to_copy} ${config_fragments} verify_config_merge_log.py ".split()])} \
"
SRCREV ?= "${AUTOREV}"
PV = "5.X+git${SRCPV}"
PR = "r0"
S = "${WORKDIR}/git"
INSANE_SKIP_${PN} += "version-going-backwards"
DEPENDS += "openssl-native"
FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
# Do not configure kernel in kernel_do_configure() (defined in kernel.bbclass).
# Instead the configuration command will be executed from
# scripts/kconfig/merge_config.sh (see do_configure:append() in this file).
KERNEL_CONFIG_COMMAND = "true"
# The following is stolen from:
# nrsw-oe-main/openembedded-core/meta/recipes-core/busybox/busybox.inc
# returns all the elements from the src uri that are .cfg files
def find_cfgs(d):
sources=src_patches(d, True)
sources_list=[]
for s in sources:
if s.endswith('.cfg'):
sources_list.append(s)
return sources_list
do_configure:append() {
re="\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)"
NBSW_VERSION_MAJOR=$(echo ${ROOTFS_RELEASE} | sed "s/${re}/\1/")
NBSW_VERSION_MINOR=$(echo ${ROOTFS_RELEASE} | sed "s/${re}/\2/")
NBSW_VERSION_PATCH=$(echo ${ROOTFS_RELEASE} | sed "s/${re}/\3/")
NBSW_VERSION_BUILD=$(echo ${ROOTFS_RELEASE} | sed "s/${re}/\4/")
cat << EOF > ${S}/include/nbsw.h
#define NBSW_VERSION_MAJOR ${NBSW_VERSION_MAJOR}
#define NBSW_VERSION_MINOR ${NBSW_VERSION_MINOR}
#define NBSW_VERSION_PATCH ${NBSW_VERSION_PATCH}
#define NBSW_VERSION_BUILD ${NBSW_VERSION_BUILD}
#define NBSW_VERSION_DATE "$(date +%Y%m%d%H%M%S)"
#define NBSW_PROFILE "$(echo ${NM_TARGET} | awk '{ print toupper($0) }')"
#define NBSW_TARGET_${NM_TARGET}_${NM_ARCH} 1
EOF
for f in ${headers_to_copy}; do
cp ${WORKDIR}/${f} ${S}/include/
done
openssl x509 -in ${S}/firmware.crt -outform PEM -out ${S}/certs/firmware_signing.pem
bbnote "Writing genkey config to ${B}/certs/x509.genkey"
mkdir -p ${B}/certs/
cat > ${B}/certs/x509.genkey << EOF
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
prompt = no
string_mask = utf8only
x509_extensions = myexts
[ req_distinguished_name ]
O = ${VENDOR_NAME} ${VENDOR_EXT}
L = ${VENDOR_LOCATION}
CN = ${PRODUCT} signing key
emailAddress = ${VENDOR_EMAIL}
[ myexts ]
basicConstraints=critical,CA:FALSE
keyUsage=digitalSignature
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid
EOF
# install BOFH key, if available
PROFILE=$(echo "${NM_TARGET}" | tr '[:lower:]' '[:upper:]')
BOFH_CERT="${BOFH_KEY_PATH}/public/bofhkey-${PROFILE}.pub.crt"
if [ -r "$BOFH_CERT" ] ; then
BOFH_KEY_FILE="${S}/include/bofh-key.h"
GENBOFHKEY="genbofhkey"
if ! $GENBOFHKEY -c $BOFH_CERT -o $BOFH_KEY_FILE; then
bbfatal_log "unable to add bofh key"
fi
fi
# Configuration fragments support adapted from file:
# nrsw-oe-main/openembedded-core/meta/classes/kernel-yocto.bbclass
merge_config_sh=${S}/scripts/kconfig/merge_config.sh
configs="${@" ".join(find_cfgs(d))}"
log_dir=${LOG_DIR}/${DISTRO}/${MACHINE}
log_file=${log_dir}/$(date +"%Y-%m-%d_%H-%M-%S")_kernel_merge_config.log
mkdir -p ${log_dir}
cd ${S}
if ! CFLAGS="${CFLAGS} ${TOOLCHAIN_OPTIONS}" \
HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" \
HOSTCPP="${BUILD_CPP}" \
CC="${KERNEL_CC}" \
ARCH=${ARCH} \
${merge_config_sh} -O ${B} -r -n ${configs} > ${log_file} 2>&1 ; then
bbfatal_log "merge_config.sh failed. Log file is located at:
${log_file}"
fi
if ! ${WORKDIR}/verify_config_merge_log.py ${log_file} ; then
bbfatal_log "config merge log verification failed. For details see:
${log_file}"
fi
}
FILES_${KERNEL_PACKAGE_NAME}-image += "${KERNEL_IMAGEDEST}/kernel.bin"

View File

@ -0,0 +1,37 @@
SUMMARY = "Recipe based on linux-yocto to build the NRSW kernel"
inherit kernel
require recipes-kernel/linux/linux-yocto.inc
require kernel-modules-autoload.inc
GIT_BRANCH = "nmlinux-5.15"
GIT_OPTIONS = "protocol=ssh;user=gitea;branch=${GIT_BRANCH};nocheckout=1"
SRC_URI = "\
git://git.netmodule.intranet/NRSW/nmlinux-kernel.git;${GIT_OPTIONS} \
file://defconfig \
file://features;type=kmeta;destsuffix=features \
"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
KERNEL_VERSION_SANITY_SKIP="1"
LINUX_VERSION = "5.15"
LINUX_VERSION_EXTENSION = "-netmodule"
SRCREV = "5a18cd05107545cb6f971c01126a13fc6a5d7eb6"
PV = "${LINUX_VERSION}+git${SRCPV}"
COMPATIBLE_MACHINE = "netmodule-hw*"
KERNEL_FEATURES ??= "\
initrd.scc \
wifi-ti.scc \
"
# This is set by linux-yocto but we need to remove it in
# order to automatically update the SRCREV
unset RECIPE_NO_UPDATE_REASON

View File

@ -0,0 +1,13 @@
# Dual root partition for sitara devices
part SPL --offset 256S --source rawcopy --sourceparams="file=MLO" --ondisk mmcblk1 --part-name "spl" --no-table
part u-boot --offset 768S --source rawcopy --sourceparams="file=u-boot.img" --ondisk mmcblk1 --part-name "uboot0" --no-table
part u-boot --offset 6912S --source rawcopy --sourceparams="file=u-boot.img" --ondisk mmcblk1 --part-name "uboot1" --no-table
part / --source rootfs --fstype=ext4 --ondisk mmcblk1 --fixed-size 1G --label "rootfs0"
part / --source rootfs --fstype=ext4 --ondisk mmcblk1 --fixed-size 1G --label "rootfs1"
# Shared data partition to be extended on live system
part /data --fstype=ext4 --ondisk mmcblk1 --size 100M --label "data" --part-name "data"
bootloader --ptable gpt

View File

@ -0,0 +1,11 @@
# Dual root partition for armada devices
bootloader --ptable gpt
part u-boot --source rawcopy --sourceparams="file=u-boot-spl.kwb" --ondisk mmcblk --no-table --align 384
part / --source rootfs --fstype=ext4 --ondisk mmcblk0 --fixed-size 1G --label "rootfs0"
part / --source rootfs --fstype=ext4 --ondisk mmcblk0 --fixed-size 1G --label "rootfs1"
# Shared data partition
part /data --fstype=ext4 --ondisk mmcblk0 --size 100M --label data

View File

@ -0,0 +1,23 @@
do_assemble_fitimage[depends] += "fpga-image:do_deploy"
#
# Emit the fitImage ITS fpga section
#
# $1 ... .its filename
# $2 ... Image counter
# $3 ... Path to fpga image
fitimage_emit_section_kernel:append() {
fpgacount=1
cat << EOF >> ${1}
fpga-${fpgacount} {
description = "FPGA";
data = /incbin/("${DEPLOY_DIR_IMAGE}/fpga-image-${MACHINE}");
type = "fpga";
arch = "${UBOOT_ARCH}";
compression = "none";
hash-1 {
algo = "sha1";
};
};
EOF
}

View File

@ -0,0 +1,109 @@
# This class generate a fitimage
# This class should ihnerited after the nwl-image class
# Configuration:
# ==============================================================================
# Set the initramfs to the current image being build by default
# This can be overriden if another image as to be included
INITRAMFS_IMAGE ??= "${IMAGE_BASENAME}"
INITRAMFS_IMAGE_NAME ??= "${INITRAMFS_IMAGE}-${MACHINE}"
# Glue for kernel-fitimage
# ==============================================================================
kernel_do_deploy () {
# The kernel-fitimage class appends the deployment to this task. We just have to provide the task.
deployDir=${DEPLOY_DIR_IMAGE}
}
inherit kernel-fitimage
inherit kernel-arch
inherit ${@bb.utils.contains('MACHINE_FEATURES', 'fpga', 'kernel-fitimage-fpga', '', d)}
do_assemble_fitimage:prepend() {
install -d ${S}/arch/${ARCH}/boot/
install -m 0644 ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${KERNEL_IMAGE_LINK_NAME}${KERNEL_IMAGE_BIN_EXT} ${S}/arch/${ARCH}/boot/vmlinuz.bin
for DTB in ${KERNEL_DEVICETREE}; do
# We have to watch out for when the device-tree is located in its own subdirectory in the kernel sources.
# DTB_SUBDIR will contain this directory.
DTB_DEPLOY=`basename ${DTB}`
DTB_SUBDIR=`dirname ${DTB}`
install -d arch/${ARCH}/boot/${DTB_SUBDIR}
install -m 0644 ${DEPLOY_DIR_IMAGE}/${DTB_DEPLOY} ${S}/arch/${ARCH}/boot/${DTB}
done
}
KERNEL_CLASSES = "kernel-fitimage"
KERNEL_IMAGETYPES += "fitImage"
# We want the initramfs inside the fitimage as a separate part and not bundle
# inside the kernel part
INITRAMFS_IMAGE_BUNDLE = "0"
do_image_fitimage() {
kernel_do_deploy
}
addtask image_fitimage after do_image before do_image_complete
addtask assemble_fitimage_initramfs after do_image before do_image_fitimage
addtask assemble_fitimage after do_image before do_image_fitimage
do_assemble_fitimage_initramfs[depends] += "virtual/kernel:do_deploy virtual/${TARGET_PREFIX}binutils:do_populate_sysroot"
do_assemble_fitimage[depends] += "virtual/kernel:do_deploy virtual/${TARGET_PREFIX}binutils:do_populate_sysroot"
# a fitimage image can be embedded into a WIC image
do_image_wic[recrdeptask] += "do_image_fitimage"
python __anonymous () {
initramfs = d.getVar('INITRAMFS_IMAGE')
image = d.getVar('IMAGE_BASENAME')
if image == initramfs:
# If the initramfs is the same as the image being build, we should
# not depend on do_image_complete but on do_image_${FSTYPE_WITHOUT_EXT}
fstype = d.getVar('IMAGE_FSTYPES').split('.')[0]
d.appendVarFlag('do_assemble_fitimage_initramfs', 'recrdeptask', f' do_image_{fstype}')
depends = d.getVarFlag('do_assemble_fitimage_initramfs', 'depends')
depends = depends.replace(f'{initramfs}:do_image_complete', '')
d.setVarFlag('do_assemble_fitimage_initramfs', 'depends', depends)
# If the initramfs is the same as the image being build, it should
# come from IMGDEPLOYDIR instead of DEPLOY_DIR_IMAGE
# This is done by using an ugly monkey patching of the
# fitimage_assemble function
imgdeploydir = d.getVar('IMGDEPLOYDIR')
deploy_dir_image = d.getVar('DEPLOY_DIR_IMAGE')
task = d.getVar('fitimage_assemble')
task = task.replace(f'initramfs_path="{deploy_dir_image}', f'initramfs_path="{imgdeploydir}')
d.setVar('fitimage_assemble', task)
}
# Glue for coreos-image-ci.bbclass
# ==============================================================================
def get_nwl_fitimage_ci_artifacts(d):
bundle = d.getVar('INITRAMFS_IMAGE_BUNDLE')
initramfs = d.getVar('INITRAMFS_IMAGE_NAME')
# We only support fitimage with INITRAMFS_IMAGE_BUNDLE set to 0
if bundle == "1":
bb.warn(f"Adding a fitimage built with INITRAMFS_IMAGE_BUNDLE into COREOS_CI_DEPLOY_ARTIFACTS is currently not supported")
return ""
# If an initramfs is used, publish the fitImage that contains it
# otherwise the image without an initramfs
if initramfs.strip() != "":
return "fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}"
else:
return "fitImage-linux.bin-${KERNEL_FIT_LINK_NAME}"
# Add the generated fitImage to the list of artifacts to publish in the CI
COREOS_CI_DEPLOY_ARTIFACTS += "${@get_nwl_fitimage_ci_artifacts(d)}"

View File

@ -1,8 +1,7 @@
# Remove EFI support for machines which don't support it
EFI = "${@bb.utils.contains("MACHINE_FEATURES", "efi", "1", "0", d)}"
COREOS_IMAGE_GENERATE_UKI = "${EFI}"
COREOS_IMAGE_GENERATE_INSTALLER = "${EFI}"
COREOS_IMAGE_GENERATE_SWU = "${EFI}"
# Base classe for all image based on NWL
inherit coreos-image
IMAGE_INSTALL:append = " \
packagegroup-nwl-core \
"

View File

@ -13,14 +13,6 @@ MAINTAINER = "Netmodule Software Teams"
DISTRO_VERSION = "2023.03"
DISTRO_CODENAME = "NWL 2023 Edition (DRAFT)"
# Use by default the in-tree developers set of keys for Secure Boot
COREOS_EFI_SECUREBOOT_KEYDIR ?= "${NWL_ROOT}/layers/meta-nwl-distro/files/keys"
# CoreOS ensure that COREOS_EFI_SECUREBOOT_KEYDIR has a vardep on the
# hash of each used keys. We don't have to depends on the full path
# to NWL_ROOT in the hash of COREOS_EFI_SECUREBOOT_KEYDIR
COREOS_EFI_SECUREBOOT_KEYDIR[vardepsexclude] = "NWL_ROOT"
# Here you can override settings from the CoreOS distro or from
# OpenEmbedded-core. But keep in mind that the CoreOS team doesn't support
# all the features of OpenEmbedded-Core. We have added some checks for some
@ -34,6 +26,26 @@ DISTRO_FEATURES_BACKFILL_CONSIDERED = "ldconfig pulseaudio gobject-introspection
DISTRO_FEATURES:remove = "ptest virtualization"
PACKAGECONFIG:pn-systemd = "usrmerge rfkill kmod timedated vconsole"
# systemd-conf provides a packageconfig for a default dhcp client that we don't need
PACKAGECONFIG:pn-systemd-conf = ""
PACKAGECONFIG:pn-networkmanager = "systemd nss gnutls wifi bluez5 nmcli"
PACKAGECONFIG:pn-networkmanager = "systemd nss gnutls wifi bluez5 nmcli modemmanager"
# NetworkManager is starting dnsmasq when it needs it for AP mode
SYSTEMD_AUTO_ENABLE:pn-dnsmasq = "disable"
PACKAGECONFIG:pn-bluez5 = "systemd udev"
# ModemManager is started by wwan-config
SYSTEMD_AUTO_ENABLE:pn-modemmanager = "disable"
PACKAGECONFIG:pn-modemmanager = "systemd qmi"
EXTRA_OEMESON:pn-modemmanager = "-Dauto_features=disabled -Dplugin_generic=enabled"
# Enable the python3 bindings for libgpiod
PACKAGECONFIG:append:pn-libgpiod = " python3"
# With busybox "less" the output of "nmcli c" does not show up properly
RDEPENDS:networkmanager-nmcli += "less"
# Dependency to meta-netmodule-wlan
# Reduce priority as we want only what we explicitly take from this layer
BBFILE_PRIORITY_netmodule-wlan = "1"

View File

@ -9,7 +9,8 @@ BBFILE_COLLECTIONS += "meta-nwl-distro"
BBFILE_PATTERN_meta-nwl-distro = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-nwl-distro = "6"
LAYERDEPENDS_meta-nwl-distro = "core"
LAYERDEPENDS_meta-nwl-distro = "core netmodule-wlan"
LAYERSERIES_COMPAT_meta-nwl-distro = "kirkstone"
# Set a variable to get to the top of the metadata location

View File

@ -1,19 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDBzCCAe+gAwIBAgIUMBZqg8KVjLqv+5xzlrr//O78ys0wDQYJKoZIhvcNAQEL
BQAwEzERMA8GA1UEAwwIVEVTVF9LRUswHhcNMjMwNzI2MDg0MDU2WhcNMjQwNzI1
MDg0MDU2WjATMREwDwYDVQQDDAhURVNUX0tFSzCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBALVZOmvAVYvmOjMITsZiGlKfeafohprnKyC/MEttlceBzwEu
DSXbvXaGpoaT+SsDkutcJIMkfVte4EEM7m7tmzfJT10++++saG7wzFRfn4qCiz7s
NVGp7lSQGwPKlqToHtEc3n62Ni9/t2opMbjAMh4MigYmmhgRb0EjubnxkQi02oXQ
b6vAMsqxsWgHTHQIqMQrMpWP+rxwVB2/0u4GfUvyROIP77gUweINaiaZFNwg5j/M
HbNpE/YIzvOO1iiut7fGuRq8nzKsRa6v/5sQxpQCiFhEeW+L2TBBLWcn38HkGhZQ
HL1wrMwIFnxhts+c/iXX/04hX7XLaE2VP8WbZq8CAwEAAaNTMFEwHQYDVR0OBBYE
FGd2nYmDABv3X2xX5ChFTBGAPT9NMB8GA1UdIwQYMBaAFGd2nYmDABv3X2xX5ChF
TBGAPT9NMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAK+PrMYv
/Riu59mNJBBg0IQ5Lg8njkZDJkTUNoPqfduxI8hShCVTazZTOUISrPCKvYWpti4r
8OAuw/17vBcQzHa2ayJwaiKYL/xC94xxcMwZDsfIul/2TvMsUjh8Tbl6stVLhI5J
Yga+ytHKkBvTw7whW7uqZAlynk1lkFlCuK5/rTD+WcZADat2kcXVw4ILUSP2QNIj
HSW3q7YaerxUavPyUiYHTMmjMQtaqjvRv6AZaOFiPvl5/s0HIK2yfwGGyMbXgR/M
70lqHtrgLORkAruWv35v16BBNaX1rQHholk+HIsjg1kTcjS5Tg9NAF1TAKH4G6LL
YvNkqBtolbJKmjs=
-----END CERTIFICATE-----

View File

@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC1WTprwFWL5joz
CE7GYhpSn3mn6Iaa5ysgvzBLbZXHgc8BLg0l2712hqaGk/krA5LrXCSDJH1bXuBB
DO5u7Zs3yU9dPvvvrGhu8MxUX5+Kgos+7DVRqe5UkBsDypak6B7RHN5+tjYvf7dq
KTG4wDIeDIoGJpoYEW9BI7m58ZEItNqF0G+rwDLKsbFoB0x0CKjEKzKVj/q8cFQd
v9LuBn1L8kTiD++4FMHiDWommRTcIOY/zB2zaRP2CM7zjtYorre3xrkavJ8yrEWu
r/+bEMaUAohYRHlvi9kwQS1nJ9/B5BoWUBy9cKzMCBZ8YbbPnP4l1/9OIV+1y2hN
lT/Fm2avAgMBAAECggEAT5LwnJlPsEx8myn5Dvm7HSgXBMN2VQA8n2jlMyPJxjpC
b/0aDdOnBhw9c+34NpSh4h6TcuwPCYnPExwuf4RJSKhP59WcTOW1CYEl15wB8JAp
s5mIJ+ZNytNU10wM4B1ucEmfo7AmhJ8hBzc+Nxg2pZLQ+bP0h70WuVmIxHuoLU4X
f+V3x0jl5Dgeh0L+j61b6jDYcQmVZmldugj+HxoyJPXZ3z3VcCBHzcX+JdA1YQtz
9YwH6njxFUs6sTIWpavIphWy7oiulGhRj+8sU6cDpO932T0oLrvFVIPCM1yVSw+k
h23wb8I20CN/qdjc8nk9uQ1kJfGhbEFCYq+QoQ6F+QKBgQD26N/yhslAVUH+tYQK
gaQwYJMowj32b77WHIxnTSxmrCZ+Hjelpx57fuBilgvAJtlwxZpd8PJM8fUQff4S
ob8YGrOg7qLzmtWLnx5VREYekLl6aHsOIlnaQLnsGUHEj6NQfn/2U4BRLv9G1zI+
Y1SzwfX8QRFOFP9Q6tZXSd7A2wKBgQC8BnB/BmN2jqEgDF3eud+L6mAC5o7Jv/8X
Xi1/w6OImzhm/poVb9pU5cFAZdzqJ9oIg78YAKERFHjfdLHtASZ1RF7DR2ysVxFC
R5xPYMttmyfTE/umgIRLwkljMZ5ZTRNvPDkpT0n0BkXxs7D45XB7cEYPzgvUAhwb
ezEKSc2fvQKBgFHBIgXn41NN56Ay8hmYe4kZMSDZ0DJ9Ja83nLXHs9/7OHOiBcLv
5wP1Ks7558IkGvNgOpDIazJXG1HupeX9cIzGqpuq6IHIztSAR0bsaFtOiFujpLs1
XJMLw4QNiN1Qwj6w5CXn2CEJcrU+JADMWwt6Obzgvp4gDbn5SCd26i7pAoGABpcP
MFSP/eLH4PCuBZVsMWI4lUFxdb7F+RKy84xu2eXe1zVLPz8ZXupimJg5Yvecm7nK
Y9P50ThveB2F8vGcYHXSAHQraervTuxlnR6eYqwSfEJyCobsnB8mJVTi4Oxjpv1s
X3dI90WVBACxTjf0dk8cFYe6QGcGhywNLvghPd0CgYEAwHu7S16k/+5JL81QrJMS
lGUxdJ7xgPZp6G2lnzHKrumUXsE7u9efB3t5RauDX51dLOqaJGzoTVF403Cx/Xps
kWkWiN8r7g22gHvYWO43mvVyGZ+VUsu5D50gndaDdoCfWoHRZ6UbBPdhAztI/ePU
kUM2jC74IiCINRyszkcfEUw=
-----END PRIVATE KEY-----

View File

@ -1,19 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDBTCCAe2gAwIBAgIUaqd3t7MrDxsQCyBIp+ldFIexS+YwDQYJKoZIhvcNAQEL
BQAwEjEQMA4GA1UEAwwHVEVTVF9QSzAeFw0yMzA3MjYwODQwNTZaFw0yNDA3MjUw
ODQwNTZaMBIxEDAOBgNVBAMMB1RFU1RfUEswggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQDio1QgioSSx8tzr2YfYFxwxMZvONXTBgyEo1qH9eVnDhd/nN66
odj0JOWQ6ZxZ1thAA94M0k9uNM60AYd4IPJfIok//MQbICzKbpSp8sTePBui2dxx
/Su3lkNim9ZkQ5hjbJHhogzF31DfSRhUej9mr5yzDjD+liGtvRKbLZ4RCEx3WeDn
taS3YojRNBXoNKumr/e6m+qACh9lOswAgAFw0FvS6v5j3y2AzBhL76pBNJ2+phzv
uDk2xFGz5Hwa2JnjdwbjFJTGMpHRoI8m9PCM9fTAXmgwTaXgP3/6d4HgxHyIyNMK
oPkPUp26CxpXeP+x6XfHlcUZdE3Agg4TTmaBAgMBAAGjUzBRMB0GA1UdDgQWBBSh
s2prPUwajZ++I9D8NqQprrUlPTAfBgNVHSMEGDAWgBShs2prPUwajZ++I9D8NqQp
rrUlPTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBBhsVJzuy2
BMJft7nzLjplh5234R03/YMieMG3ryOclPaAj8nuEkIRzgE3uJdS/121T2A5wReW
Pg6o21bPGljXHHGFS6Xh2bav3WLWtB8G2HXQ5xum0sXcj58cNc3DGEq/ECDT+wcX
Y2RL3RHMZflSndXtcGnqT+9PrgCKaNaxtrIoIWk8SI6p2LEcHbidDiEJ5JHvUr4r
BWhLsgKmoGCDQsOPAz6ZXZPR34VF56BAVBLAJPymFiV5O/GGL99UfHhEXBO5kPt3
ha1iPedOfxge+nRuGYxlGF0bcA7gZhPPzuy5rZSTZtXaNMWf8/Hteo18muX3aDqr
ekkVlpgnXEeJ
-----END CERTIFICATE-----

View File

@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDio1QgioSSx8tz
r2YfYFxwxMZvONXTBgyEo1qH9eVnDhd/nN66odj0JOWQ6ZxZ1thAA94M0k9uNM60
AYd4IPJfIok//MQbICzKbpSp8sTePBui2dxx/Su3lkNim9ZkQ5hjbJHhogzF31Df
SRhUej9mr5yzDjD+liGtvRKbLZ4RCEx3WeDntaS3YojRNBXoNKumr/e6m+qACh9l
OswAgAFw0FvS6v5j3y2AzBhL76pBNJ2+phzvuDk2xFGz5Hwa2JnjdwbjFJTGMpHR
oI8m9PCM9fTAXmgwTaXgP3/6d4HgxHyIyNMKoPkPUp26CxpXeP+x6XfHlcUZdE3A
gg4TTmaBAgMBAAECggEAKzOAC03sNICCPzSNjmiTZmmT+8qFM9sA0t3CmY0dY/YT
M5+m80N7tBo+ak+lnphuE1HJZ39FZdgKGNT7ykHZgZn3OKvJg/QvpYzLqNOehFBH
4lSOCWp9hVrO0IKtLOKXr0gYTL7TmXpWk6F+0keVQ1ExWQ5Y94aNt+0FGXBqI4uq
ENDH3UfFIIZjtoyO4xLa3FBqj19lNsj/RIGAo/H2RgOUAIoG8N6uHBszROd48w1H
CUgdtCCL1YE2zoDcAcmFTUFI1KA6y5t7n248ZRkRlDZVeeGDSCcH9zFkiy41Vpct
Ej7BPdCU/t6F3axqXahtkDAAuRKfWjytoVa8iekX0wKBgQD2k0oee/4qaIv5M0Xx
ZNRcptMCkmX354XfFcWMgLchK1oloZNtLjvntgXmiK6jAGCR8yG1NWFwOB2vhgE0
UuqU+Ah4JMJHivYVlqhUzFVASYt1XLIrxglHDVq05gfkMjUwVUavB90KPHXwLTJE
/5iMvyBO7NCJxGXtnwsKw5fKhwKBgQDrTPRbibb1BSCDSCTZHoyVYxTFX5Tyuas3
Wu2bRmTWo/RsZHhAumemlOIjX/6gRMn2SYAvH4j7V9+V4SFprrajEDQaACwYbRP8
31yaUAUPbx4b1VgCY0XVS6CCExQOVQdT9YsQueNcmhZ2HU/aELN0InMSwyf+9F90
vEGU79ZgtwKBgBcw+0OqvdkXRDMIE4gEx8R/HFGdm2GZsQmuboosgQzpmuz3KXqX
YqMEh8GLEYHbQzn2+DCm+KcpYAFmRS66rb2dJo7GRk+cTlDxfpubLFmDkU5UjZ14
Xt8D7ogdKpjX8BC/tIo53xxbW2xfk97Re3OhdlR2CZcrlbqnvs4gX2J5AoGBALeM
oTVi2SCLLlCaj3v7E6lY0BQjOnqZkVEuEhnFMNYqsXl4akH75u0QSNNVh7gX0P/Z
WC/qRp3ib1xocPsSug+7jRkXN06akDP7PS5262udv3vw0aWTMR9wzjWJkmSXuY6q
BSA4EX7kCE99EBRIYORgFyn0qJd+o5PZYsM+0BlDAoGBALCEcSsZYWAX+k6/6EsA
kax0KscOFHji62PSLuWJX7PdLyGeAFnIKfm6X/RKXTInH+1dLJI/BXPuxrKIQFjB
CUrhmcwdSZ690mQLogT1tFAAt4+FfdGn8cnlPn9r8je/+6AR4sHUkbDTUJgBE3YG
/OVVo+MW242kcym893qgkPS/
-----END PRIVATE KEY-----

View File

@ -1,19 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDBTCCAe2gAwIBAgIUL8w6OMWe5milePbOVue9IyI4pG4wDQYJKoZIhvcNAQEL
BQAwEjEQMA4GA1UEAwwHVEVTVF9kYjAeFw0yMzA3MjYwODQwNTZaFw0yNDA3MjUw
ODQwNTZaMBIxEDAOBgNVBAMMB1RFU1RfZGIwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQCbGXtPx/xRCDHqPkUSC/g08eH4IQHW2ku7IJwGd3MOfB+hMLVN
YSMNNx2ltFguPm+bh1rDsT+6Lq+RiXf++KXjzpy7ShRyBQ6Xjy5hfz0hR6CtDonG
RpBmndgwl2yUVhpdgD0BZzhqO5OzmONqZpP968yIRts7Xl1zF2Z63/EiWdOY5m6Y
WaE3inRr2W0GttJ55eqVFeBRTX2tASyrh+b1NvWlo52phs/EAb2CCE+cUC82S68Q
tMsyvIGGNRiBr9tQ5x9rRtPIens8AK9/H9K8rG+ldXcAsop8C4SvQg+hBW8ViHEu
9EQ1c9N3vA+KE3IP91jvRMP3HONxDWok4pjXAgMBAAGjUzBRMB0GA1UdDgQWBBRl
oRIc0AjAlJG4xzJAYA3RqoPVAzAfBgNVHSMEGDAWgBRloRIc0AjAlJG4xzJAYA3R
qoPVAzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBCnMDK+noa
oYJZZ4H1dvqnjAk2C9Wy2UpeNbM6igFRQUgK6W/4WbUDeHktVB2/X5CqwYJxLC+Y
S1qNVUiabS4MuuXfGCdvJIcPRUcnx1RIUQL2VpE7I9Z1LQ1qAvJt5Bx1eyKdy/+O
wYMHQAAcd7lQuwnFLtOgHrOqHOtcp8jiltCoivEIyc+RyZrhq+w8xkZOvhIJ+Nxv
lo41xQKcXHU1bVV7O0FEyFv7Sj+VRo/Os2Eesk1mEYDiqYfF2mEvFnY+tj8e7jxJ
N9lRS7mb/5iBObZp6sv2y4afJfzAXDPEt7QVMDORjUqPHhIlkjCpE0/AIwbJVnvd
5x4tiZjDcVZZ
-----END CERTIFICATE-----

View File

@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCbGXtPx/xRCDHq
PkUSC/g08eH4IQHW2ku7IJwGd3MOfB+hMLVNYSMNNx2ltFguPm+bh1rDsT+6Lq+R
iXf++KXjzpy7ShRyBQ6Xjy5hfz0hR6CtDonGRpBmndgwl2yUVhpdgD0BZzhqO5Oz
mONqZpP968yIRts7Xl1zF2Z63/EiWdOY5m6YWaE3inRr2W0GttJ55eqVFeBRTX2t
ASyrh+b1NvWlo52phs/EAb2CCE+cUC82S68QtMsyvIGGNRiBr9tQ5x9rRtPIens8
AK9/H9K8rG+ldXcAsop8C4SvQg+hBW8ViHEu9EQ1c9N3vA+KE3IP91jvRMP3HONx
DWok4pjXAgMBAAECggEAORiyWnZmnnYD2hW+W5xobSU2aJ/OC4glJOgmSAMlKgnr
ou1JcQj3XGAT2/J+G9gEQh8b/Lp9mU6id1NCB20FtM1UyWXGDQtricO98Upj+KJj
thGKCqHjesNU2N6FrD3eStlwm9mh3Qm9n/oCjiLhDDMIAosDHeHpSPsuUMGsBVa0
zDcmcpujgb/aHWw5Iy9yy2Po+M4X2faLljZWwwFvgBDhftlVRGyZOwuUc+TxL6/v
HEmYGhsDiEle6XiqcV0hVt0obeic7yxQOPEahWbwLdLjrO+Wx1GaTsxbwfqLWU0g
ut8Te8+8RJiZGdT2mbtbkGiXrN2CbcPfkCvuzDE/UQKBgQDaLtEus8s6tVo9lvh/
phtb0mwY9dQ7gekrbjVmlHl1Yrtc4UTP4u1MwKu1B8t6Oe0s3i2iYtre2z1F6MmR
cr1wweN4PNAZ5/6jwsTDDfUEAWPq+vriics5YmyCL9nLaBk4b7/3TZNpmBn/UuOu
JpFeAhLC3QG9XubHF0mEcKPicwKBgQC1+4ng0jg3jQofTdx29yDND5q1ftbZHx5Q
n9g4gR8Y9Gr8ETox3GVfiKTAIzaE53UfzEHpEmj756XdggxZIkNvHxWoIAsEEiwY
nI3ztz9rIQfx+10FVY9VrgTZDDYlv9NMcUg6cEuGbH0lKiZoqRLyVcqGWgWTF2Qg
gnll54RDDQKBgF3aK7M6Nd6gKhw6N9S5ACXEYyltfYjHfiRneOMSVRjQiqYOZMpD
5C3S50ms+7Ms/cACJoEmot2gU0AiPaqqP6EkVhPfnOi36cpJutfoxg+eBXwL0CXo
fhnGI8TwjnA37DlhoKLhpNqUSgKRhkzgXEGjBKz74oayLvVPKBmnVmfPAoGAditM
MMzQ7GGNPR6WFjoK9p03XLtsT7jBOqFRCf/ubYnpHp0hKNdwjERylsFG2a5ig69i
7TGjMlANiHS2B/sTxshsi6ui+5XBRIoEM0m+yJW+TwdmM9yHIp/JThd74a9aSb0V
pbzdjgBMkyF3p2aCgxHqXKuACy+ZOPMAWYeoftECgYEAjKEUKfsZIZfgHicZYxbZ
gVrIG/ifGKpzPdFYtR2Yq0F7/ECrKf4VRRpfVbs+KPOfaSYtlE400MecOgLsxK76
LMaSsuJB/YURrUjjR7O5orupVAlIG8tblBiAwx5VAsFTfyw4WVcHP+AJ+kYUuCB0
JriD7XK6yHORwPka9yD+SYg=
-----END PRIVATE KEY-----

View File

@ -0,0 +1,69 @@
DESCRIPTION = "WWAN modems configuration tool"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
RDEPENDS:${PN} += " \
python3-pyserial \
libgpiod-python \
python3-setuptools \
python3-systemd \
lmsensors-sensors \
lmsensors-config-libsensors \
"
DEPENDS = "python3-setuptools-scm-native"
inherit gitpkgv systemd allarch
# Package Version (built from tags)
PKGV = "${GITPKGVTAG}"
# Recipe Version
PV = "1.0-git${SRCPV}"
PR = "r1"
SRCREV = "a943fa76d5385c3f9bc54023c6fcf8b7bf339fd1"
SRC_URI = "git://gitlab.com/netmodule/tools/wwan-config.git;protocol=ssh;user=git;branch=master \
file://wwan-config@.service \
file://default.conf \
file://0001-Hotfixes-for-gemini.patch \
file://0002-hotfix-for-kirkstone.patch \
"
S = "${WORKDIR}/git"
inherit setuptools3_legacy
# Should be set by machine.conf
WWAN_NBR ??= "1"
do_install:append() {
install -d ${D}/${systemd_unitdir}/system/
install -m 0644 ${WORKDIR}/wwan-config@.service ${D}/${systemd_unitdir}/system/
install -d ${D}/${sysconfdir}/wwan
if [ ! -z "${WWAN_NBR}" ] ; then
install -d ${D}${sysconfdir}/systemd/system/multi-user.target.requires/
for i in `seq 0 ${WWAN_NBR}`; do
if [ $i = ${WWAN_NBR} ]; then continue; fi
if [ "${SYSTEMD_AUTO_ENABLE}" = "enable" ] ; then
ln -sf ${systemd_unitdir}/system/wwan-config@.service \
${D}${sysconfdir}/systemd/system/multi-user.target.requires/wwan-config@wwan$i.service
fi
install -m 0644 ${WORKDIR}/default.conf ${D}${sysconfdir}/wwan/wwan$i.conf
if [ ! -z "${NM_WWAN_APN}" ]; then
sed -i 's/apn=/apn=${NM_WWAN_APN}/g' ${D}${sysconfdir}/wwan/wwan$i.conf
fi
if [ ! -z "${NM_WWAN_USER}" ]; then
sed -i 's/user=/user=${NM_WWAN_USER}/g' ${D}${sysconfdir}/wwan/wwan$i.conf
fi
if [ ! -z "${NM_WWAN_PASSWORD}" ]; then
sed -i 's/password=/password=${NM_WWAN_PASSWORD}/g' ${D}${sysconfdir}/wwan/wwan$i.conf
fi
done
fi
}

View File

@ -0,0 +1,68 @@
From 3ffd1a9c0b42c32e720f05b36b6b837fb1ea8c46 Mon Sep 17 00:00:00 2001
From: Alexandre Bard <alexandre.bard@netmodule.com>
Date: Thu, 22 Feb 2024 17:21:09 +0100
Subject: [PATCH] Hotfixes for gemini
- Handling HUB_RST and GSM_RST lines
- Using GSM_EN instead of GSM_PWR
- Using gpio line EXT_SUPPLY_EN0 instead of "kernel" supply
Signed-off-by: Alexandre Bard <alexandre.bard@netmodule.com>
---
wwan_config/modems/wwan_modem.py | 28 +++++++++++++++++++++++-----
1 file changed, 23 insertions(+), 5 deletions(-)
diff --git a/wwan_config/modems/wwan_modem.py b/wwan_config/modems/wwan_modem.py
index 710ec76..cc12a53 100755
--- a/wwan_config/modems/wwan_modem.py
+++ b/wwan_config/modems/wwan_modem.py
@@ -25,8 +25,24 @@ class WwanModem:
def __init__(self, device_name):
self.name = device_name
- self.pwr_line = gpiod.find_line('GSM_PWR')
+
+ # Start by disabling the power supply
+ self.supply_line = gpiod.find_line('EXT_SUPPLY_EN0')
+ self.supply_line.request(consumer=self.name, type=gpiod.LINE_REQ_DIR_OUT, default_vals=[0])
+
+ # Release all RST lines
+ self.hub_rst_line = gpiod.find_line('HUB_RST~')
+ self.hub_rst_line.request(consumer=self.name, type=gpiod.LINE_REQ_DIR_OUT, default_vals=[1])
+
+ self.rst_line = gpiod.find_line('GSM_RST')
+ self.rst_line.request(consumer=self.name, type=gpiod.LINE_REQ_DIR_OUT, default_vals=[0])
+
+
+ # Prepare the the PWR line for the pulse
+ self.pwr_line = gpiod.find_line('GSM_EN')
self.pwr_line.request(consumer=self.name, type=gpiod.LINE_REQ_DIR_OUT, default_vals=[0])
+ time.sleep(1)
+
while True:
try:
@@ -34,7 +50,11 @@ class WwanModem:
break
except ModemNotPoweredException as e:
logger.error("The modem did not power up, turning power off and on again")
- self.power_down()
+ try:
+ self.power_down()
+ except PwrNotControllableException as e:
+ logger.error("The power cannot be controlled, not shutting down, the only we can do is wait...");
+
# Make sure the power is down long enough to avoid a glitch
# With toby-l2 this down time must be at least 130ms
time.sleep(1)
@@ -158,9 +178,7 @@ class WwanModem:
raise ModemNotPoweredException()
def set_pwr_state(self, value):
- state = "enabled" if value == 1 else "disabled"
- with open("/sys/devices/platform/" + self.name + "-supply/state", "w") as supply_file:
- supply_file.write(state + "\n")
+ self.supply_line.set_value(value)
def power_up(self):
logger.info("modem power up")

View File

@ -0,0 +1,26 @@
From a2b92fb896bdf2c5579676f05df4fcc7c488d94f Mon Sep 17 00:00:00 2001
From: Alexandre Bard <alexandre.bard@netmodule.com>
Date: Thu, 22 Feb 2024 17:28:56 +0100
Subject: [PATCH] hotfix for kirkstone
With the upgrade from dunfell to kirkstone, setuptools-git-version does
not exists anymore.
Signed-off-by: Alexandre Bard <alexandre.bard@netmodule.com>
---
setup.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
index 8009e49..88415ae 100755
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ from setuptools import setup, find_packages
setup(
name='wwan_config',
version_format='{tag}.{commitcount}+{gitsha}',
- setup_requires=['setuptools-git-version'],
+ setup_requires=['setuptools-scm'],
description='WWAN modem configurator',
author='Alexandre Bard',
author_email='alexandre.bard@netmodule.com',

View File

@ -0,0 +1,51 @@
#
# This file is part of wwan-config service
#
# Define a private APN to be used by the modem
# ! ONLY REQUIRED WHEN USING UBLOX TOBY-L2, will be ignored for other modems
#
# Required fields:
# apn: Name of the access point
# user: Username used to authenticate on APN
# password: Password used to authenticate on APN
#
[apn]
apn=
user=
password=
#
# Select the SIM card to be used by the modem
#
# auto: The script will detect if a physical SIM card is
# present and switch to eSIM if it is not the case
# sim1: Use the physical SIM card on the main board
# m2m: Use the eSIM of the main board
# ui-top: Use the SIM card that is on top of the User Interface
# ui-btm: Use the SIM card that is on the bottom of the User Interface
#
[sim]
SIM=auto
#
# ublox specific configurations:
#
# mode (+UBMCONF) :
# - Router : The modem will act as router and DHCP server.
# - Bridge : The modem will only act as a Bridge between the local and the GSM network.
#
# usb_profile (+UUSBCONF) :
# ! ONLY USED WITH TOBY-L2, will be ignored for other modems
# Select between different network/usb interfaces :
# - RNDIS
# - ECM
#
[ublox]
mode=Bridge
usb_profile=ECM

View File

@ -0,0 +1,18 @@
[Unit]
Description=WWAN configurator for device %I
[Service]
Type=forking
ExecStart=/usr/bin/wwan-config %I
PIDFile=/run/%I.pid
Restart=on-failure
Nice=-20
# Start time may include power cycles and start of ModemManager
TimeoutStartSec=180
# The default kill mode is killing the subprocesses created by the "os.system"
# calls used to stop ModemManager when handling the kill signal.
KillMode=mixed
[Install]
RequiredBy=multi-user.target

View File

@ -1,7 +0,0 @@
CONFIG_TASKSET=y
CONFIG_FEATURE_TASKSET_FANCY=y
CONFIG_FEATURE_TASKSET_CPULIST=y
CONFIG_FEATURE_FANCY_HEAD=y
CONFIG_FEATURE_DATE_NANO=y

View File

@ -1,5 +0,0 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/busybox:"
SRC_URI += " \
file://kernel-selftest.cfg \
"

View File

@ -1,47 +0,0 @@
SUMMARY = "Create a fitimage with included kernel, dtb and ramdisk"
MAINTAINER = "Lucien Müller <lucien.mueller@netmodule.com>"
LICENSE = "CLOSED"
inherit kernel-fitimage
inherit kernel-arch
inherit deploy
PACKAGE_ARCH = "${MACHINE_ARCH}"
KERNEL_CLASSES = "kernel-fitimage"
KERNEL_IMAGETYPES += "fitImage"
addtask assemble_fitimage_initramfs before do_install after do_compile
addtask do_deploy after assemble_fitimage_initramfs
do_configure[depends] += "virtual/kernel:do_deploy"
do_bundle_initramfs[depends] += "${INITRAMFS_IMAGE}:do_image_complete"
do_deploy[depends] += "${PN}:do_assemble_fitimage"
INITRAMFS_IMAGE = "nwl-ramdisk-minimal"
INITRAMFS_IMAGE_NAME = "${INITRAMFS_IMAGE}-${MACHINE}"
INITRAMFS_IMAGE_BUNDLE = "0"
do_configure:prepend () {
install -d ${S}/arch/${ARCH}/boot/
for DTB in ${KERNEL_DEVICETREE}; do
# We have to watch out for when the device-tree is located in its own subdirectory in the kernel sources.
# DTB_SUBDIR will contain this directory.
DTB_DEPLOY=`basename ${DTB}`
DTB_SUBDIR=`dirname ${DTB}`
install -d arch/${ARCH}/boot/${DTB_SUBDIR}
install -m 0644 ${DEPLOY_DIR_IMAGE}/${DTB_DEPLOY} arch/${ARCH}/boot/${DTB}
done
install -m 0644 ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${KERNEL_IMAGE_LINK_NAME}.bin arch/${ARCH}/boot/vmlinuz.bin
}
kernel_do_deploy () {
# The kernel-fitimage class appends the deployment to this task. We just have to provide the task.
}
do_deploy () {
deployDir=${DEPLOY_DIR_IMAGE}
kernel_do_deploy
}

View File

@ -1,21 +1,27 @@
SUMMARY = "A minimal ramdisk image."
MAINTAINER = "Lucien Müller <lucien.mueller@netmodule.com>"
inherit nwl-image
IMAGE_FSTYPES = "cpio"
# Keep only the minimum packages
NO_RECOMMENDATIONS = "1"
COREOS_IMAGE_GENERATE_INSTALLER = "0"
COREOS_IMAGE_GENERATE_UKI = "0"
COREOS_IMAGE_GENERATE_SWU = "0"
inherit nwl-image
inherit nwl-image-fitimage
# Overwrite definition from nwl-image-fitimage to get rid of default artifacts from
# coreos like u-boot
COREOS_CI_DEPLOY_ARTIFACTS = "${@get_nwl_fitimage_ci_artifacts(d)}"
IMAGE_FSTYPES = "cpio.xz"
# Keep only the minimum packages
NO_RECOMMENDATIONS = "1"
EXTRA_IMAGE_FEATURES = "debug-tweaks ssh-server"
IMAGE_FEATURES += "ssh-server"
IMAGE_INSTALL:append = " \
networkmanager-nmcli \
systemd-conf \
kernel-selftest \
nwl-tests \
\
bmap-tools \
xz \
"

View File

@ -12,6 +12,22 @@ inherit nwl-image
# NWL specific files can be added as well:
# COREOS_CI_DEPLOY_ARTIFACTS += "${IMAGE_LINK_NAME}.custom.binary"
# Components required by uboot to boot an installed image
IMAGE_INSTALL:append = "\
kernel-devicetree \
${@bb.utils.contains('MACHINE_FEATURES', 'fpga', 'fpga-image', '', d)} \
"
# Add features and packages that are used in our tests:
IMAGE_FEATURES += "ssh-server networkmanager swupdate"
IMAGE_INSTALL:append = " packagegroup-core-full-cmdline swupdate-www"
IMAGE_INSTALL:append = " \
packagegroup-core-full-cmdline \
swupdate-www \
nwl-tests \
packagegroup-nwl-test-tools \
"
IMAGE_FSTYPES += "wic.xz wic.bmap"

View File

@ -1,56 +0,0 @@
# kernel-selftest misses some dependencies for some of the tests
# We add them here
RDEPENDS:${PN} += " \
perl-module-io \
perl-module-io-handle \
perl-module-io-seekable \
util-linux \
gcc-sanitizers \
fuse \
jq \
iputils \
iproute2 \
iproute2-tc \
iproute2-nstat \
iproute2-ss \
coreutils \
"
# kernel-module-gpio-mockup \
# "
DEPENDS += " \
util-linux \
gcc-sanitizers \
fuse \
numactl \
"
INSANE_SKIP:${PN} = "already-stripped"
TEST_LIST += "net net/forwarding net/mptcp lkdtm"
# Replace compile and install to make all tests
# do_compile() {
# if [ ${@bb.utils.contains('PACKAGECONFIG', 'bpf', 'True', 'False', d)} = 'True' ]; then
# if [ ${@bb.utils.contains('DEPENDS', 'clang-native', 'True', 'False', d)} = 'False' ]; then
# bbwarn "clang >= 6.0 with bpf support is needed with kernel 4.18+ so
# either install it and add it to HOSTTOOLS, or add clang-native from meta-clang to dependency"
# fi
# fi
# oe_runmake -C ${S}/tools/testing/selftests all
# }
#
# do_install() {
# oe_runmake -C ${S}/tools/testing/selftests INSTALL_PATH=${D}/usr/kernel-selftest install
# # Install kselftest-list.txt that required by kselftest runner.
# #oe_runmake -s --no-print-directory COLLECTION=${i} -C ${S}/tools/testing/selftests emit_tests \
# # >> ${D}/usr/kernel-selftest/kselftest-list.txt
# # Install kselftest runner.
# install -m 0755 ${S}/tools/testing/selftests/run_kselftest.sh ${D}/usr/kernel-selftest/
# cp -R --no-dereference --preserve=mode,links -v ${S}/tools/testing/selftests/kselftest ${D}/usr/kernel-selftest/
# if [ -e ${D}/usr/kernel-selftest/bpf/test_offload.py ]; then
# sed -i -e '1s,#!.*python3,#! /usr/bin/env python3,' ${D}/usr/kernel-selftest/bpf/test_offload.py
# fi
# chown root:root -R ${D}/usr/kernel-selftest
# }

View File

@ -0,0 +1,33 @@
inherit packagegroup
DESCRIPTION = "Base packages required for the NWL Distro"
PACKAGE_ARCH = "${MACHINE_ARCH}"
NRSW_MODULES = " \
kernel-module-board-descriptor \
kernel-module-system-info \
kernel-module-pcie \
"
TI_WIFI_PACKAGES = " \
firmware-ti-wl18xx \
"
WIFI_PACKAGES = " \
${@bb.utils.contains("MACHINE_FEATURES", "ti-wifi", "${TI_WIFI_PACKAGES}", "", d)} \
"
RDEPENDS:${PN} = " \
coreutils \
ncurses-terminfo-base \
networkmanager-nmcli \
dnsmasq \
systemd-conf \
\
kernel-modules \
${@bb.utils.contains("MACHINE_FEATURES", "nrsw-ready", "${NRSW_MODULES}", "", d)} \
\
${@bb.utils.contains("MACHINE_FEATURES", "wifi", "${WIFI_PACKAGES}", "", d)} \
"

View File

@ -0,0 +1,24 @@
inherit packagegroup
DESCRIPTION = "Common tools convenient for testing the features of NWL"
RDEPENDS:${PN} = " \
hostapd \
\
gps-utils \
\
can-utils \
\
libgpiod-tools \
\
chrony \
minicom \
\
udev-rules-nmhw \
\
modemmanager \
wwan-config \
\
gnss-mgr \
"

View File

@ -1,6 +1 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
do_install:append() {
# Remove default network configurations
rm -rf ${D}${systemd_unitdir}/network
}

View File

@ -0,0 +1,25 @@
# Copyright (C) 2019 Ramon Moesching <ramon.moesching@netmodule.com>
# Released under the MIT license (see COPYING.MIT for the terms)
DESCRIPTION = "udev rules for netmodule router and oem hardware"
HOMEPAGE = "netmodule.com"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SECTION = "base"
S = "${WORKDIR}/git"
SRC_URI = "git://gitlab.com/netmodule/tools/udev-rules-nmhw;protocol=ssh;user=git;branch=master;"
SRCREV = "e2fe34ea2d0c1ebd08d26bf90197b5625765e242"
do_install () {
install -d ${D}${libdir}/udev/rules.d
if ls ${S}/machines/${MACHINE}/*.rules 1> /dev/null 2>&1 ; then
install -m 0644 ${S}/machines/${MACHINE}/*.rules ${D}${libdir}/udev/rules.d/
if [ -f ${S}/machines/${MACHINE}/*.sh ]; then
install -m 0755 ${S}/machines/${MACHINE}/*.sh ${D}${libdir}/udev/rules.d/
fi
fi
}

View File

@ -0,0 +1,51 @@
DESCRIPTION = "NetModule GNSS management tool"
LICENSE = "LGPL-3.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3000208d539ec061b899bce1d9ce9404"
RDEPENDS:${PN} += " \
python3-setuptools \
nmubxlib \
python3-systemd \
"
DEPENDS = "python3-setuptools-scm-native"
inherit setuptools3
inherit gitpkgv
inherit systemd
SYSTEMD_SERVICE:${PN} = "gnss-mgr.service"
inherit allarch
# Package Version (built from tags)
PKGV = "${GITPKGVTAG}"
# Recipe Version
PV = "1.0-git${SRCPV}"
PR = "r1"
SRC_URI = "git://gitlab.com/netmodule/tools/gnssmgr.git;protocol=ssh;user=git;branch=master \
file://0001-setup.py-Make-compatible-with-kirkstone.patch \
file://0002-gnss-mgr.service-Hotfix-for-gemini.patch \
"
SRCREV = "3d80bb4871ddc2e3e84553a86b767b419b96148f"
S = "${WORKDIR}/git"
PACKAGES =+ "${PN}-test"
SUMMARY:${PN}-test = "Addon to gnss-mgr for testing purposes"
FILES:${PN}-test = "${bindir}/gnss-config-reader"
do_install:append() {
install -d ${D}${sysconfdir}/gnss
install -m 0644 ${S}/config/gnss-neom8.conf ${D}${sysconfdir}/gnss/gnss0.conf
install -d ${D}/${sbindir}/
install -m 0755 ${S}/systemd/gnss-mgr-service.py ${D}${sbindir}/gnss-mgr-service
install -d ${D}/${systemd_unitdir}/system/
install -m 0644 ${S}/systemd/gnss-mgr.service ${D}/${systemd_unitdir}/system/
# Test tool
install -d ${D}${bindir}/
install -m 0755 ${S}/testing/gnss-config-reader.py ${D}${bindir}/gnss-config-reader
}

View File

@ -0,0 +1,23 @@
From e1dc9e6a5e683dd8ed09a319d06ef0be8d0022cb Mon Sep 17 00:00:00 2001
From: Alexandre Bard <alexandre.bard@netmodule.com>
Date: Tue, 27 Feb 2024 11:33:39 +0100
Subject: [PATCH] setup.py: Make compatible with kirkstone
Signed-off-by: Alexandre Bard <alexandre.bard@netmodule.com>
---
setup.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
index 8d3714e..cda325e 100644
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ from setuptools import setup, find_packages
setup(
name='gnss_mgr',
version_format='{tag}.{commitcount}+{gitsha}',
- setup_requires=['setuptools-git-version'],
+ setup_requires=['setuptools-scm'],
description='GNSS Manager',
author='Marc Mattmüller',
author_email='marc.mattmueller@netmodule.com',

View File

@ -0,0 +1,34 @@
From 88eb6099cecfaa344dee3cacec54db0cd24f542f Mon Sep 17 00:00:00 2001
From: Alexandre Bard <alexandre.bard@netmodule.com>
Date: Thu, 29 Feb 2024 15:03:02 +0100
Subject: [PATCH] gnss-mgr.service: Hotfix for gemini
Start the gnss receiver as part of the service startup because it is not
started automatically.
Signed-off-by: Alexandre Bard <alexandre.bard@netmodule.com>
---
systemd/gnss-mgr.service | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/systemd/gnss-mgr.service b/systemd/gnss-mgr.service
index 4694bee..2aa0a9b 100644
--- a/systemd/gnss-mgr.service
+++ b/systemd/gnss-mgr.service
@@ -1,13 +1,14 @@
[Unit]
Description=GNSS Manager
-Requires=dev-gnss0.device
-After=dev-gnss0.device
[Service]
Type=oneshot
RemainAfterExit=yes
+ExecStartPre=/bin/sh -c 'gpioset $(gpiofind "GNSS_RST~")=1'
+ExecStartPre=sleep 5
ExecStart=/usr/sbin/gnss-mgr-service start
ExecStop=/usr/sbin/gnss-mgr-service stop
+ExecStopPost=/bin/sh -c 'gpioset $(gpiofind "GNSS_RST~")=0'
ExecReload=/usr/sbin/gnss-mgr-service reload
StandardOutput=null

View File

@ -0,0 +1,15 @@
TTY_DEVICE = "/dev/gnss0"
USBAUTO_STATE = "false"
do_install:append () {
sed -i 's|DEVICES=""|DEVICES="${TTY_DEVICE}"|g' ${D}/etc/default/gpsd.default
sed -i 's|USBAUTO="true"|USBAUTO="${USBAUTO_STATE}"|g' ${D}/etc/default/gpsd.default
sed -i "s/GPSD_OPTIONS=\"\(.*\)\"/GPSD_OPTIONS=\"\1 -s 115200\"/g" \
${D}${sysconfdir}/default/gpsd.default
}
# Service is started by gnss-mgr
SYSTEMD_AUTO_ENABLE = "disable"

View File

@ -0,0 +1,24 @@
DESCRIPTION = "Library implementing UBX protocol for u-blox gnss modems"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=331a9220a74b05f133bf1ef09b6903b2"
RDEPENDS:${PN} += " \
python3-setuptools \
"
DEPENDS = "python3-setuptools-scm-native"
inherit setuptools3
inherit gitpkgv
# Package Version (built from tags)
PKGV = "${GITPKGVTAG}"
# Recipe Version
PV = "1.0-git${SRCPV}"
PR = "r1"
SRC_URI = "git://gitlab.com/netmodule/tools/nmubxlib.git;protocol=ssh;user=git;branch=master"
SRCREV = "7c22b57cdd169a6651cb0c17a215d1e448727bcb"
S = "${WORKDIR}/git"

View File

@ -0,0 +1,22 @@
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""
inherit allarch
SRC_URI = "git://git@bitbucket.gad.local:7999/nm-nsp/nwl-test.git;protocol=ssh;branch=main"
PV = "1.0+git${SRCPV}"
SRCREV = "9989fb3c439db711ecaef4a8e8eb60f88533eccc"
S = "${WORKDIR}/git"
RDEPENDS:${PN} = "bats"
FILES:${PN} = "${datadir}/*"
FILES:${PN} += "${bindir}/*"
do_install () {
make install PREFIX=${D}${prefix}
}

View File

@ -0,0 +1,18 @@
# 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 += "nwl-marvell-bsp"
BBFILE_PATTERN_nwl-marvell-bsp = "^${LAYERDIR}/"
BBFILE_PRIORITY_nwl-marvell-bsp = "7"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_nwl-marvell-bsp = "1"
LAYERDEPENDS_nwl-marvell-bsp = "core meta-belden-coreos"
LAYERSERIES_COMPAT_nwl-marvell-bsp = "kirkstone"

View File

@ -0,0 +1,70 @@
#@TYPE: Machine
#@NAME: cn9131-nitroc
#@DESCRIPTION: Belden NetModule CN9131 NITROC
#
# cn913x is from Marvell octeon tx2 family, but it's based on a cortex-A72
# so we can't use the armv8-2a/tune-octeontx2.inc (armv8a vs arm8-2a)
# instead we can use the older octeontx family previously known as thunderx
require conf/machine/include/arm/armv8a/tune-thunderx.inc
# SOC_FAMILY is added to MACHINE_OVERRIDES in the soc-family.inc file
SOC_FAMILY = "cn913x"
require conf/machine/include/soc-family.inc
# Bootloader configuration
# *****************************************************************************
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
PREFERRED_VERSION_u-boot ?= "2020.10-marvell"
# Set the configuration and device tree for Nitroc
UBOOT_MACHINE = "nitroc_defconfig"
UBOOT_BUILDENV_DEVICE_TREE ??= "cn9131-nitroc-v1"
# Kernel configuration
# ******************************************************************************
PREFERRED_PROVIDER_virtual/kernel ?= "linux-nitroc"
PREFERRED_VERSION_linux-netmodule ?= "v6.6.y%"
PREFERRED_VERSION_trusted-firmware-a ?= "2.9"
KERNEL_IMAGETYPE = "Image"
KERNEL_DEFCONFIG ?= "nitroc_defconfig"
KERNEL_DEVICETREE ?= "\
marvell/cn9131-nitroc-v1.dtb \
marvell/cn9131-nitroc-m12.dtb \
marvell/cn9131-nitroc-rj45.dtb \
"
# getty configuration
# ******************************************************************************
SERIAL_CONSOLES = "115200;ttyS0"
SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}"
APPEND += "console=ttyS0,115200"
# Image generation
# ******************************************************************************
# Ensure that both flash-image.bin and boot.scr are generated as they are needed
# for a wic image
do_image_wic[depends] += "trusted-firmware-a:do_deploy"
WKS_FILE = "cn913x-sdcard.wks.in"
COREOS_INSTALLER_WKS_FILE ?= "cn913x-sdcard-installer.wks"
IMAGE_FSTYPES += "wic.xz wic.bmap"
COREOS_IMAGE_SWUPDATE_EXTRACLASSES += " coreos-image-swupdate-cn913x"
# No watchdog available yet
EFIBOOTGUARD_TIMEOUT ?= "0"
require conf/machine/include/coreos-generic-features/efi.inc
require conf/machine/include/coreos-generic-features/partitions.inc
### Device specific settings
# Kernel modules are not essential for booting but are needed for most things
MACHINE_EXTRA_RDEPENDS += "kernel-modules"
# Device trees are included in the unified kernel and not needed in the rootfs
# MACHINE_EXTRA_RDEPENDS += "kernel-devicetree"
# Needed for phy firmware
MACHINE_EXTRA_RDEPENDS += "linux-firmware-ath11k"
MACHINE_EXTRA_RDEPENDS += "linux-firmware-ath10k"

View File

@ -0,0 +1,29 @@
DESCRIPTION = "Marvell binaries like the system controller firmware"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://README.md;md5=bbdf038ac62317d3a12a067c50dadc61"
SRC_URI = "git://git@bitbucket.gad.local:7999/nm-nsp/binaries-marvell.git;protocol=ssh;user=git;branch=nitroc"
# Modify these as desired
PV = "11.23.08+git${SRCPV}"
SRCREV = "6765e4fa3eae4000a307bdb891fe8c03f3422f91"
S = "${WORKDIR}/git"
do_configure () {
:
}
do_compile () {
:
}
do_install () {
# The sources are needed by arm-trusted-firmware
install -d "${D}/usr/src/${PN}"
cp -r "${S}/mrvl_scp_bl2.img" "${D}/usr/src/${PN}/"
}
FILES:${PN}-dev = "/usr/src/${PN}"
INSANE_SKIP:${PN}-dev += "file-rdeps"
SYSROOT_DIRS += " /usr/src/${PN} "

View File

@ -0,0 +1,29 @@
DESCRIPTION = "Marvell DDR training library"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://Makefile;md5=9993156c815673120e02a7c8e00a8cc3"
SRC_URI = "git://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git;protocol=https;branch=master"
# Modify these as desired
PV = "devel+git${SRCPV}"
SRCREV = "bfcf62051be835f725005bb5137928f7c27b792e"
S = "${WORKDIR}/git"
do_configure () {
:
}
do_compile () {
:
}
do_install () {
# The sources are needed by arm-trusted-firmware
install -d "${D}/usr/src/${PN}"
cp -r "${S}/." "${D}/usr/src/${PN}/"
}
FILES:${PN}-dev = "/usr/src/${PN}"
INSANE_SKIP:${PN}-dev += "file-rdeps"
SYSROOT_DIRS += " /usr/src/${PN} "

View File

@ -0,0 +1,21 @@
require recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
DEPENDS += "mv-ddr-marvell binaries-marvell coreutils-native"
COMPATIBLE_MACHINE = "cn913x"
LIC_FILES_CHKSUM += "file://docs/license.rst;md5=b2c740efedc159745b9b31f88ff03dde"
SRC_URI = "git://git@bitbucket.gad.local:7999/nm-nsp/trusted-firmware-a.git;protocol=ssh;user=git;branch=nitroc-v2.9.0"
SRCREV = "41911b0db0a07878a384e8358950b79e6df7d1be"
EXTRA_OEMAKE += "MV_DDR_PATH=${PKG_CONFIG_SYSROOT_DIR}/usr/src/mv-ddr-marvell DDR_TOPOLOGY=2 SCP_BL2=${PKG_CONFIG_SYSROOT_DIR}/usr/src/binaries-marvell/mrvl_scp_bl2.img"
TFA_PLATFORM = "t9130_nitroc"
TFA_BUILD_TARGET = "all mrvl_flash"
TFA_INSTALL_TARGET = "flash-image"
TFA_DEBUG = "1"
TFA_MBEDTLS = "0"
TFA_UBOOT = "1"
TFA_UEFI = "0"

View File

@ -0,0 +1,32 @@
HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
DESCRIPTION = "U-Boot, a boot loader for Embedded boards based on PowerPC, \
ARM, MIPS and several other processors, which can be installed in a boot \
ROM and used to initialize and test the hardware or to download and run \
application code."
SECTION = "bootloaders"
DEPENDS += "flex-native bison-native"
COMPATIBLE_MACHINE = "cn913x"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025"
PE = "1"
SRCREV = "3534f6601c53362407bc6b3bf0af85908c38b81c"
SRC_URI = "git://git@bitbucket.gad.local:7999/nm-nsp/netmodule-u-boot.git;protocol=ssh;user=git;branch=sdk11.23.08-v2020.10-nitroc"
S = "${WORKDIR}/git"
require recipes-bsp/u-boot/u-boot.inc
require recipes-bsp/u-boot/u-boot-coreos.inc
# Solidrun patches require to build out-of-the-tree
B = "${WORKDIR}/build"
DEPENDS += "bc-native dtc-native u-boot-mkimage-native"
do_compile:prepend() {
export DEVICE_TREE="${UBOOT_BUILDENV_DEVICE_TREE}"
}
SYSROOT_DIRS += " /boot "

View File

@ -0,0 +1,71 @@
DESCRIPTION = "Linux kernel for the Nitroc hardware"
COMPATIBLE_MACHINE = "cn9131-nitroc"
inherit kernel
SRC_URI = "git://git@bitbucket.gad.local:7999/nm-nsp/netmodule-linux.git;protocol=ssh;user=git;branch=nitroc-v6.6.y"
SRCREV ?= "0b8f8f81ab0ec015002357820f50bfc2924390fe"
PV = "v6.6.y+git${SRCPV}"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
S = "${WORKDIR}/git"
#If a KERNEL_DEFCONFIG is specified, the defconfig specified in SRC_URI will be overwritten!
do_configure:append(){
if [ "${KERNEL_DEFCONFIG}" != "" ]; then
oe_runmake ${KERNEL_DEFCONFIG}
fi
configs="${@" ".join(find_cfgs(d))}"
if [ ! -z "${configs}" ]; then
${S}/scripts/kconfig/merge_config.sh -m -O ${WORKDIR}/build ${WORKDIR}/build/.config ${WORKDIR}/*.cfg
fi
}
# The default kenrel.bbclass expects it can remove the source symlink,
# newer kernels don't have this symlink so we need to override kernel_do_install
kernel_do_install() {
#
# First install the modules
#
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
oe_runmake DEPMOD=echo MODLIB=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION} INSTALL_FW_PATH=${D}${nonarch_base_libdir}/firmware modules_install
rm "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build"
# Remove empty module directories to prevent QA issues
find "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel" -type d -empty -delete
else
bbnote "no modules to install"
fi
#
# Install various kernel output (zImage, map file, config, module support files)
#
install -d ${D}/${KERNEL_IMAGEDEST}
#
# When including an initramfs bundle inside a FIT image, the fitImage is created after the install task
# by do_assemble_fitimage_initramfs.
# This happens after the generation of the initramfs bundle (done by do_bundle_initramfs).
# So, at the level of the install task we should not try to install the fitImage. fitImage is still not
# generated yet.
# After the generation of the fitImage, the deploy task copies the fitImage from the build directory to
# the deploy folder.
#
for imageType in ${KERNEL_IMAGETYPES} ; do
if [ $imageType != "fitImage" ] || [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ] ; then
install -m 0644 ${KERNEL_OUTPUT_DIR}/$imageType ${D}/${KERNEL_IMAGEDEST}/$imageType-${KERNEL_VERSION}
fi
done
install -m 0644 System.map ${D}/${KERNEL_IMAGEDEST}/System.map-${KERNEL_VERSION}
install -m 0644 .config ${D}/${KERNEL_IMAGEDEST}/config-${KERNEL_VERSION}
install -m 0644 vmlinux ${D}/${KERNEL_IMAGEDEST}/vmlinux-${KERNEL_VERSION}
[ -e Module.symvers ] && install -m 0644 Module.symvers ${D}/${KERNEL_IMAGEDEST}/Module.symvers-${KERNEL_VERSION}
install -d ${D}${sysconfdir}/modules-load.d
install -d ${D}${sysconfdir}/modprobe.d
}
require recipes-kernel/linux/linux-yocto-coreos-efi.inc

View File

@ -30,6 +30,7 @@ TEMPLATECONF="${NWL_ROOT}/templates"
# Add support for ##NWLS_LAYERSDIR## inside of bblayer template
coreos-bblayers-envsub NWL_LAYERSDIR "${NWL_ROOT}/layers"
coreos-bblayers-envsub NWL_EXTLAYERSDIR "${NWL_ROOT}/external-layers"
# Add the scripts directory of the NWL to the path
coreos_path_add "${NWL_ROOT}/scripts"

View File

@ -0,0 +1,109 @@
#!/bin/bash
# This script will look for git recipes in our own layers and
# automatically check if there are new upstream commit in order
# to update the SRCREV entry in the recipe.
#
# For it to work properly, UPSTREAM_CHECK_COMMITS = "1" must be set
# in your local.conf (see our template)
#
# This script does not commit anything, please review the changes
# before committing and pushing.
set -euo pipefail
ABSOLUTE_PATH="$(readlink -f "$0")"
SCRIPTS_DIR=$(dirname "${ABSOLUTE_PATH}")
YOCTO_DIR=$(readlink -f "${SCRIPTS_DIR}/../")
updatable_recipes=()
updatable_packages=()
get_updatable_recipes()
{
all_recipes=$(find "${YOCTO_DIR}"/layers -name "*.bb")
for recipe in ${all_recipes}; do
if grep -q SRCREV "${recipe}"; then
updatable_recipes+=("${recipe}")
fi
done
}
convert_recipes_to_package_names()
{
for file in "${updatable_recipes[@]}"; do
filename=$(basename "${file}")
package_name=${filename/_git\.bb/}
updatable_packages+=("${package_name}")
done
}
get_new_commit_lines()
{
# Load build environment (disable flags to avoid problems while sourcing
set +eu
export BB_ENV_PASSTHROUGH_ADDITIONS="UPSTREAM_CHECK_COMMITS"
export MACHINE=netmodule-hw20
export UPSTREAM_CHECK_COMMITS="1"
# shellcheck source=/dev/null
source "${YOCTO_DIR}"/nwl-init-build-env >/dev/null
set -eu
# the relevant output is on stderr
if ! upgrade_status=$(devtool check-upgrade-status "${updatable_packages[@]}" 2>&1 >/dev/null);
then
echo "devtool failed"
echo "${upgrade_status}"
exit 1
fi
if ! new_commit_lines=$(grep "new commits" <<< "${upgrade_status}")
then
echo "Nothing to update"
exit 0
fi
}
get_bbfile_from_package()
{
package="${1}"
for file in "${updatable_recipes[@]}"; do
# The grepped output will be used by caller
if grep "${package}" <<< "${file}"; then
return
fi
done
}
get_updatable_recipes
#echo -e "Found bbfiles: \n" "${updatable_recipes[@]}\n"
convert_recipes_to_package_names
echo -e "Looking for updates for these packages: \n" "${updatable_packages[@]}" "\n"
get_new_commit_lines
echo -e "New commits: \n${new_commit_lines}\n"
echo "Starting to update files"
IFS=$'\n' # Read line by line instead of word by word
for line in ${new_commit_lines}; do
# Get package name (2nd word of the line)
package_name=$(cut -d " " -f 2 <<< "${line}")
# Convert to recipe filename
bbfile=$(get_bbfile_from_package "${package_name}")
relative_bbfile_path=$(realpath --relative-to="${YOCTO_DIR}" "${bbfile}")
# The commit is the last word of the line
newrev=$(grep --only-matching --extended-regexp '[^ ]+\s?$' <<< "${line}")
newrev=$(tr -d " " <<< "${newrev}")
echo "Updating ${relative_bbfile_path}"
echo "To ${newrev}"
echo
sed -i "s/^SRCREV.*/SRCREV = \"${newrev}\"/g" "${bbfile}"
done
exit 0

View File

@ -10,6 +10,7 @@ BBLAYERS ?= " \
##COREOS_LAYERSDIR##/meta-belden-coreos \
##COREOS_LAYERSDIR##/meta-belden-coreos-bsp \
##COREOS_LAYERSDIR##/meta-belden-marvell-bsp \
##COREOS_LAYERSDIR##/meta-netmodule-coreos-bsp \
##COREOS_EXTLAYERSDIR##/meta-openembedded/meta-oe \
##COREOS_EXTLAYERSDIR##/meta-openembedded/meta-networking \
##COREOS_EXTLAYERSDIR##/meta-openembedded/meta-filesystems \
@ -18,7 +19,12 @@ BBLAYERS ?= " \
##COREOS_EXTLAYERSDIR##/meta-virtualization \
##COREOS_EXTLAYERSDIR##/meta-efibootguard \
##COREOS_EXTLAYERSDIR##/meta-swupdate \
##COREOS_EXTLAYERSDIR##/meta-arm/meta-arm \
##COREOS_EXTLAYERSDIR##/meta-arm/meta-arm-toolchain \
##COREOS_EXTLAYERSDIR##/meta-ti/meta-ti-bsp \
##NWL_LAYERSDIR##/meta-nwl-distro \
##NWL_LAYERSDIR##/meta-netmodule-legacy-bsp \
##NWL_LAYERSDIR##/meta-nwl-marvell-bsp \
##NWL_EXTLAYERSDIR##/meta-netmodule-wlan \
"

Some files were not shown because too many files have changed in this diff Show More