diff options
| author | John Klug <john.klug@multitech.com> | 2020-11-11 14:22:06 -0600 |
|---|---|---|
| committer | John Klug <john.klug@multitech.com> | 2020-11-11 14:22:06 -0600 |
| commit | d75cc859d0009649aa5c97731933b50ba48231ba (patch) | |
| tree | fbd1fac00b1f4a4b5688352f402335918f7c4807 | |
| download | meta-mlinux-atmel-5.3.0a.tar.gz meta-mlinux-atmel-5.3.0a.tar.bz2 meta-mlinux-atmel-5.3.0a.zip | |
MultiTech mLinux Atmel distribution OpenEmbedded layer5.3.0a
39 files changed, 1837 insertions, 0 deletions
diff --git a/COPYING.MIT b/COPYING.MIT new file mode 100644 index 0000000..fb950dc --- /dev/null +++ b/COPYING.MIT @@ -0,0 +1,17 @@ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. @@ -0,0 +1,9 @@ +All MultiTech-copyrighted software contained in mLinux is covered by +GPL (GNU General Public License) version 2, unless provided under a different license. + +All bitbake metadata is MIT licensed unless otherwise stated. Source code +included in tree for individual recipes is under the LICENSE stated in +the associated recipe (.bb file) unless otherwise stated. + +License information for any other files is either explicitly stated +or defaults to GPL version 2. @@ -0,0 +1,39 @@ +MultiTech mLinux distribution OpenEmbedded layer for Atmel + +This layer depends on: + +URI: git://git.openembedded.org/openembedded-core +branch: thud +revision: HEAD + +Numerous layers in: +URI: git://git.openembedded.org/meta-openembedded +branch: thud +revision: HEAD + +MultiTech hardware layer: +URI: git://git.multitech.net/meta-multitech +branch: thud +revision: HEAD + +URI: git://github.com/woglinde/meta-java.git +branch: thud +revision: HEAD + +URI: git://git.yoctoproject.org/meta-mono +branch: thud +revision: HEAD + +URI: git://github.com/imyller/meta-nodejs.git +branch: thud +revision: HEAD + +------------ + BUILDING +------------ + +mLinux should be built using the mlinux integration repo at git://git.multitech.net/mlinux +or using the downloadable tarball. See http://www.multitech.net for instructions and +downloads. + +This is mLinux 5.x.y, based on Yocto-Morty and Atmel Linux 4.9. diff --git a/classes/mlinux-image.bbclass b/classes/mlinux-image.bbclass new file mode 100644 index 0000000..dab5e5b --- /dev/null +++ b/classes/mlinux-image.bbclass @@ -0,0 +1,109 @@ +# redefine mkfs.jffs2 command and remove --faketime option so we get non-zero file times +# having file mod times of zero confuses cron +IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --output=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.jffs2 ${EXTRA_IMAGECMD}" + +# set specified mtadm password in image using MTADM_PASSWORD_HASH +mlinux_set_root_password () { + if [ -e ${IMAGE_ROOTFS}/etc/shadow ]; then + sed -i 's%^mtadm:[^:]*:%mtadm:${MTADM_PASSWORD_HASH}:%' ${IMAGE_ROOTFS}/etc/shadow + elif [ -e ${IMAGE_ROOTFS}/etc/passwd ]; then + sed -i 's%^mtadm:[^:]*:%mtadm:${MTADM_PASSWORD_HASH}:%' ${IMAGE_ROOTFS}/etc/passwd + fi +} +ROOTFS_POSTPROCESS_COMMAND += "mlinux_set_root_password;" + +# set custom product sw version to /etc/issue file +mlinux_set_product_version () { + PREV_DIR=$(pwd) + cd "$TOPDIR" + PRODUCT_VER=$(git describe) + cd "$PREV_DIR" + PRODUCT_DATE=$(date +%Y-%m-%dT%H:%M:%S) + + if [ -n "${PRODUCT_VER}" ]; then + # set issue + if cat ${IMAGE_ROOTFS}/etc/issue | grep "Version: " > /dev/null 2>&1 ; then + # replace + sed -i "s/^Version: .*$/Version: $PRODUCT_VER/g" ${IMAGE_ROOTFS}/etc/issue + sed -i "s/^Date: .*$/Date: $PRODUCT_DATE/g" ${IMAGE_ROOTFS}/etc/issue + else + # add + echo "" >> ${IMAGE_ROOTFS}/etc/issue + echo "Version: ${PRODUCT_VER}" >> ${IMAGE_ROOTFS}/etc/issue + echo "Date: $(date +%Y-%m-%dT%H:%M:%S)" >> ${IMAGE_ROOTFS}/etc/issue + fi + fi +} +ROOTFS_POSTPROCESS_COMMAND += "mlinux_set_product_version;" + +# generate upgrade.bin files -- provides single file for upgrades +do_firmware() { + cd ${DEPLOY_DIR_IMAGE} + + case "${MTBSP}" in + mtbsp-at91) + rm -f bstrap.bin* uboot.bin* uImage.bin* rootfs.jffs2* model + + cp at91bootstrap_pmecc_padded.bin bstrap.bin + cp u-boot-${MACHINE}.bin uboot.bin + cp uImage-${MACHINE}.bin uImage.bin + cp ${IMAGE_BASENAME}-${MACHINE}.jffs2 rootfs.jffs2 + + cat bstrap.bin | md5sum > bstrap.bin.md5 + cat uboot.bin | md5sum > uboot.bin.md5 + cat uImage.bin | md5sum > uImage.bin.md5 + cat rootfs.jffs2 | md5sum > rootfs.jffs2.md5 + + case "${MACHINE}" in + mtcdt) + echo "mtcdt|mtcdtip|mtcdtiphp" >model + ;; + mtrv1) + echo "mtrv1|mths" >model + ;; + *) + echo "${MACHINE}" > model + ;; + esac + + tar cvf ${IMAGE_BASENAME}-${MACHINE}-upgrade.bin uImage.bin* rootfs.jffs2* model + tar cvf ${IMAGE_BASENAME}-${MACHINE}-upgrade-withboot.bin bstrap.bin* uboot.bin* uImage.bin* rootfs.jffs2* model + rm -f bstrap.bin* uboot.bin* uImage.bin* rootfs.jffs2* model + ;; + *) + ;; + esac +} +addtask firmware after do_image_complete before do_build + +# make links to images in TFTPBOOT_DIR for ease of development +do_tftpboot_links() { + if [ -n "${TFTPBOOT_DIR}" ]; then + case "${MTBSP}" in + mtbsp-at91) + TFTPBOOT_CLEAN="oe_bootstrap.bin oe_bootstrap_pmecc_padded.bin \ + oe_u-boot.bin oe_uImage.bin oe_rootfs.jffs2 oe_images oe_upgrade.bin oe_upgrade-withboot.bin" + + install -d ${DEPLOY_DIR_IMAGE} + + for f in ${TFTPBOOT_CLEAN}; do + rm -f ${TFTPBOOT_DIR}/$f + done + + ln -nfs ${DEPLOY_DIR_IMAGE}/at91bootstrap.bin ${TFTPBOOT_DIR}/oe_bootstrap.bin + if [ -f ${DEPLOY_DIR_IMAGE}/at91bootstrap_pmecc_padded.bin ]; then + ln -nfs ${DEPLOY_DIR_IMAGE}/at91bootstrap_pmecc_padded.bin ${TFTPBOOT_DIR}/oe_bootstrap_pmecc_padded.bin + fi + ln -nfs ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.bin ${TFTPBOOT_DIR}/oe_u-boot.bin + ln -nfs ${DEPLOY_DIR_IMAGE}/uImage-${MACHINE}.bin ${TFTPBOOT_DIR}/oe_uImage.bin + ln -nfs ${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}.jffs2 ${TFTPBOOT_DIR}/oe_rootfs.jffs2 + ln -nfs ${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}-upgrade.bin ${TFTPBOOT_DIR}/oe_upgrade.bin + ln -nfs ${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}-upgrade-withboot.bin ${TFTPBOOT_DIR}/oe_upgrade-withboot.bin + ln -nfs ${DEPLOY_DIR_IMAGE} ${TFTPBOOT_DIR}/oe_images + ;; + *) + ;; + esac + fi +} +addtask tftpboot_links after do_firmware before do_build diff --git a/classes/mlinux-mirrors.bbclass b/classes/mlinux-mirrors.bbclass new file mode 100644 index 0000000..5a88695 --- /dev/null +++ b/classes/mlinux-mirrors.bbclass @@ -0,0 +1,14 @@ +MIRRORS_append () { +cvs://.*/.* http://multitech.net/mlinux/sources/ +svn://.*/.* http://multitech.net/mlinux/sources/ +git://.*/.* http://multitech.net/mlinux/sources/ +hg://.*/.* http://multitech.net/mlinux/sources/ +bzr://.*/.* http://multitech.net/mlinux/sources/ +osc://.*/.* http://multitech.net/mlinux/sources/ +p4://.*/.* http://multitech.net/mlinux/sources/ +ftp://.*/.* http://multitech.net/mlinux/sources/ +https?$://.*/.* http://multitech.net/mlinux/sources/ +http?$://.*/.* http://multitech.net/mlinux/sources/ +} + +SAVANNAH_GNU_MIRROR = "http://download-mirror.savannah.gnu.org/releases" diff --git a/classes/mlinux_metadata_scm.bbclass b/classes/mlinux_metadata_scm.bbclass new file mode 100644 index 0000000..b220344 --- /dev/null +++ b/classes/mlinux_metadata_scm.bbclass @@ -0,0 +1,14 @@ +MLINUX_METADATA_REVISION = "${@base_get_metadata_git_revision("${OEROOT}",None)}" +MLINUX_METADATA_BRANCH = "${@base_get_metadata_git_branch("${OEROOT}",None).strip()}" +MLINUX_LAYERS = "${@mlinux_layers(bb,d)}" + +def mlinux_layers(bb, d): + layers = (d.getVar("BBLAYERS", d, 1) or "").split() + layer_revs = "" + + for layer in layers: + branch = base_get_metadata_git_branch(layer, d).strip() + rev = base_get_metadata_git_revision(layer, d) + layer_revs += "%-20s = %s:%s\n" % (os.path.basename(layer), branch, rev) + + return layer_revs diff --git a/conf/layer.conf b/conf/layer.conf new file mode 100644 index 0000000..0d3356d --- /dev/null +++ b/conf/layer.conf @@ -0,0 +1,10 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "meta-mlinux-atmel" +BBFILE_PATTERN_meta-mlinux-atmel = "^${LAYERDIR}/" +BBFILE_PRIORITY_meta-mlinux-atmel = "55" diff --git a/prod-scripts/MTCDT-0.1/cdteep.sh b/prod-scripts/MTCDT-0.1/cdteep.sh new file mode 100755 index 0000000..c0e1e14 --- /dev/null +++ b/prod-scripts/MTCDT-0.1/cdteep.sh @@ -0,0 +1,110 @@ +#!/bin/sh +# This scripts follows old school option rules, and all +# options must come before parameters. Four parameters +# are required. Options requiring parameters must be +# followed by their parameter, with or without a space. +# Options not requiring parameters can be ganged, and may +# precede a single option requiring a parameter. +# +MYNAME=cdteep.sh +out="/sys/bus/i2c/devices/0-0056/eeprom" +vendor_id="Multi-Tech Systems" +hw_version="MTCDT-0.1" + + +# Set the MTCDT EEPROM +function usage { + echo "${MYNAME}"' -d -g -b "bt_mac_addr" -w "wifi_mac_addr" -i "imei number" -l "product-id" "device-id" "uuid" "eth_mac_addr"' >&2 + cat <<!EOF >&2 + assumptions: + All options are optional and must come first. + -b and -w require a following mac address + -d displays the PROM, do not write. Ignores other parameters. + -g GPS capability. + -l lora capability. + -i requires a following imei number + + Example + cdteep.sh -lb 01:12:AB:C3:23:FE MTCDT-210L 3489235379 125-6356-2283-9792 12:34:AB:CD:8F:34 + To add wifimac and remove lora: + ${MYNAME} -b 01:12:AB:C3:23:FE -w 04:16:3C:C3:45:75 MTCDT-210L 3489235379 125-6356-2283-9792 12:34:AB:CD:8F:34 + + product-id, device-id, uuid and eth_mac_addr are required. + + -d display EEPROM + -g capa-GPS + -l capa-Lora + The following fields are fixed: + out-file ${out} + vendor-id ${vendor_id} + hw-version ${hw_version} +!EOF + exit 1 +} + +((display=0)) + +while getopts b:dgw:i:l opt ; do +echo looking at opt $opt + case $opt in + b) + bt_mac_addr="$OPTARG" + barg="--mac-bluetooth ${OPTARG} --capa-bluetooth" + ;; + w) + wifi_mac_addr="$OPTARG" + warg="--mac-wifi ${OPTARG} --capa-wifi" + ;; + i) + imei="$OPTARG" + if ((${#imei} == 0)) ; then + echo "i option requires an imei number." >&2 + usage + fi + iarg="--imei ${OPTARG}" + ;; + l) + larg="--capa-lora" + ;; + d) + echo -e "\n\nEEPROM contents" + echo "-----------------" + mts-id-eeprom --in-file $out + exit + ;; + g) + gps="--capa-gps" + ;; + \?) + usage + ;; + :) + echo "Option -$OPTARG requires an argument." >&2 + usage + ;; + esac +done + + +shift $((OPTIND-1)) + +if (($# != 4)) ; then + echo Need 4 parameters beyond the options. >&2 + echo "You specified $#." >&2 + usage + exit 1 +fi +product_id=$1 +device_id=$2 +uuid=$3 +mac=$4 + +mts-id-eeprom --out-file $out --out-format bin --vendor-id "$vendor_id" \ + --product-id "$product_id" --device-id "$device_id" \ + --hw-version "$hw_version" --mac-addr $mac \ + ${warg} ${barg} \ + ${iarg} ${larg} ${gps} --uuid "$uuid" + +echo -e "\n\nNew contents" +echo "-----------------" +mts-id-eeprom --in-file $out diff --git a/recipes-core/base-files/fstab-at91/fstab b/recipes-core/base-files/fstab-at91/fstab new file mode 100644 index 0000000..8922faf --- /dev/null +++ b/recipes-core/base-files/fstab-at91/fstab @@ -0,0 +1,10 @@ +rootfs / auto defaults 1 1 +proc /proc proc defaults 0 0 +devpts /dev/pts devpts mode=0620,gid=5 0 0 +usbdevfs /proc/bus/usb usbdevfs noauto 0 0 +tmpfs /run tmpfs mode=0755,nodev,nosuid,strictatime 0 0 +tmpfs /var/volatile tmpfs defaults 0 0 +configfs /sys/kernel/config configfs defaults 0 0 + +/dev/mtdblock6 /var/config jffs2 defaults 0 0 +/dev/mtdblock7 /var/oem jffs2 defaults,ro 0 0 diff --git a/recipes-core/base-files/fstab-at91_1.0.bb b/recipes-core/base-files/fstab-at91_1.0.bb new file mode 100644 index 0000000..cd2102a --- /dev/null +++ b/recipes-core/base-files/fstab-at91_1.0.bb @@ -0,0 +1,17 @@ +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" +inherit allarch +PR = "r1" +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +PROVIDES = "fstab" +DEPENDS = "base-files" +RDEPENDS_${PN} = "base-files" + +SRC_URI = "file://fstab" + +FILES_${PN} = "${sysconfdir}/fstab" + +do_install() { + install -d ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir} +} diff --git a/recipes-core/images/core-image-rorootfs-overlay-initramfs.bb b/recipes-core/images/core-image-rorootfs-overlay-initramfs.bb new file mode 100644 index 0000000..47946c5 --- /dev/null +++ b/recipes-core/images/core-image-rorootfs-overlay-initramfs.bb @@ -0,0 +1,23 @@ +# Simple initramfs image. Mostly used for live images. +# Derived from https://github.com/cmhe/meta-readonly-rootfs-overlay +DESCRIPTION = "Small image capable of booting a device. The kernel includes \ +the Minimal RAM-based Initial Root Filesystem (initramfs), mounts the root fs \ +read only and uses a file system overlay for written data." + +PACKAGE_INSTALL = "initramfs-readonly-rootfs-overlay ${VIRTUAL-RUNTIME_base-utils} udev base-passwd gptfdisk ${ROOTFS_BOOTSTRAP_INSTALL}" + +# Do not pollute the initrd image with rootfs features +IMAGE_FEATURES = "" + +export IMAGE_BASENAME = "${PN}" +IMAGE_LINGUAS = "" + +LICENSE = "MIT" + +IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}" +inherit core-image + +IMAGE_ROOTFS_SIZE = "8192" +IMAGE_ROOTFS_EXTRA_SPACE = "0" + +BAD_RECOMMENDATIONS += "busybox-syslog" diff --git a/recipes-core/images/mlinux-base-image.bb b/recipes-core/images/mlinux-base-image.bb new file mode 100644 index 0000000..e61a7f7 --- /dev/null +++ b/recipes-core/images/mlinux-base-image.bb @@ -0,0 +1,75 @@ +# Conduit 0.0 or 0.1 without RS9113 +DESCRIPTION = "mLinux base image" +LICENSE = "MIT" + +require mlinux-minimal-image.bb + +FILESYSTEM_FEATURES = "dosfstools \ + cifs-utils \ + lsof \ + " + +NETWORKING_FEATURES_append = " \ + bridge-utils \ + inetutils-ftp \ + openssl \ + rsync \ + iperf3 \ + lldpd \ + mii-diag \ + tcpdump \ + netcat \ + wget \ + strongswan \ + busybox-ifplugd \ + " + +WIFI_FEATURES = " \ + libnl \ + wpa-supplicant \ + iw \ + hostapd \ + hostapd-cfg \ + " + +BLUETOOTH_FEATURES = "bluez5" +BLUETOOTH_INIT ??= "bluez5-mlinit" + +# Add all timezones available +# ntpdate will sync time every 30 min by default via cron +TIME_FEATURES = "tzdata tzdata-africa tzdata-americas tzdata-antarctica tzdata-arctic \ + tzdata-asia tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific \ + tzdata-misc \ + cronie \ + ntpdate \ + " + +# u-boot-linux-utils: U-Boot environment access from Linux +# mlinux-scripts: sample scripts for setting up Conduit for various tasks +# reset-handler: default reset button handler +# radio-cmd: supports cellular radio activation and other configuration commands +# radio-query: queries cellular radio for common info (IMEI, RSSI, etc) +# jsparser: command line tool to parse JSON files +MULTITECH_FEATURES_append = " \ + u-boot-linux-utils \ + mlinux-scripts \ + reset-handler \ + radio-cmd radio-query \ + jsparser \ + " + +MISC_FEATURES = "minicom lrzsz nano" + +DEBUG_FEATURES = "" + +# Extra stuff to install +IMAGE_INSTALL_append = " \ + kernel-modules \ + ${WIFI_FEATURES} \ + ${BLUETOOTH_FEATURES} \ + ${BLUETOOTH_INIT} \ + ${FILESYSTEM_FEATURES} \ + ${TIME_FEATURES} \ + ${MISC_FEATURES} \ + ${DEBUG_FEATURES} \ + " diff --git a/recipes-core/images/mlinux-basetest-image.bb b/recipes-core/images/mlinux-basetest-image.bb new file mode 100644 index 0000000..807b16e --- /dev/null +++ b/recipes-core/images/mlinux-basetest-image.bb @@ -0,0 +1,9 @@ +# Conduit 0.0 or 0.1 without RS9113 +DESCRIPTION = "mLinux base test image" +LICENSE = "MIT" + +require mlinux-base-image.bb + +# Open console for test image +CONSOLE = "sysvinit-inittab-start-open" + diff --git a/recipes-core/images/mlinux-commissioning-image.bb b/recipes-core/images/mlinux-commissioning-image.bb new file mode 100644 index 0000000..5ba16a6 --- /dev/null +++ b/recipes-core/images/mlinux-commissioning-image.bb @@ -0,0 +1,7 @@ +require mlinux-rs9113-factory-image.bb +DESCRIPTION = "mLinux factory image with commissioning support" + +# Extra stuff to install +IMAGE_INSTALL_append = " dnsmasq bluez5-noinst-tools python-dbus commissioning commissioning-php-fpm rs9113-rm" +IMAGE_INSTALL_remove = "useradd" +ROOTFS_POSTPROCESS_COMMAND_remove = "mlinux_set_root_password;" diff --git a/recipes-core/images/mlinux-factory-image.bb b/recipes-core/images/mlinux-factory-image.bb new file mode 100644 index 0000000..49cab1f --- /dev/null +++ b/recipes-core/images/mlinux-factory-image.bb @@ -0,0 +1,94 @@ +# Conduit 0.0 or 0.1 without RS9113 +# +# The correct syntax for a machine append is: +# VARIABLE_append_mtcdt +# append must be before the machine name. +# +require mlinux-base-image.bb +DESCRIPTION = "mLinux factory image" + +# For now we don't put this in MTR or AEP +# Password restrictions library from Redhat +IMAGE_INSTALL_append = " libpwquality" + +LIGHTTPD = "lighttpd \ + lighttpd-module-cgi lighttpd-module-indexfile \ + lighttpd-module-redirect lighttpd-module-auth \ + lighttpd-module-access lighttpd-module-accesslog \ + lighttpd-module-rewrite lighttpd-module-proxy lighttpd-module-fastcgi \ + lighttpd-module-scgi lighttpd-module-alias \ + lighttpd-module-dirlisting lighttpd-module-staticfile \ + " + +# Lighttpd web server +IMAGE_INSTALL_append = " ${LIGHTTPD}" + +IMAGE_INSTALL_append = " sqlite3" + +IMAGE_INSTALL_append= " autossh" + +# Monit system/process monitor +IMAGE_INSTALL_append = " monit" + +# LoRa support (MTAC-LORA accessory card) +IMAGE_INSTALL_append = " lora-gateway-utils lora-query lora-network-server lora-packet-forwarder-usb" +IMAGE_INSTALL_append_mtcdt = " lora-gateway-geolocation-utils lora-packet-forwarder-geolocation" +IMAGE_INSTALL_append_mtcdt = " mtac-xdot-util" + +# MQTT server +IMAGE_INSTALL_append = " mosquitto mosquitto-clients" + + +# Perl support +IMAGE_INSTALL_append = " perl" +IMAGE_INSTALL_append = " perl-module-io perl-module-fcntl" +# not in meta-oe or oe-core... +#IMAGE_INSTALL_append = " libdevice-serialport-perl" +#IMAGE_INSTALL_append = " libexpect-perl" + +# Python support +IMAGE_INSTALL_append = " python" +# Python modules +IMAGE_INSTALL_append = " python-argparse \ +python-compression \ +python-dateutil \ +python-html \ +python-psutil \ +python-pyopenssl \ +python-pyserial \ +python-pyudev \ +python-pyusb \ +python-simplejson \ +python-sqlite3 \ +python-syslog \ +python-textutils \ +python-unixadmin \ +python-xml \ +" + +# OpenJDK Java runtime +# IMAGE_INSTALL_append = " openjdk-8" +# OpenJDK with JamVM VM (Multi-Tech default) +# IMAGE_INSTALL_append = " jamvm" +# OpenJDK with CACAO VM (run with 'java -cacao') +# IMAGE_INSTALL_append = " openjdk-7-vm-cacao" +# OpenJDK Zero VM (run with 'java -zero') +# IMAGE_INSTALL_append = " openjdk-7-vm-zero" + +# PHP support +IMAGE_INSTALL_append = " php php-cli php-fpm" + +# Node.js support not available for Atmel any more. +# IMAGE_INSTALL_append = " nodejs nodejs-npm" + +# Multi-Tech SMS Utility (see http://git.multitech.net) +IMAGE_INSTALL_append = " sms-utils" +# Multi-Tech GPS Utility +IMAGE_INSTALL_append = " venus-gps" +IMAGE_INSTALL_append = " pps-tools" +IMAGE_INSTALL_append = " dnsmasq bluez5-pand bluez5-rfcomm" + +# When ntp is to use the GPS, gps-utils is required +IMAGE_INSTALL_append = " gpsd libgps ntp ntp-utils gpspipe gps-utils" + +IMAGE_INSTALL_append = " uxfp uvccapture" diff --git a/recipes-core/images/mlinux-factory-test-image.bb b/recipes-core/images/mlinux-factory-test-image.bb new file mode 100644 index 0000000..e517734 --- /dev/null +++ b/recipes-core/images/mlinux-factory-test-image.bb @@ -0,0 +1,8 @@ +DESCRIPTION = "mLinux factory test image" +LICENSE = "MIT" + +require mlinux-rs9113-factory-image.bb + +IMAGE_INSTALL_append = " strace i2c-tools spitools devmem2" +#Open console for testing +CONSOLE = "sysvinit-inittab-start-open" diff --git a/recipes-core/images/mlinux-minimal-image.bb b/recipes-core/images/mlinux-minimal-image.bb new file mode 100644 index 0000000..d10210f --- /dev/null +++ b/recipes-core/images/mlinux-minimal-image.bb @@ -0,0 +1,83 @@ +# The correct syntax for a machine append is: +# VARIABLE_append_mtcdt +# append must be before the machine name. +DESCRIPTION = "mLinux minimal image" +LICENSE = "MIT" + +inherit core-image +inherit mlinux-image + +IMAGE_LINGUAS = "" +IMAGE_FEATURES_append = " ssh-server-openssh package-management" + +# Don't wipe out CORE_FEATURES from minimal image +CORE_FEATURES_append = " \ + packagegroup-core-boot packagegroup-distro-base \ + packagegroup-base-ext2 \ + packagegroup-base-usbhost packagegroup-base-usbgadget \ + udev-extraconf usb-gadget-mode \ + sysfsutils module-init-tools \ + bash procps \ + openssh-sftp-server \ + util-linux-mount util-linux-umount \ + start-stop-daemon \ + sudo \ + ${CORE_IMAGE_EXTRA_INSTALL} \ + mlinux-feed-configs \ + useradd \ + mts-io-sysfs \ + " + +CORE_FEATURES_append = " mtd-utils mtd-utils-jffs2 fstab-at91" + +CORE_FEATURES_append_mtcap = " mt-dt-overlay " + +NETWORKING_FEATURES = "ppp curl iproute2 \ + iptables iputils \ + " + +# mts-io: IO Controller for Multi-Tech hardware. +# (LEDs, temp sensor, serial lines, and more) +# +# config: Handles default config files stored in /var/config. +# /var/config is mounted on a separate flash partition so that config +# files survive flashing of rootfs. See recipe for details. +# +# set-rs485: enables RS485 half-duplex mode for a given tty device +# +# mtcap does not need mts-io-util, but it is required for LoRa 2.1 images + +MULTITECH_FEATURES = "kernel-module-mts-io \ + mts-io-noarch \ + mts-io-util \ + config \ + mts-id-eeprom \ + set-rs485 \ + radio-reset \ + upgrade-reboot" + +MULTITECH_MTAC = "" +MULTITECH_MTAC_append_mtcdt = " \ + kernel-module-mtac \ + kernel-module-mtac-eth \ + kernel-module-mtac-gpiob \ + kernel-module-mtac-lora \ + kernel-module-mtac-mfser \ + kernel-module-mtac-pulse \ + kernel-module-mtac-xdot" + +MULTITECH_BB = "" + +UPGRADE_FEATURES = "mtd-utils-static" + +CONSOLE = "sysvinit-inittab-start" + +IMAGE_INSTALL = "${CORE_FEATURES} \ + ${NETWORKING_FEATURES} \ + ${UPGRADE_FEATURES} \ + ${MULTITECH_FEATURES} \ + ${MULTITECH_MTAC} \ + ${MULTITECH_BB} \ + ${CONSOLE} \ + " + diff --git a/recipes-core/images/mlinux-mono-image.bb b/recipes-core/images/mlinux-mono-image.bb new file mode 100644 index 0000000..d066ae9 --- /dev/null +++ b/recipes-core/images/mlinux-mono-image.bb @@ -0,0 +1,3 @@ +require mlinux-base-image.bb + +IMAGE_INSTALL_append = " mono mono-helloworld" diff --git a/recipes-core/images/mlinux-mtcap-commissioning-image.bb b/recipes-core/images/mlinux-mtcap-commissioning-image.bb new file |
