From 1ccad4b98b412197ef72a2bb978cf26327b54fd6 Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 4 Dec 2019 13:35:28 -0600 Subject: Create mlinux-basetest-image which has no login for console --- recipes-core/images/mlinux-basetest-image.bb | 72 ++++++++++++++++++++++ recipes-core/images/mlinux-minimal-image.bb | 3 + recipes-core/sysvinit/files/start_getty_open | 6 ++ .../sysvinit/sysvinit-inittab_2.88dsf.bbappend | 23 +++++++ 4 files changed, 104 insertions(+) create mode 100644 recipes-core/images/mlinux-basetest-image.bb create mode 100644 recipes-core/sysvinit/files/start_getty_open (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-basetest-image.bb b/recipes-core/images/mlinux-basetest-image.bb new file mode 100644 index 0000000..6e000c1 --- /dev/null +++ b/recipes-core/images/mlinux-basetest-image.bb @@ -0,0 +1,72 @@ +# Conduit 0.0 or 0.1 without RS9113 +DESCRIPTION = "mLinux base image" +LICENSE = "MIT" + +require mlinux-minimal-image.bb + +# Open console for test image +CONSOLE = "sysvinit-inittab-start-open" + +FILESYSTEM_FEATURES = "dosfstools \ + cifs-utils \ + lsof \ + " + +NETWORKING_FEATURES += "bridge-utils \ + inetutils-ftp \ + openssl \ + rsync \ + iperf \ + lldpd \ + mii-diag \ + tcpdump \ + netcat \ + wget \ + strongswan \ + busybox-ifplugd \ + " + +WIFI_FEATURES = " \ + libnl \ + wpa-supplicant \ + wireless-tools \ + iw \ + hostap-daemon hostap-utils \ + " + +BLUETOOTH_FEATURES = "bluez5" + +# 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 += " \ + u-boot-linux-utils \ + mlinux-scripts \ + reset-handler \ + radio-cmd radio-query \ + jsparser \ + " + +MISC_FEATURES = "minicom lrzsz nano" + +# Extra stuff to install +IMAGE_INSTALL += " \ + kernel-modules \ + ${WIFI_FEATURES} \ + ${BLUETOOTH_FEATURES} \ + ${FILESYSTEM_FEATURES} \ + ${TIME_FEATURES} \ + ${MISC_FEATURES} \ + " diff --git a/recipes-core/images/mlinux-minimal-image.bb b/recipes-core/images/mlinux-minimal-image.bb index 8090f57..0e1d4a3 100644 --- a/recipes-core/images/mlinux-minimal-image.bb +++ b/recipes-core/images/mlinux-minimal-image.bb @@ -57,10 +57,13 @@ MULTITECH_MTAC = "kernel-module-mtac \ UPGRADE_FEATURES = "upgrade-reboot mtd-utils-static" +CONSOLE = "sysvinit-inittab-start" + IMAGE_INSTALL = "${CORE_FEATURES} \ ${NETWORKING_FEATURES} \ ${UPGRADE_FEATURES} \ ${MULTITECH_FEATURES} \ ${MULTITECH_MTAC} \ + ${CONSOLE} \ " diff --git a/recipes-core/sysvinit/files/start_getty_open b/recipes-core/sysvinit/files/start_getty_open new file mode 100644 index 0000000..3afce00 --- /dev/null +++ b/recipes-core/sysvinit/files/start_getty_open @@ -0,0 +1,6 @@ +#!/bin/sh +# Open console for testing +if [ -c /dev/$2 ] +then + /sbin/getty -L $1 $2 xterm -n -l /bin/bash +fi diff --git a/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend b/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend index 6c79846..be33f10 100644 --- a/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend +++ b/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend @@ -1,2 +1,25 @@ # enable gadget serial console for supported hardware +SUMMARY_${PN}-start-open = "Open debug console for development only" +SUMMARY_${PN}-start = "Production console" SERIAL_CONSOLES_append_mtcdt = " 115200;ttyGS0" +PACKAGES =+ "${PN}-start ${PN}-start-open" +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" +SRC_URI += "file://start_getty_open" + +FILES_${PN} = "${sysconfdir}/inittab" +FILES_${PN}-start = "${base_bindir}/start_getty" +FILES_${PN}-start-open = "${base_bindir}/start_getty_open" +RCONFLICTS_${PN}-start = "${PN}-start-open" +RCONFLICTS_${PN}-start-open = "${PN}-start" +RDEPENDS_${PN}-start-open = "${PN}" + +do_install_append() { + install -m 0755 ${WORKDIR}/start_getty_open ${D}${base_bindir}/start_getty_open +} +pkg_postinst_${PN}-start-open() { + sed -i 's?^S0:.*?S0:12345:respawn:/bin/start_getty_open 115200 ttyS0?' $D/etc/inittab +} + +pkg_prerm_${PN}-start-open() { + sed -i 's?^S0:.*?S0:12345:respawn:/bin/start_getty 115200 ttyS0?' $D/etc/inittab +} -- cgit v1.2.3 From f6569e52373440b6416b5fcb0f8d300e8b655030 Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 4 Dec 2019 13:39:42 -0600 Subject: Clean up base test image recipe --- recipes-core/images/mlinux-basetest-image.bb | 67 +--------------------------- 1 file changed, 2 insertions(+), 65 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-basetest-image.bb b/recipes-core/images/mlinux-basetest-image.bb index 6e000c1..807b16e 100644 --- a/recipes-core/images/mlinux-basetest-image.bb +++ b/recipes-core/images/mlinux-basetest-image.bb @@ -1,72 +1,9 @@ # Conduit 0.0 or 0.1 without RS9113 -DESCRIPTION = "mLinux base image" +DESCRIPTION = "mLinux base test image" LICENSE = "MIT" -require mlinux-minimal-image.bb +require mlinux-base-image.bb # Open console for test image CONSOLE = "sysvinit-inittab-start-open" -FILESYSTEM_FEATURES = "dosfstools \ - cifs-utils \ - lsof \ - " - -NETWORKING_FEATURES += "bridge-utils \ - inetutils-ftp \ - openssl \ - rsync \ - iperf \ - lldpd \ - mii-diag \ - tcpdump \ - netcat \ - wget \ - strongswan \ - busybox-ifplugd \ - " - -WIFI_FEATURES = " \ - libnl \ - wpa-supplicant \ - wireless-tools \ - iw \ - hostap-daemon hostap-utils \ - " - -BLUETOOTH_FEATURES = "bluez5" - -# 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 += " \ - u-boot-linux-utils \ - mlinux-scripts \ - reset-handler \ - radio-cmd radio-query \ - jsparser \ - " - -MISC_FEATURES = "minicom lrzsz nano" - -# Extra stuff to install -IMAGE_INSTALL += " \ - kernel-modules \ - ${WIFI_FEATURES} \ - ${BLUETOOTH_FEATURES} \ - ${FILESYSTEM_FEATURES} \ - ${TIME_FEATURES} \ - ${MISC_FEATURES} \ - " -- cgit v1.2.3 From b71f5e51f91d3262a91ebd8a9f8433e3a43b1969 Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 6 Dec 2019 18:50:47 -0600 Subject: Commissioning recipe with php --- recipes-core/multitech/commissioning_1.0.0.bb | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 recipes-core/multitech/commissioning_1.0.0.bb (limited to 'recipes-core') diff --git a/recipes-core/multitech/commissioning_1.0.0.bb b/recipes-core/multitech/commissioning_1.0.0.bb new file mode 100644 index 0000000..22369dc --- /dev/null +++ b/recipes-core/multitech/commissioning_1.0.0.bb @@ -0,0 +1,33 @@ +inherit update-rc.d + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=593c81e8a2bd8b4c4e310d8792372b13" + +PACKAGE_ARCH = "all" + +RDEPENDS_${PN} += "lighttpd lighttpd-module-fastcgi lighttpd-module-redirect bash" +RDEPENDS_${PN}-php-fpm += "php-fpm ${PN}" +PACKAGES =+ "${PN}-php-fpm" +INITSCRIPT_PACKAGES = "${PN} ${PN}-php-fpm" +INITSCRIPT_NAME_${PN} = "commission" +INITSCRIPT_PARAMS_${PN} = "start 9 2 3 4 5 ." +INITSCRIPT_NAME_${PN}-php-fpm = "commission-php-fpm" +INITSCRIPT_PARAMS_${PN}-php-fpm = "start 9 2 3 4 5 ." + +PR = "r1" +SRCREV = "${PV}" + +FILES_${PN}-php-fpm = "/etc/init.d/commission-php-fpm" +FILES_${PN} += "/www/" + +SRC_URI = "git://git@${MTS_INTERNAL_GIT}/mirrors/commissioning.git;protocol=ssh" + +S = "${WORKDIR}/git" +do_install() { + cp -a ${S}/${sysconfdir}/ ${D}/ + cp -a ${S}/www/ ${D}/ + cp -a ${S}/${prefix} ${D}/ + chmod 755 ${D}/etc/init.d/* + chmod 755 ${D}/${libexecdir}/commission/* + chown -R root:root ${D}/ +} -- cgit v1.2.3 From e0915f141ddccb17550b18e9a7399c3924ca7d2c Mon Sep 17 00:00:00 2001 From: John Klug Date: Tue, 11 Feb 2020 14:52:49 -0600 Subject: Add mlinux-sdk to SDK --- recipes-core/images/mlinux-sdk.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-sdk.bb b/recipes-core/images/mlinux-sdk.bb index cb3566f..0f956bc 100644 --- a/recipes-core/images/mlinux-sdk.bb +++ b/recipes-core/images/mlinux-sdk.bb @@ -2,4 +2,4 @@ require mlinux-factory-image.bb DESCRIPTION = "mLinux SDK" -IMAGE_INSTALL += "boost" +IMAGE_INSTALL += "boost i2c-tools" -- cgit v1.2.3 From f4a701c4f92bcfa1074beaf94b6a81e10e606dd0 Mon Sep 17 00:00:00 2001 From: Patrick Murphy Date: Thu, 30 Apr 2020 13:04:00 -0500 Subject: moved 5.2.1 changes to master --- .../file-magic-db-images_0.1.bb | 27 ++ recipes-core/file-magic-db-images/files/COPYING | 29 ++ .../file-magic-db-images/files/Magdir/images | 78 ++++++ .../file-magic-db-images/files/Magdir/jpeg | 119 ++++++++ .../file-magic-db-images/files/Magdir/msdos | 29 ++ .../file-magic-db-images/files/Magdir/sgml | 8 + recipes-core/images/mlinux-commissioning-image.bb | 7 + recipes-core/images/mlinux-factory-test-image.bb | 8 + .../images/mlinux-mtcap-commissioning-image.bb | 7 + recipes-core/images/mlinux-mtcap-test-image.bb | 87 ++++++ .../files/0001-lighttpd-pcre-use-pkg-config.patch | 41 +++ .../lighttpd/files/0002_extended_tls_conf.patch | 110 ++++++++ .../files/0004_fastcgi_env_with_unixsocket.patch | 57 ++++ recipes-core/lighttpd/files/lighttpd.conf | 209 ++++++++++++++ recipes-core/lighttpd/files/lighttpd.init | 310 +++++++++++++++++++++ .../lighttpd/files/lighttpd_custom_images_setup | 57 ++++ recipes-core/lighttpd/files/lighttpd_nrs.conf | 66 +++++ recipes-core/lighttpd/lighttpd_1.4.48.bb | 100 +++++++ recipes-core/multitech/commissioning_1.0.0.bb | 33 --- recipes-core/multitech/commissioning_1.0.1.bb | 42 +++ 20 files changed, 1391 insertions(+), 33 deletions(-) create mode 100644 recipes-core/file-magic-db-images/file-magic-db-images_0.1.bb create mode 100644 recipes-core/file-magic-db-images/files/COPYING create mode 100644 recipes-core/file-magic-db-images/files/Magdir/images create mode 100644 recipes-core/file-magic-db-images/files/Magdir/jpeg create mode 100644 recipes-core/file-magic-db-images/files/Magdir/msdos create mode 100644 recipes-core/file-magic-db-images/files/Magdir/sgml create mode 100644 recipes-core/images/mlinux-commissioning-image.bb create mode 100644 recipes-core/images/mlinux-factory-test-image.bb create mode 100644 recipes-core/images/mlinux-mtcap-commissioning-image.bb create mode 100644 recipes-core/images/mlinux-mtcap-test-image.bb create mode 100644 recipes-core/lighttpd/files/0001-lighttpd-pcre-use-pkg-config.patch create mode 100644 recipes-core/lighttpd/files/0002_extended_tls_conf.patch create mode 100644 recipes-core/lighttpd/files/0004_fastcgi_env_with_unixsocket.patch create mode 100644 recipes-core/lighttpd/files/lighttpd.conf create mode 100644 recipes-core/lighttpd/files/lighttpd.init create mode 100644 recipes-core/lighttpd/files/lighttpd_custom_images_setup create mode 100644 recipes-core/lighttpd/files/lighttpd_nrs.conf create mode 100644 recipes-core/lighttpd/lighttpd_1.4.48.bb delete mode 100644 recipes-core/multitech/commissioning_1.0.0.bb create mode 100644 recipes-core/multitech/commissioning_1.0.1.bb (limited to 'recipes-core') diff --git a/recipes-core/file-magic-db-images/file-magic-db-images_0.1.bb b/recipes-core/file-magic-db-images/file-magic-db-images_0.1.bb new file mode 100644 index 0000000..43d3052 --- /dev/null +++ b/recipes-core/file-magic-db-images/file-magic-db-images_0.1.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "Stripped MIME detection database for file(1) with definition of images" +HOMEPAGE = "http://www.darwinsys.com/file/" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=6a7382872edb68d33e1a9398b6e03188" +DEPENDS = "file-native" +FILES_${PN} = "${datadir}/misc/magic-images.mgc" + +PV = "0.1" +PR = "r5" + +SRC_URI = "file://COPYING \ + file://Magdir/images \ + file://Magdir/jpeg \ + file://Magdir/msdos \ + file://Magdir/sgml" + +S = "${WORKDIR}" + +do_compile() { + ${STAGING_BINDIR_NATIVE}/file-native/file -v + ${STAGING_BINDIR_NATIVE}/file-native/file -C -m ${S}/Magdir +} + +do_install() { + install -d ${D}/${datadir}/misc/ + install -m 0644 ${WORKDIR}/Magdir.mgc ${D}/${datadir}/misc/magic-images.mgc +} diff --git a/recipes-core/file-magic-db-images/files/COPYING b/recipes-core/file-magic-db-images/files/COPYING new file mode 100644 index 0000000..68148e2 --- /dev/null +++ b/recipes-core/file-magic-db-images/files/COPYING @@ -0,0 +1,29 @@ +$File: LEGAL.NOTICE,v 1.15 2006/05/03 18:48:33 christos Exp $ +Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995. +Software written by Ian F. Darwin and others; +maintained 1994- Christos Zoulas. + +This software is not subject to any export provision of the United States +Department of Commerce, and may be exported to any country or planet. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice immediately at the beginning of the file, without modification, + this list of conditions, and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. diff --git a/recipes-core/file-magic-db-images/files/Magdir/images b/recipes-core/file-magic-db-images/files/Magdir/images new file mode 100644 index 0000000..493027f --- /dev/null +++ b/recipes-core/file-magic-db-images/files/Magdir/images @@ -0,0 +1,78 @@ +# PNG [Portable Network Graphics, or "PNG's Not GIF"] images +# (Greg Roelofs, newt@uchicago.edu) +# (Albert Cahalan, acahalan@cs.uml.edu) +# +# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ... +# +0 string \x89PNG\x0d\x0a\x1a\x0a PNG image data +!:mime image/png +>16 belong x \b, %d x +>20 belong x %d, +>24 byte x %d-bit +>25 byte 0 grayscale, +>25 byte 2 \b/color RGB, +>25 byte 3 colormap, +>25 byte 4 gray+alpha, +>25 byte 6 \b/color RGBA, +#>26 byte 0 deflate/32K, +>28 byte 0 non-interlaced +>28 byte 1 interlaced + +# GIF +0 string GIF8 GIF image data +!:mime image/gif +!:apple 8BIMGIFf +>4 string 7a \b, version 8%s, +>4 string 9a \b, version 8%s, +>6 leshort >0 %d x +>8 leshort >0 %d +#>10 byte &0x80 color mapped, +#>10 byte&0x07 =0x00 2 colors +#>10 byte&0x07 =0x01 4 colors +#>10 byte&0x07 =0x02 8 colors +#>10 byte&0x07 =0x03 16 colors +#>10 byte&0x07 =0x04 32 colors +#>10 byte&0x07 =0x05 64 colors +#>10 byte&0x07 =0x06 128 colors +#>10 byte&0x07 =0x07 256 colors + +# PC bitmaps (OS/2, Windows BMP files) (Greg Roelofs, newt@uchicago.edu) +# http://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.\ +# 28bitmap_information_header.29 +0 string BM +>14 leshort 12 PC bitmap, OS/2 1.x format +!:mime image/x-ms-bmp +>>18 leshort x \b, %d x +>>20 leshort x %d +>14 leshort 64 PC bitmap, OS/2 2.x format +!:mime image/x-ms-bmp +>>18 leshort x \b, %d x +>>20 leshort x %d +>14 leshort 40 PC bitmap, Windows 3.x format +!:mime image/x-ms-bmp +>>18 lelong x \b, %d x +>>22 lelong x %d x +>>28 leshort x %d +>14 leshort 124 PC bitmap, Windows 98/2000 and newer format +!:mime image/x-ms-bmp +>>18 lelong x \b, %d x +>>22 lelong x %d x +>>28 leshort x %d +>14 leshort 108 PC bitmap, Windows 95/NT4 and newer format +!:mime image/x-ms-bmp +>>18 lelong x \b, %d x +>>22 lelong x %d x +>>28 leshort x %d +>14 leshort 128 PC bitmap, Windows NT/2000 format +!:mime image/x-ms-bmp +>>18 lelong x \b, %d x +>>22 lelong x %d x +>>28 leshort x %d +# Too simple - MPi +#0 string IC PC icon data +#0 string PI PC pointer image data +#0 string CI PC color icon data +#0 string CP PC color pointer image data +# Conflicts with other entries [BABYL] +#0 string BA PC bitmap array data + diff --git a/recipes-core/file-magic-db-images/files/Magdir/jpeg b/recipes-core/file-magic-db-images/files/Magdir/jpeg new file mode 100644 index 0000000..e6a4ffa --- /dev/null +++ b/recipes-core/file-magic-db-images/files/Magdir/jpeg @@ -0,0 +1,119 @@ + +#------------------------------------------------------------------------------ +# $File: jpeg,v 1.28 2015/04/09 20:01:40 christos Exp $ +# JPEG images +# SunOS 5.5.1 had +# +# 0 string \377\330\377\340 JPEG file +# 0 string \377\330\377\356 JPG file +# +# both of which turn into "JPEG image data" here. +# +0 beshort 0xffd8 JPEG image data +!:mime image/jpeg +!:apple 8BIMJPEG +!:strength *3 +!:ext jpeg/jpg/jpe/jfif +>6 string JFIF \b, JFIF standard +# The following added by Erik Rossen 1999-09-06 +# in a vain attempt to add image size reporting for JFIF. Note that these +# tests are not fool-proof since some perfectly valid JPEGs are currently +# impossible to specify in magic(4) format. +# First, a little JFIF version info: +>>11 byte x \b %d. +>>12 byte x \b%02d +# Next, the resolution or aspect ratio of the image: +>>13 byte 0 \b, aspect ratio +>>13 byte 1 \b, resolution (DPI) +>>13 byte 2 \b, resolution (DPCM) +>>14 beshort x \b, density %dx +>>16 beshort x \b%d +>>4 beshort x \b, segment length %d +# Next, show thumbnail info, if it exists: +>>18 byte !0 \b, thumbnail %dx +>>>19 byte x \b%d +>6 string Exif \b, Exif standard: [ +>>12 indirect/r x +>>12 string x \b] + +# Jump to the first segment +>(4.S+4) use jpeg_segment + +# This uses recursion... +0 name jpeg_segment +>0 beshort 0xFFFE +# Recursion handled by FFE0 +#>>(2.S+2) use jpeg_segment +>>2 pstring/HJ x \b, comment: "%s" + +>0 beshort 0xFFC0 +>>(2.S+2) use jpeg_segment +>>4 byte x \b, baseline, precision %d +>>7 beshort x \b, %dx +>>5 beshort x \b%d +>>9 byte x \b, frames %d + +>0 beshort 0xFFC1 +>>(2.S+2) use jpeg_segment +>>4 byte x \b, extended sequential, precision %d +>>7 beshort x \b, %dx +>>5 beshort x \b%d +>>9 byte x \b, frames %d + +>0 beshort 0xFFC2 +>>(2.S+2) use jpeg_segment +>>4 byte x \b, progressive, precision %d +>>7 beshort x \b, %dx +>>5 beshort x \b%d +>>9 byte x \b, frames %d + +# Define Huffman Tables +>0 beshort 0xFFC4 +>>(2.S+2) use jpeg_segment + +>0 beshort 0xFFE1 +# Recursion handled by FFE0 +#>>(2.S+2) use jpeg_segment +>>4 string Exif \b, Exif Standard: [ +>>>10 indirect/r x +>>>10 string x \b] + +# Application specific markers +>0 beshort&0xFFE0 =0xFFE0 +>>(2.S+2) use jpeg_segment + +# DB: Define Quantization tables +# DD: Define Restart interval [XXX: wrong here, it is 4 bytes] +# D8: Start of image +# D9: End of image +# Dn: Restart +>0 beshort&0xFFD0 =0xFFD0 +>>0 beshort&0xFFE0 !0xFFE0 +>>>(2.S+2) use jpeg_segment + +#>0 beshort x unknown 0x%x +#>>(2.S+2) use jpeg_segment + +# HSI is Handmade Software's proprietary JPEG encoding scheme +0 string hsi1 JPEG image data, HSI proprietary + +# From: David Santinoli +0 string \x00\x00\x00\x0C\x6A\x50\x20\x20\x0D\x0A\x87\x0A JPEG 2000 +# From: Johan van der Knijff +# Added sub-entries for JP2, JPX, JPM and MJ2 formats; added mimetypes +# https://github.com/bitsgalore/jp2kMagic +# +# Now read value of 'Brand' field, which yields a few possibilities: +>20 string \x6a\x70\x32\x20 Part 1 (JP2) +!:mime image/jp2 +>20 string \x6a\x70\x78\x20 Part 2 (JPX) +!:mime image/jpx +>20 string \x6a\x70\x6d\x20 Part 6 (JPM) +!:mime image/jpm +>20 string \x6d\x6a\x70\x32 Part 3 (MJ2) +!:mime video/mj2 + +# Type: JPEG 2000 codesream +# From: Mathieu Malaterre +0 belong 0xff4fff51 JPEG 2000 codestream +45 beshort 0xff52 diff --git a/recipes-core/file-magic-db-images/files/Magdir/msdos b/recipes-core/file-magic-db-images/files/Magdir/msdos new file mode 100644 index 0000000..7b1330e --- /dev/null +++ b/recipes-core/file-magic-db-images/files/Magdir/msdos @@ -0,0 +1,29 @@ + +#------------------------------------------------------------------------------ +# $File: msdos,v 1.105 2016/03/03 18:58:14 christos Exp $ +# msdos: file(1) magic for MS-DOS files +# + +# Windows icons +# Update: Joerg Jenderek +# URL: https://en.wikipedia.org/wiki/CUR_(file_format) +# Note: similiar to Windows CURsor. container for BMP (only DIB part) or PNG +0 belong 0x00000100 +>9 byte 0 +>>0 byte x +>>0 use cur-ico-dir +>9 ubyte 0xff +>>0 byte x +>>0 use cur-ico-dir +# displays number of icons and information for icon or cursor +0 name cur-ico-dir +# skip some Lotus 1-2-3 worksheets, CYCLE.PIC and keep Windows cursors with +# 1st data offset = dir header size + n * dir entry size = 6 + n * 10h = ?6h +>18 ulelong &0x00000006 +# skip remaining worksheets, because valid only for DIB image (40) or PNG image (\x89PNG) +>>(18.l) ulelong x MS Windows +>>>0 ubelong 0x00000100 icon resource +#!:mime image/vnd.microsoft.icon +!:mime image/x-icon +!:ext ico + diff --git a/recipes-core/file-magic-db-images/files/Magdir/sgml b/recipes-core/file-magic-db-images/files/Magdir/sgml new file mode 100644 index 0000000..79abe8c --- /dev/null +++ b/recipes-core/file-magic-db-images/files/Magdir/sgml @@ -0,0 +1,8 @@ +#------------------------------------------------------------------------------ # $File: sgml,v 1.32 2015/07/11 15:08:53 christos Exp $ +# Type: SVG Vectorial Graphics +# From: Noel Torres +0 string \15 string >\0 +>>19 search/4096 \ +Date: Fri, 26 Aug 2016 18:20:32 +0300 +Subject: [PATCH] Use pkg-config for pcre dependency instead of -config script. + +RP 2014/5/22 +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + configure.ac | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5383cec..c29a902 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -651,10 +651,18 @@ AC_ARG_WITH([pcre], + ) + AC_MSG_RESULT([$WITH_PCRE]) + +-if test "$WITH_PCRE" != no; then +- if test "$WITH_PCRE" != yes; then +- PCRE_LIB="-L$WITH_PCRE/lib -lpcre" +- CPPFLAGS="$CPPFLAGS -I$WITH_PCRE/include" ++if test "$WITH_PCRE" != "no"; then ++ PKG_CHECK_MODULES(PCREPKG, [libpcre], [ ++ PCRE_LIB=${PCREPKG_LIBS} ++ CPPFLAGS="$CPPFLAGS ${PCREPKG_CFLAGS}" ++ ], [ ++ AC_MSG_ERROR([pcre pkgconfig not found, install the pcre-devel package or build with --without-pcre]) ++ ]) ++ ++ if test x"$PCRE_LIB" != x; then ++ AC_DEFINE([HAVE_LIBPCRE], [1], [libpcre]) ++ AC_DEFINE([HAVE_PCRE_H], [1], [pcre.h]) ++ AC_SUBST(PCRE_LIB) + else + AC_PATH_PROG([PCRECONFIG], [pcre-config]) + if test -n "$PCRECONFIG"; then +-- +2.15.0 diff --git a/recipes-core/lighttpd/files/0002_extended_tls_conf.patch b/recipes-core/lighttpd/files/0002_extended_tls_conf.patch new file mode 100644 index 0000000..1a216dd --- /dev/null +++ b/recipes-core/lighttpd/files/0002_extended_tls_conf.patch @@ -0,0 +1,110 @@ +diff --git a/src/base.h b/src/base.h +index 134fc41..f2d849e 100644 +--- a/src/base.h ++++ b/src/base.h +@@ -289,6 +289,9 @@ typedef struct { + unsigned short ssl_empty_fragments; /* whether to not set SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS */ + unsigned short ssl_use_sslv2; + unsigned short ssl_use_sslv3; ++ unsigned short ssl_use_tlsv1; ++ unsigned short ssl_use_tlsv1_1; ++ unsigned short ssl_use_tlsv1_2; + unsigned short ssl_verifyclient; + unsigned short ssl_verifyclient_enforce; + unsigned short ssl_verifyclient_depth; +diff --git a/src/configfile.c b/src/configfile.c +index bba6925..bbedd77 100644 +--- a/src/configfile.c ++++ b/src/configfile.c +@@ -146,6 +146,10 @@ static int config_insert(server *srv) { + { "server.max-request-field-size", NULL, T_CONFIG_INT, T_CONFIG_SCOPE_SERVER }, /* 78 */ + { "ssl.read-ahead", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 79 */ + ++ { "ssl.use-tlsv1", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_SERVER }, /* 80 */ ++ { "ssl.use-tlsv1_1", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_SERVER }, /* 81 */ ++ { "ssl.use-tlsv1_2", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_SERVER }, /* 82 */ ++ + { NULL, NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET } + }; + +@@ -226,6 +230,9 @@ static int config_insert(server *srv) { + s->ssl_empty_fragments = 0; + s->ssl_use_sslv2 = 0; + s->ssl_use_sslv3 = 0; ++ s->ssl_use_tlsv1 = 0; ++ s->ssl_use_tlsv1_1 = 0; ++ s->ssl_use_tlsv1_2 = 1; + s->use_ipv6 = (i == 0) ? 0 : srv->config_storage[0]->use_ipv6; + s->set_v6only = (i == 0) ? 1 : srv->config_storage[0]->set_v6only; + s->defer_accept = (i == 0) ? 0 : srv->config_storage[0]->defer_accept; +@@ -318,6 +325,9 @@ static int config_insert(server *srv) { + cv[76].destination = &(s->stream_request_body); + cv[77].destination = &(s->stream_response_body); + cv[79].destination = &(s->ssl_read_ahead); ++ cv[80].destination = &(s->ssl_use_tlsv1); ++ cv[81].destination = &(s->ssl_use_tlsv1_1); ++ cv[82].destination = &(s->ssl_use_tlsv1_2); + + srv->config_storage[i] = s; + +@@ -536,6 +546,9 @@ int config_setup_connection(server *srv, connection *con) { + PATCH(ssl_empty_fragments); + PATCH(ssl_use_sslv2); + PATCH(ssl_use_sslv3); ++ PATCH(ssl_use_tlsv1); ++ PATCH(ssl_use_tlsv1_1); ++ PATCH(ssl_use_tlsv1_2); + PATCH(etag_use_inode); + PATCH(etag_use_mtime); + PATCH(etag_use_size); +@@ -615,6 +628,12 @@ int config_patch_connection(server *srv, connection *con) { + PATCH(ssl_use_sslv2); + } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.use-sslv3"))) { + PATCH(ssl_use_sslv3); ++ } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.use-tlsv1"))) { ++ PATCH(ssl_use_tlsv1); ++ } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.use-tlsv1_1"))) { ++ PATCH(ssl_use_tlsv1_1); ++ } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.use-tlsv1_2"))) { ++ PATCH(ssl_use_tlsv1_2); + } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.cipher-list"))) { + PATCH(ssl_cipher_list); + } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("ssl.engine"))) { +diff --git a/src/network.c b/src/network.c +index 4295fe9..a3f9ec3 100644 +--- a/src/network.c ++++ b/src/network.c +@@ -859,6 +859,33 @@ int network_init(server *srv) { + } + } + ++ if (!s->ssl_use_tlsv1) { ++ /* disable TLSv1 */ ++ if (!(SSL_OP_NO_TLSv1 & SSL_CTX_set_options(s->ssl_ctx, SSL_OP_NO_TLSv1))) { ++ log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:", ++ ERR_error_string(ERR_get_error(), NULL)); ++ return -1; ++ } ++ } ++ ++ if (!s->ssl_use_tlsv1_1) { ++ /* disable TLSv1.1 */ ++ if (!(SSL_OP_NO_TLSv1_1 & SSL_CTX_set_options(s->ssl_ctx, SSL_OP_NO_TLSv1_1))) { ++ log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:", ++ ERR_error_string(ERR_get_error(), NULL)); ++ return -1; ++ } ++ } ++ ++ if (!s->ssl_use_tlsv1_2) { ++ /* disable TLSv1.2 */ ++ if (!(SSL_OP_NO_TLSv1_2 & SSL_CTX_set_options(s->ssl_ctx, SSL_OP_NO_TLSv1_2))) { ++ log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:", ++ ERR_error_string(ERR_get_error(), NULL)); ++ return -1; ++ } ++ } ++ + if (!buffer_string_is_empty(s->ssl_cipher_list)) { + /* Disable support for low encryption ciphers */ + if (SSL_CTX_set_cipher_list(s->ssl_ctx, s->ssl_cipher_list->ptr) != 1) { diff --git a/recipes-core/lighttpd/files/0004_fastcgi_env_with_unixsocket.patch b/recipes-core/lighttpd/files/0004_fastcgi_env_with_unixsocket.patch new file mode 100644 index 0000000..c265066 --- /dev/null +++ b/recipes-core/lighttpd/files/0004_fastcgi_env_with_unixsocket.patch @@ -0,0 +1,57 @@ +From bdfb7f9c6ab29d2de3576f8bd845fa871bb44ead Mon Sep 17 00:00:00 2001 +From: Serhii Voloshynov +Date: Tue, 6 Nov 2018 13:50:04 +0200 +Subject: [PATCH] patch + +--- + src/http-header-glue.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/src/http-header-glue.c b/src/http-header-glue.c +index 1916ca6..d4f42ad 100644 +--- a/src/http-header-glue.c ++++ b/src/http-header-glue.c +@@ -1457,6 +1457,8 @@ int http_cgi_headers (server *srv, connection *con, http_cgi_opts *opts, http_cg + rc |= cb(vdata, CONST_STR_LEN("HTTPS"), CONST_STR_LEN("on")); + } + ++ if (srv_sock->addr.plain.sa_family != AF_UNIX) { ++ + addr = &srv_sock->addr; + li_utostrn(buf, sizeof(buf), sock_addr_get_port(addr)); + rc |= cb(vdata, CONST_STR_LEN("SERVER_PORT"), buf, strlen(buf)); +@@ -1482,6 +1484,7 @@ int http_cgi_headers (server *srv, connection *con, http_cgi_opts *opts, http_cg + } + force_assert(s); + rc |= cb(vdata, CONST_STR_LEN("SERVER_ADDR"), s, strlen(s)); ++ } + + if (!buffer_string_is_empty(con->server_name)) { + size_t len = buffer_string_length(con->server_name); +@@ -1497,15 +1500,23 @@ int http_cgi_headers (server *srv, connection *con, http_cgi_opts *opts, http_cg + rc |= cb(vdata, CONST_STR_LEN("SERVER_NAME"), + con->server_name->ptr, len); + } else { ++ if (srv_sock->addr.plain.sa_family != AF_UNIX) { + /* set to be same as SERVER_ADDR (above) */ + rc |= cb(vdata, CONST_STR_LEN("SERVER_NAME"), s, strlen(s)); + } ++ } ++ if (srv_sock->addr.plain.sa_family == AF_UNIX) { ++ rc |= cb(vdata, CONST_STR_LEN("SERVER_IPC"), CONST_STR_LEN("yes")); ++ } ++ ++ if (srv_sock->addr.plain.sa_family != AF_UNIX) { + + rc |= cb(vdata, CONST_STR_LEN("REMOTE_ADDR"), + CONST_BUF_LEN(con->dst_addr_buf)); + + li_utostrn(buf, sizeof(buf), sock_addr_get_port(&con->dst_addr)); + rc |= cb(vdata, CONST_STR_LEN("REMOTE_PORT"), buf, strlen(buf)); ++ } + + for (n = 0; n < con->request.headers->used; n++) { + data_string *ds = (data_string *)con->request.headers->data[n]; +-- +2.7.4 + diff --git a/recipes-core/lighttpd/files/lighttpd.conf b/recipes-core/lighttpd/files/lighttpd.conf new file mode 100644 index 0000000..a3e02da --- /dev/null +++ b/recipes-core/lighttpd/files/lighttpd.conf @@ -0,0 +1,209 @@ +# lighttpd configuration file for the rcell +# include config file (/var/run/config/lighttpd_port.conf) generated at start up +# +# $Id: lighttpd.conf,v 1.7 2004/11/03 22:26:05 weigon Exp $ + +#IMPORT PORT SETTINGS +include "/var/run/config/lighttpd_port.conf" + +## local access from startup scripts and apps +$SERVER["socket"] == "/var/run/api/http.sock" { } + +## modules +server.modules = ( + "mod_rewrite", + "mod_redirect", + "mod_proxy", + "mod_alias", + "mod_access", + "mod_fastcgi", + "mod_accesslog", + "mod_openssl", + "mod_setenv") + + +## static document-root +server.document-root = "/var/www/" +setenv.add-response-header = ( "Access-Control-Allow-Origin" => "*", + "Content-Security-Policy" => "default-src 'self'; script-src 'unsafe-inline' 'unsafe-eval' 'self'; style-src 'unsafe-inline' https://fonts.googleapis.com 'self'; font-src https://fonts.gstatic.com 'self'; connect-src 'self'; img-src 'self' data:", + "X-Frame-Options" =>"SAMEORIGIN", + "X-XSS-Protection" => "1; mode=block", + "X-Content-Type-Options" => "nosniff", + "Referrer-Policy" => "strict-origin-when-cross-origin", + "Feature-Policy" => "accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; payment 'none'; usb 'none'", + "Strict-Transport-Security" => "max-age=31536000", + "Cache-Control" => "no-cache" +) +server.socket-perms = "0760" + +## where to send error-messages to +#server.errorlog = "/var/log/lighttpd.error.log" +server.errorlog-use-syslog = "enable" + +# disable stat cache +server.stat-cache-engine = "disable" + +## where to send access log +#accesslog.filename = "/var/log/lighttpd.access.log" +accesslog.use-syslog = "enable" + +## enable debugging +#debug.log-request-header = "enable" +#debug.log-response-header = "enable" +#debug.log-request-handling = "enable" +#debug.log-file-not-found = "enable" +#debug.log-condition-handling = "enable" + +## where to upload files +server.upload-dirs = ( "/var/volatile/tmp" ) + +# files to check for if .../ is requested +index-file.names = ( "index.php", "index.html", + "index.htm", "default.htm" ) + +# mimetype mapping +mimetype.assign = ( + ".pdf" => "application/pdf", + ".sig" => "application/pgp-signature", + ".spl" => "application/futuresplash", + ".class" => "application/octet-stream", + ".ps" => "application/postscript", + ".torrent" => "application/x-bittorrent", + ".dvi" => "application/x-dvi", + ".pac" => "application/x-ns-proxy-autoconfig", + ".swf" => "application/x-shockwave-flash", + ".tar.gz" => "application/x-tgz", + ".tgz" => "application/x-tgz", + ".tar" => "application/x-tar", + ".xhtml" => "application/xhtml+xml", + ".xht" => "application/xhtml+xml", + ".zip" => "application/zip", + ".mp3" => "audio/mpeg", + ".m3u" => "audio/x-mpegurl", + ".wma" => "audio/x-ms-wma", + ".wax" => "audio/x-ms-wax", + ".ogg" => "application/ogg", + ".wav" => "audio/x-wav", + ".gif" => "image/gif", + ".jpg" => "image/jpeg", + ".jpeg" => "image/jpeg", + ".png" => "image/png", + ".svg" => "image/svg+xml", + ".ico" => "image/x-icon", + ".xbm" => "image/x-xbitmap", + ".xpm" => "image/x-xpixmap", + ".xwd" => "image/x-xwindowdump", + ".css" => "text/css", + ".html" => "text/html", + ".htm" => "text/html", + ".asc" => "text/plain", + ".c" => "text/plain", + ".cpp" => "text/plain", + ".log" => "text/plain", + ".conf" => "text/plain", + ".text" => "text/plain", + ".txt" => "text/plain", + ".dtd" => "text/xml", + ".xml" => "text/xml", + ".mpeg" => "video/mpeg", + ".mpg" => "video/mpeg", + ".mov" => "video/quicktime", + ".qt" => "video/quicktime", + ".avi" => "video/x-msvideo", + ".asf" => "video/x-ms-asf", + ".asx" => "video/x-ms-asf", + ".wmv" => "video/x-ms-wmv", + ".bz2" => "application/x-bzip", + ".tbz" => "application/x-bzip-compressed-tar", + ".tar.bz2" => "application/x-bzip-compressed-tar", + ".mib" => "application/text", + ".js" => "application/javascript" + ) + +## deny access the file-extensions +url.access-deny = ( "~", ".inc" ) + +# send a different Server: header +server.tag = "" + +#server.error-handler-404 = "/index.html" + +#Range request are requests of one or more sub-ranges of a file. +#Range requests are very helpful for resuming interrupted downloads and fetching small portions of huge files. +#Note: Adobe Acrobat Reader can crash when it tries to open a PDF file if range requests are enabled. +$HTTP["url"] =~ "\.pdf$" { + server.range-requests = "disable" +} + +## +# which extensions should not be handle via static-file transfer +# +# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi +static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) + +## to help the rc.scripts +server.pid-file = "/var/run/lighttpd.pid" + +# Restrict server process to non priveleged user +server.username = "www" +server.groupname = "www" + +# server limit POST size in kilobytes (60MB for firmware update) +server.max-request-size = 113246 + +# server limits +server.max-keep-alive-requests = 16 +server.max-keep-alive-idle = 15 +server.max-read-idle = 60 +server.max-write-idle = 360 + +## +## Format: .html +## -> ..../status-404.html for 'File not found' +server.errorfile-prefix = "/var/www/errors/status-" + +## virtual directory listings +#dir-listing.activate = "enable" + +#IMPORTED CONFIGS WILL HANDLE SETTING HTTP/HTTPS + +#### fastcgi module +fastcgi.server = ( "/" => + ( "authorizer" => + ( + "mode" => "authorizer", + "check-local" => "disable", + "socket" => "/var/run/api/rcell_api.sock", + "docroot" => "/var/www" + ) + ) +) + + +$HTTP["url"] =~ "/static/js" { + setenv.add-response-header = ( "Content-Encoding" => "gzip") + mimetype.assign = ("" => "text/javascript" ) + } else $HTTP["url"] =~ "/help/template/scripts" { + setenv.add-response-header = ( "Content-Encoding" => "gzip") + mimetype.assign = ("" => "text/javascript" ) + } else $HTTP["url"] =~ "/help/whxdata/" { + setenv.add-response-header = ( "Content-Encoding" => "gzip") + mimetype.assign = ("" => "text/javascript" ) + } else $HTTP["url"] =~ "/help/template/Azure_Blue_MTS_1/layout.css" { + setenv.add-response-header = ( "Content-Encoding" => "gzip") + mimetype.assign = ("" => "text/css" ) + } else $HTTP["url"] =~ "^/api" { + fastcgi.server = ( "/api" => + ( "api" => + ( + "mode" => "responder", + "check-local" => "disable", + "socket" => "/var/run/api/rcell_api.sock" + ) + ) + ) +} + +#INCLUDE DIPSERVICE SETTINGS +include "/var/run/config/lighttpd_dipservice.conf" +include "/var/run/config/lighttpd_custom_images.conf" diff --git a/recipes-core/lighttpd/files/lighttpd.init b/recipes-core/lighttpd/files/lighttpd.init new file mode 100644 index 0000000..39860d3 --- /dev/null +++ b/recipes-core/lighttpd/files/lighttpd.init @@ -0,0 +1,310 @@ +#!/bin/sh + +enable -f libjsonget.so jsonget + +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/lighttpd +NAME=lighttpd +ANGEL=/sbin/lighttpd-angel +DESC="Lighttpd Web Server" +# Web UI +OPTS="-D -f /etc/lighttpd.conf" +# Node-RED stub +OPTS_NRS="-f /etc/lighttpd_nrs.conf" + +CAPA_NODE_RED=$(jsonget "$(< /var/run/config/device_info.json)" /capabilities/nodeRed) + +CONF_DIR=/var/config +RUN_CONF_DIR=/var/run/config + +true2enable() { + if [[ "$1" == "true" ]]; then + echo "enable" + else + echo "disable" + fi +} + +#Generates additional lighttpd configuration files +#1) Enables HTTPS +#2) Allows port configurations for HTTP and HTTPS +#3) Enables dipservice +#4) Allows port configurations for dipservice +generate_config() { + FILE="$RUN_CONF_DIR/lighttpd_port.conf" + FILE_DIP="$RUN_CONF_DIR/lighttpd_dipservice.conf" + + #Pull Webserver Ports + RMA=$(jsonget "$(< "/var/config/db.json")" /remoteAccess) + HTTP_ENABLED=$(jsonget "$RMA" /http/enabled) + HTTP_PORT=$(jsonget "$RMA" /http/port) + HTTPS_REDIRECT=$(jsonget "$RMA" /http/redirectToHttps) + HTTPS_ENABLED=$(jsonget "$RMA" /https/enabled) + HTTPS_PORT=$(jsonget "$RMA" /https/port) + + # Advanced secure protocol settings + ADVANCED_SEC_VALID="false" + ADVANCED_SEC=$(jsonget "$(< "/var/config/db.json")" /secureProtocols/2) + + if [[ "0" == "$?" ]]; then + ADVANCED_SEC_NAME=$(jsonget "$ADVANCED_SEC" /name) + if [[ "$ADVANCED_SEC_NAME" == "lighttpd" ]]; then + ADVANCED_SEC_VALID="true" + HTTPS_SSL3=$(true2enable "false") # $(true2enable $(jsonget "$ADVANCED_SEC" /protocol/ssl3)) + HTTPS_TLS1=$(true2enable "false") # $(true2enable $(jsonget "$ADVANCED_SEC" /protocol/tls1)) + HTTPS_TLS1_1=$(true2enable $(jsonget "$ADVANCED_SEC" /protocol/tls1_1)) + HTTPS_TLS1_2=$(true2enable $(jsonget "$ADVANCED_SEC" /protocol/tls1_2)) + HTTPS_CIPHER=$(jsonget "$ADVANCED_SEC" /cipherSuite) + if [[ -z $HTTPS_CIPHER && -f /etc/ssl/allowed_ciphersuites ]]; then + HTTPS_CIPHER=$( cat /etc/ssl/allowed_ciphersuites | tr "\n" ":" ) + fi + CLIENT_VERIFY=$(jsonget "$ADVANCED_SEC" /client/verify ) + fi + fi + + if [[ "$ADVANCED_SEC_VALID" != "true" ]]; then + echo "API init. Using default SSL security settings" + # In case of invalid Advanced Security section - start with default parameters + HTTPS_SSL3=$(true2enable "false") + HTTPS_TLS1=$(true2enable "false") + HTTPS_TLS1_1=$(true2enable "false") + HTTPS_TLS1_2=$(true2enable "true") + HTTPS_CIPHER="" + CLIENT_VERIFY="false" + fi + + #("Protocol" => "-ALL, TLSv1.2") + HTTPS_SSL_CONF='("Protocol" => "-ALL' + + if [[ "$HTTPS_TLS1" == "enable" ]]; then + HTTPS_SSL_CONF+=', TLSv1' + fi + if [[ "$HTTPS_TLS1_1" == "enable" ]]; then + HTTPS_SSL_CONF+=', TLSv1.1' + fi + if [[ "$HTTPS_TLS1_2" == "enable" ]]; then + HTTPS_SSL_CONF+=', TLSv1.2' + fi + HTTPS_SSL_CONF+='")' + + #Generate Lighttpd dipservice config + DIP=$(jsonget "$(< "$CONF_DIR/db.json")" /customDiagnostic || echo '{ "enabled": false, "port":8080 }') + DIP_ENABLED=$(jsonget "$DIP" /enabled) + DIP_PORT=$(jsonget "$DIP" /port) + + echo "Generating $FILE_DIP" + > "$FILE_DIP" + + #Generate Lighttpd Port Config + echo "Generating $FILE" + > "$FILE" + + if [[ "$DIP_ENABLED" == "true" ]]; then + cat >> $FILE_DIP < ( + ( + "host" => "127.0.0.1", + "port" => 9009, + "check-local" => "disable", + "bin-path" => "/sbin/dipservice -d /var/config/dipdata", + "max-procs" => 1, + "docroot" => "/var/config/dipdata" + ) + ) + ) +} +END + fi + + cat >> $FILE < CHANGE $0 +END + +#Explicitly set the default listening port to HTTP port. +cat >> $FILE <> $FILE <> $FILE + fi + + # Enable redirect from HTTP to HTTPS if enabled + if [ "$HTTPS_REDIRECT" == "true" ]; then + HTTPS_REDIRECT_CONFIG="\$SERVER[\"socket\"] == \":$HTTP_PORT\" { + \$HTTP[\"host\"] =~ \"^([^:^/]*)(:\d*)?(.*)\" { + url.redirect = ( \"^/(.*)\" => \"https://%1:$HTTPS_PORT/\$1\" ) + } + } else " + fi + + HTTPX_REWRITE_URL='url.rewrite-once = ( "^/(?!static|api|tmp|help)(.+)/?$" => "/index.html" )' + + #BREAKDOWN + # LINE 1: CHECK: REMOTE IP IS NOT 127.0.0.1 (LOOPBACK) + # LINE 2: CHECK: DEST PORT IS THE HTTP PORT LIGHTTPD IS LISTENING ON + # LINE 3: CHECK: HOST ADDRESS (ex: 192.168.2.1:81/whatever) MATCHES THE REGEX [DOMAIN][PORT (optional)][URI] + # THE REGEX FROM LINE 3 CAN BE ACCESSED IN LINE 4 WITH '%#' (ex: %1 == DOMAIN, %2 == PORT, %3 == URI) + # LINE 4: FUNCTION: REGEX THE URI ([MATCH ALL]) AND BUILD THE REDIRECT URL + # THE REGEX FROM LINE 4 CAN BE ACCESSED IN THE REDIRECT CONSTRUCTION WITH '$#' (ex: $1 == THE ENTIRE URI) + + cat >> $FILE <&2 + exit 1 + ;; +esac + +exit 0 diff --git a/recipes-core/lighttpd/files/lighttpd_custom_images_setup b/recipes-core/lighttpd/files/lighttpd_custom_images_setup new file mode 100644 index 0000000..ecd5f46 --- /dev/null +++ b/recipes-core/lighttpd/files/lighttpd_custom_images_setup @@ -0,0 +1,57 @@ +#!/bin/bash +# Detects mime types for UI Customization images and generates according Lighttpd config fragment + +CONFIG_PATH="/var/run/config/lighttpd_custom_images.conf" +IMAGE_PATH="/var/www/static/images/" +MAGIC_DB_PATH="/usr/share/misc/magic-images.mgc" +shopt -s nullglob + +echoerr() { + echo "$@" 1>&2 +} + +generate_mime_assign() { + local IMAGE="$1" + local OUTPUT=$(file -ib "$IMAGE" --magic-file "$MAGIC_DB_PATH") + local CONTENT_TYPE + + if [ "$?" -ne "0" ] || [[ "$OUTPUT" == "" ]] || [[ "$OUTPUT" == *"cannot open"* ]]; then + echoerr "Failed to run file(1): ${?}; ${OUTPUT}" + return 1 + fi + + CONTENT_TYPE="$OUTPUT" + cat < "$CONTENT_TYPE") + } +END +} + +process_files() { + local INDENT=" " + local ELSE_STRING="" + local FRAGMENT + + for IMAGE in custom_*; do + INDENT=" " + + FRAGMENT=$(generate_mime_assign $IMAGE) + if [ "$?" -eq "0" ]; then + echo "${INDENT}${ELSE_STRING}${FRAGMENT}" >> "$CONFIG_PATH" + ELSE_STRING="else " + fi + done +} + +echo "Generating $CONFIG_PATH" + +# truncate and write head +cat > "$CONFIG_PATH" <> "$CONFIG_PATH" diff --git a/recipes-core/lighttpd/files/lighttpd_nrs.conf b/recipes-core/lighttpd/files/lighttpd_nrs.conf new file mode 100644 index 0000000..8c23747 --- /dev/null +++ b/recipes-core/lighttpd/files/lighttpd_nrs.conf @@ -0,0 +1,66 @@ +server.modules = ( "mod_expire" ) +server.bind = "127.0.0.1" +server.port = 1882 +server.document-root = "/var/www/node-red/node-red-stub" +server.max-keep-alive-requests = 0 +expire.url = ( "/" => "access 0 days" ) +server.errorlog-use-syslog = "enable" +server.upload-dirs = ( "/var/volatile/tmp" ) +index-file.names = ( "index.html" ) +server.pid-file = "/var/run/lighttpd_nrs.pid" +server.errorfile-prefix = "/var/www/node-red/node-red-errors/status-" +mimetype.assign = ( + ".pdf" => "application/pdf", + ".sig" => "application/pgp-signature", + ".spl" => "application/futuresplash", + ".class" => "application/octet-stream", + ".ps" => "application/postscript", + ".torrent" => "application/x-bittorrent", + ".dvi" => "application/x-dvi", + ".gz" => "application/x-gzip", + ".pac" => "application/x-ns-proxy-autoconfig", + ".swf" => "application/x-shockwave-flash", + ".tar.gz" => "application/x-tgz", + ".tgz" => "application/x-tgz", + ".tar" => "application/x-tar", + ".xhtml" => "application/xhtml+xml", + ".xht" => "application/xhtml+xml", + ".zip" => "application/zip", + ".mp3" => "audio/mpeg", + ".m3u" => "audio/x-mpegurl", + ".wma" => "audio/x-ms-wma", + ".wax" => "audio/x-ms-wax", + ".ogg" => "application/ogg", + ".wav" => "audio/x-wav", + ".gif" => "image/gif", + ".jpg" => "image/jpeg", + ".jpeg" => "image/jpeg", + ".png" => "image/png", + ".xbm" => "image/x-xbitmap", + ".xpm" => "image/x-xpixmap", + ".xwd" => "image/x-xwindowdump", + ".css" => "text/css", + ".html" => "text/html", + ".htm" => "text/html", + ".js" => "text/javascript", + ".asc" => "text/plain", + ".c" => "text/plain", + ".cpp" => "text/plain", + ".log" => "text/plain", + ".conf" => "text/plain", + ".text" => "text/plain", + ".txt" => "text/plain", + ".dtd" => "text/xml", + ".xml" => "text/xml", + ".mpeg" => "video/mpeg", + ".mpg" => "video/mpeg", + ".mov" => "video/quicktime", + ".qt" => "video/quicktime", + ".avi" => "video/x-msvideo", + ".asf" => "video/x-ms-asf", + ".asx" => "video/x-ms-asf", + ".wmv" => "video/x-ms-wmv", + ".bz2" => "application/x-bzip", + ".tbz" => "application/x-bzip-compressed-tar", + ".tar.bz2" => "application/x-bzip-compressed-tar" +) diff --git a/recipes-core/lighttpd/lighttpd_1.4.48.bb b/recipes-core/lighttpd/lighttpd_1.4.48.bb new file mode 100644 index 0000000..0b9897a --- /dev/null +++ b/recipes-core/lighttpd/lighttpd_1.4.48.bb @@ -0,0 +1,100 @@ +SUMMARY = "Lightweight high-performance web server" +HOMEPAGE = "http://www.lighttpd.net/" +BUGTRACKER = "http://redmine.lighttpd.net/projects/lighttpd/issues" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579" + +PR .= ".mts21" + +SECTION = "net" +DEPENDS = "zlib libpcre openssl" +RDEPENDS_${PN} += " \ + lighttpd-module-access \ + lighttpd-module-accesslog \ + lighttpd-module-fastcgi \ + lighttpd-module-rewrite \ + lighttpd-module-redirect \ + lighttpd-module-alias \ + lighttpd-module-setenv \ + lighttpd-module-expire \ + lighttpd-module-openssl \ +" +RDEPENDS_${PN} += " openssl" +# for lighttpd_custom_images_setup script +RDEPENDS_${PN} += "bash file file-magic-db-images" + + +SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.gz \ + file://lighttpd.conf \ + file://lighttpd_nrs.conf \ + file://lighttpd.init \ + file://lighttpd_custom_images_setup \ + file://0001-lighttpd-pcre-use-pkg-config.patch;apply=true \ + file://0004_fastcgi_env_with_unixsocket.patch;apply=true \ +" + + +SRC_URI[md5sum] = "fe9ea4dccacd9738be03245c364bc055" +SRC_URI[sha256sum] = "fc36f82877284eb506356aa80f483f133a9e17ec7cb79acd7e5b7733768538ef" + +EXTRA_OECONF = " \ + --without-bzip2 \ + --without-ldap \ + --without-lua \ + --without-memcached \ + --with-pcre \ + --without-webdav-props \ + --without-webdav-locks \ + --with-openssl \ + --with-openssl-libs=${STAGING_LIBDIR} \ + --with-zlib \ + --disable-static \ +" + +inherit useradd autotools pkgconfig update-rc.d gettext systemd + +INITSCRIPT_NAME = "lighttpd" +INITSCRIPT_PARAMS = "defaults 60 40" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system --gid 667 www" +USERADD_PARAM_${PN} = "--system --gid 667 --uid 667 --groups 667 --no-create-home --home-dir /var/www --shell /bin/false --no-user-group www" + +do_install_append() { + install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav + install -d 0644 ${D}${sysconfdir}/ssl + install -m 0755 --group www -d ${D}${localstatedir}/www + install -m 0755 ${WORKDIR}/lighttpd.init ${D}${sysconfdir}/init.d/lighttpd + install -m 0644 --group www ${WORKDIR}/lighttpd.conf ${D}${sysconfdir} + install -m 0644 --group www ${WORKDIR}/lighttpd_nrs.conf ${D}${sysconfdir} + + #For FHS compliance, create symbolic links to /var/log and /var/tmp for logs and temporary data + ln -sf ${localstatedir}/log ${D}/www/logs + ln -sf ${localstatedir}/tmp ${D}/www/var + ln -snf ../volatile/www/tmp ${D}${localstatedir}/www/tmp + + install -d ${D}/${base_sbindir} + install -m 755 ${WORKDIR}/lighttpd_custom_images_setup ${D}/${base_sbindir}/lighttpd_custom_images_setup +} + +do_install_append_mtr() { + sed -i 's/^server.max-request-size.*/server.max-request-size = 60000/g' ${D}${sysconfdir}/lighttpd.conf +} + +do_install_append_mtrv1() { + sed -i 's/^server.max-request-size.*/server.max-request-size = 60000/g' ${D}${sysconfdir}/lighttpd.conf +} + +FILES_${PN} += "${sysconfdir} /www" + +CONFFILES_${PN} = "${sysconfdir}/lighttpd.conf \ + ${sysconfdir}/lighttpd_nrs.conf \ + " + +PACKAGES_DYNAMIC += "^lighttpd-module-.*" + +python populate_packages_prepend () { + lighttpd_libdir = d.expand('${libdir}') + do_split_packages(d, lighttpd_libdir, '^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='') +} diff --git a/recipes-core/multitech/commissioning_1.0.0.bb b/recipes-core/multitech/commissioning_1.0.0.bb deleted file mode 100644 index 22369dc..0000000 --- a/recipes-core/multitech/commissioning_1.0.0.bb +++ /dev/null @@ -1,33 +0,0 @@ -inherit update-rc.d - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=593c81e8a2bd8b4c4e310d8792372b13" - -PACKAGE_ARCH = "all" - -RDEPENDS_${PN} += "lighttpd lighttpd-module-fastcgi lighttpd-module-redirect bash" -RDEPENDS_${PN}-php-fpm += "php-fpm ${PN}" -PACKAGES =+ "${PN}-php-fpm" -INITSCRIPT_PACKAGES = "${PN} ${PN}-php-fpm" -INITSCRIPT_NAME_${PN} = "commission" -INITSCRIPT_PARAMS_${PN} = "start 9 2 3 4 5 ." -INITSCRIPT_NAME_${PN}-php-fpm = "commission-php-fpm" -INITSCRIPT_PARAMS_${PN}-php-fpm = "start 9 2 3 4 5 ." - -PR = "r1" -SRCREV = "${PV}" - -FILES_${PN}-php-fpm = "/etc/init.d/commission-php-fpm" -FILES_${PN} += "/www/" - -SRC_URI = "git://git@${MTS_INTERNAL_GIT}/mirrors/commissioning.git;protocol=ssh" - -S = "${WORKDIR}/git" -do_install() { - cp -a ${S}/${sysconfdir}/ ${D}/ - cp -a ${S}/www/ ${D}/ - cp -a ${S}/${prefix} ${D}/ - chmod 755 ${D}/etc/init.d/* - chmod 755 ${D}/${libexecdir}/commission/* - chown -R root:root ${D}/ -} diff --git a/recipes-core/multitech/commissioning_1.0.1.bb b/recipes-core/multitech/commissioning_1.0.1.bb new file mode 100644 index 0000000..cbe82d6 --- /dev/null +++ b/recipes-core/multitech/commissioning_1.0.1.bb @@ -0,0 +1,42 @@ +inherit update-rc.d + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=593c81e8a2bd8b4c4e310d8792372b13" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +DEPENDS = "fcgi jsoncpp shadow" +RDEPENDS_${PN} += "jsoncpp lighttpd lighttpd-module-fastcgi lighttpd-module-openssl lighttpd-module-redirect bash" +RDEPENDS_${PN}-php-fpm += "php-fpm ${PN}" +PACKAGES =+ "${PN}-php-fpm" + +INITSCRIPT_PACKAGES = "${PN} ${PN}-php-fpm" +INITSCRIPT_NAME_${PN} = "commission " +INITSCRIPT_PARAMS_${PN} = "start 9 2 3 4 5 ." +INITSCRIPT_NAME_${PN}-php-fpm = "commission-php-fpm" +INITSCRIPT_PARAMS_${PN}-php-fpm = "start 9 2 3 4 5 ." + +PR = "r1" +SRCREV = "${PV}" + +FILES_${PN}-php-fpm = "/etc/init.d/commission-php-fpm" +FILES_${PN} += "/www/" + +SRC_URI = "git://git@gitlab.multitech.net/mirrors/commissioning.git;tag=1.0.1;protocol=ssh" + +S = "${WORKDIR}/git" +do_compile() { + oe_runmake all +} +do_install() { + + cp -a ${S}/${sysconfdir}/ ${D}/ + cp -a ${S}/www/ ${D}/ + cp -a ${S}/${prefix} ${D}/ + chmod 755 ${D}/etc/init.d/* + chmod 755 ${D}/${libexecdir}/commission/* + chown -R root:root ${D}/ + + oe_runmake install DESTDIR=${D} + chmod 755 ${D}/usr/bin/commissioning.fcgi +} -- cgit v1.2.3 From f78571137750469cf6e1c262815dafd69d36baaa Mon Sep 17 00:00:00 2001 From: Patrick Murphy Date: Thu, 30 Apr 2020 15:33:43 -0500 Subject: pointed commissioning.bb to git.multitech.net --- recipes-core/multitech/commissioning_1.0.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'recipes-core') diff --git a/recipes-core/multitech/commissioning_1.0.1.bb b/recipes-core/multitech/commissioning_1.0.1.bb index cbe82d6..06e1904 100644 --- a/recipes-core/multitech/commissioning_1.0.1.bb +++ b/recipes-core/multitech/commissioning_1.0.1.bb @@ -22,7 +22,7 @@ SRCREV = "${PV}" FILES_${PN}-php-fpm = "/etc/init.d/commission-php-fpm" FILES_${PN} += "/www/" -SRC_URI = "git://git@gitlab.multitech.net/mirrors/commissioning.git;tag=1.0.1;protocol=ssh" +SRC_URI = "git://git.multitech.net/commissioning;branch=master" S = "${WORKDIR}/git" do_compile() { -- cgit v1.2.3 From 7afb8c9e71390b6aa13341d79dd839e9da213c89 Mon Sep 17 00:00:00 2001 From: Patrick Murphy Date: Mon, 18 May 2020 15:34:13 -0500 Subject: modified commissioning recipe to support rmpasswd. modified reset-handler to call rmpasswd --- recipes-core/multitech/commissioning_1.0.1.bb | 2 ++ recipes-core/multitech/reset-handler/reset-handler.sh | 5 +++++ 2 files changed, 7 insertions(+) (limited to 'recipes-core') diff --git a/recipes-core/multitech/commissioning_1.0.1.bb b/recipes-core/multitech/commissioning_1.0.1.bb index 06e1904..1bb2a7b 100644 --- a/recipes-core/multitech/commissioning_1.0.1.bb +++ b/recipes-core/multitech/commissioning_1.0.1.bb @@ -33,6 +33,8 @@ do_install() { cp -a ${S}/${sysconfdir}/ ${D}/ cp -a ${S}/www/ ${D}/ cp -a ${S}/${prefix} ${D}/ + cp -a ${S}/usr/ ${D}/ + chmod 755 ${D}/usr/bin/rmpasswd/ chmod 755 ${D}/etc/init.d/* chmod 755 ${D}/${libexecdir}/commission/* chown -R root:root ${D}/ diff --git a/recipes-core/multitech/reset-handler/reset-handler.sh b/recipes-core/multitech/reset-handler/reset-handler.sh index 50a6783..43f7471 100755 --- a/recipes-core/multitech/reset-handler/reset-handler.sh +++ b/recipes-core/multitech/reset-handler/reset-handler.sh @@ -39,6 +39,11 @@ do_restore_defaults() { rm -rf /var/config/* $log "Setting restore defaults on reboot" touch /var/config/force_defaults + if [[ -x /usr/bin/rmpasswd ]] + then + $log "Resetting passwords" + source rmpasswd + fi $log "Rebooting" sleep 1 reboot -- cgit v1.2.3 From bcfd4fbf402049055448862e83566d87b3e3c2e5 Mon Sep 17 00:00:00 2001 From: Patrick Murphy Date: Mon, 18 May 2020 17:16:44 -0500 Subject: modified commissioning recipe --- recipes-core/multitech/commissioning_1.0.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'recipes-core') diff --git a/recipes-core/multitech/commissioning_1.0.1.bb b/recipes-core/multitech/commissioning_1.0.1.bb index 1bb2a7b..6fb0a12 100644 --- a/recipes-core/multitech/commissioning_1.0.1.bb +++ b/recipes-core/multitech/commissioning_1.0.1.bb @@ -34,7 +34,7 @@ do_install() { cp -a ${S}/www/ ${D}/ cp -a ${S}/${prefix} ${D}/ cp -a ${S}/usr/ ${D}/ - chmod 755 ${D}/usr/bin/rmpasswd/ + chmod 755 ${D}/usr/bin/* chmod 755 ${D}/etc/init.d/* chmod 755 ${D}/${libexecdir}/commission/* chown -R root:root ${D}/ -- cgit v1.2.3 From c7cd96da4b7e4ef5966a39a60c19502381a674aa Mon Sep 17 00:00:00 2001 From: Mike Nicholson Date: Thu, 13 Jun 2019 11:40:14 -0500 Subject: Multi-arch initial revision --- recipes-core/images/mlinux-minimal-image.bb | 15 +++++++++------ recipes-core/images/mlinux-mtcap-image.bb | 3 --- recipes-core/images/mlinux-mtr-image.bb | 1 - recipes-core/images/mlinux-mtrv1-image.bb | 1 - 4 files changed, 9 insertions(+), 11 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-minimal-image.bb b/recipes-core/images/mlinux-minimal-image.bb index 8090f57..78ffcf3 100644 --- a/recipes-core/images/mlinux-minimal-image.bb +++ b/recipes-core/images/mlinux-minimal-image.bb @@ -16,10 +16,10 @@ CORE_FEATURES = "packagegroup-core-boot packagegroup-distro-base \ openssh-sftp-server \ util-linux-mount util-linux-umount \ start-stop-daemon \ - sudo \ + sudo \ ${CORE_IMAGE_EXTRA_INSTALL} \ mlinux-feed-configs \ - useradd \ + useradd \ get-eeprom-device-config \ " @@ -44,10 +44,11 @@ MULTITECH_FEATURES = "kernel-module-mts-io \ config \ mts-id-eeprom \ set-rs485 \ - radio-reset" + radio-reset \ + upgrade-reboot" - -MULTITECH_MTAC = "kernel-module-mtac \ +MULTITECH_MTAC = "" +MULTITECH_MTAC_mtcdt += "kernel-module-mtac \ kernel-module-mtac-eth \ kernel-module-mtac-gpiob \ kernel-module-mtac-lora \ @@ -55,7 +56,9 @@ MULTITECH_MTAC = "kernel-module-mtac \ kernel-module-mtac-pulse \ kernel-module-mtac-xdot" -UPGRADE_FEATURES = "upgrade-reboot mtd-utils-static" +# BSP SPECIFIC UPGRADE FEATURES +UPGRADE_FEATURES = "" +UPGRADE_FEATURES_mtbsp-at91 = "mtd-utils-static" IMAGE_INSTALL = "${CORE_FEATURES} \ ${NETWORKING_FEATURES} \ diff --git a/recipes-core/images/mlinux-mtcap-image.bb b/recipes-core/images/mlinux-mtcap-image.bb index ec161bd..d3b6f65 100644 --- a/recipes-core/images/mlinux-mtcap-image.bb +++ b/recipes-core/images/mlinux-mtcap-image.bb @@ -25,9 +25,6 @@ NETWORKING_FEATURES += "bridge-utils \ busybox-ifplugd \ " -# No accessory cards for MTAC -MULTITECH_MTAC = "" - TIME_FEATURES = "tzdata tzdata-africa tzdata-americas tzdata-antarctica tzdata-arctic \ tzdata-asia tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific \ tzdata-misc \ diff --git a/recipes-core/images/mlinux-mtr-image.bb b/recipes-core/images/mlinux-mtr-image.bb index bf56719..3a99d8e 100644 --- a/recipes-core/images/mlinux-mtr-image.bb +++ b/recipes-core/images/mlinux-mtr-image.bb @@ -3,7 +3,6 @@ DESCRIPTION = "mLinux base mtr image" LICENSE = "MIT" require mlinux-minimal-image.bb -MULTITECH_MTAC = "" FILESYSTEM_FEATURES = "dosfstools \ cifs-utils \ diff --git a/recipes-core/images/mlinux-mtrv1-image.bb b/recipes-core/images/mlinux-mtrv1-image.bb index 3c10593..2e5ad58 100644 --- a/recipes-core/images/mlinux-mtrv1-image.bb +++ b/recipes-core/images/mlinux-mtrv1-image.bb @@ -3,7 +3,6 @@ DESCRIPTION = "mLinux base mtr image" LICENSE = "MIT" require mlinux-minimal-image.bb -MULTITECH_MTAC = "" FILESYSTEM_FEATURES = "dosfstools \ cifs-utils \ -- cgit v1.2.3 From f23828890d9ff9a1e02266faa87179447652c9dc Mon Sep 17 00:00:00 2001 From: Mike Nicholson Date: Mon, 22 Jul 2019 15:12:03 -0500 Subject: Updates for SDK build / mlinux-factory-build --- recipes-core/images/mlinux-base-image.bb | 3 ++- recipes-core/images/mlinux-factory-image.bb | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-base-image.bb b/recipes-core/images/mlinux-base-image.bb index 0eb3592..8618831 100644 --- a/recipes-core/images/mlinux-base-image.bb +++ b/recipes-core/images/mlinux-base-image.bb @@ -48,13 +48,14 @@ TIME_FEATURES = "tzdata tzdata-africa tzdata-americas tzdata-antarctica tzdata-a # radio-query: queries cellular radio for common info (IMEI, RSSI, etc) # jsparser: command line tool to parse JSON files MULTITECH_FEATURES += " \ - u-boot-linux-utils \ mlinux-scripts \ reset-handler \ radio-cmd radio-query \ jsparser \ " +UPGRADE_FEATURES_mtbsp-at91 = "u-boot-linux-utils" + MISC_FEATURES = "minicom lrzsz nano" # Extra stuff to install diff --git a/recipes-core/images/mlinux-factory-image.bb b/recipes-core/images/mlinux-factory-image.bb index a20e64b..258fe44 100644 --- a/recipes-core/images/mlinux-factory-image.bb +++ b/recipes-core/images/mlinux-factory-image.bb @@ -26,7 +26,8 @@ IMAGE_INSTALL += "autossh" IMAGE_INSTALL += "monit" # LoRa support (MTAC-LORA accessory card) -IMAGE_INSTALL += "lora-gateway-utils lora-network-server lora-query lora-packet-forwarder-usb lora-gateway-geolocation-utils lora-packet-forwarder-geolocation mtac-xdot-util" +IMAGE_INSTALL += "lora-gateway-utils lora-query lora-packet-forwarder-usb lora-gateway-geolocation-utils lora-packet-forwarder-geolocation" +IMAGE_INSTALL_mtbsp-at91 += "lora-network-server mtac-xdot-util" # MQTT server #IMAGE_INSTALL += "mosquitto" -- cgit v1.2.3 From d2821368e0b593b201c77b46f3e5461ffcedd4f8 Mon Sep 17 00:00:00 2001 From: Mike Nicholson Date: Tue, 23 Jul 2019 15:19:29 -0500 Subject: Update support for mulitarch base image --- recipes-core/images/mlinux-factory-image.bb | 4 ++-- recipes-core/images/mlinux-minimal-image.bb | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-factory-image.bb b/recipes-core/images/mlinux-factory-image.bb index 258fe44..9955f71 100644 --- a/recipes-core/images/mlinux-factory-image.bb +++ b/recipes-core/images/mlinux-factory-image.bb @@ -26,8 +26,8 @@ IMAGE_INSTALL += "autossh" IMAGE_INSTALL += "monit" # LoRa support (MTAC-LORA accessory card) -IMAGE_INSTALL += "lora-gateway-utils lora-query lora-packet-forwarder-usb lora-gateway-geolocation-utils lora-packet-forwarder-geolocation" -IMAGE_INSTALL_mtbsp-at91 += "lora-network-server mtac-xdot-util" +IMAGE_INSTALL += "lora-gateway-utils lora-query lora-network-server lora-packet-forwarder-usb lora-gateway-geolocation-utils lora-packet-forwarder-geolocation" +IMAGE_INSTALL_mtbsp-at91 += "mtac-xdot-util" # MQTT server #IMAGE_INSTALL += "mosquitto" diff --git a/recipes-core/images/mlinux-minimal-image.bb b/recipes-core/images/mlinux-minimal-image.bb index 78ffcf3..2cecc1e 100644 --- a/recipes-core/images/mlinux-minimal-image.bb +++ b/recipes-core/images/mlinux-minimal-image.bb @@ -12,7 +12,7 @@ CORE_FEATURES = "packagegroup-core-boot packagegroup-distro-base \ packagegroup-base-usbhost packagegroup-base-usbgadget \ udev-extraconf usb-gadget-mode \ sysfsutils module-init-tools \ - bash procps mtd-utils mtd-utils-jffs2 \ + bash procps \ openssh-sftp-server \ util-linux-mount util-linux-umount \ start-stop-daemon \ @@ -23,6 +23,8 @@ CORE_FEATURES = "packagegroup-core-boot packagegroup-distro-base \ get-eeprom-device-config \ " +CORE_FEATURES_mtbsp-at91 += "mtd-utils mtd-utils-jffs2" + NETWORKING_FEATURES = "ppp curl iproute2 \ iptables iputils \ " -- cgit v1.2.3 From 1e7f8ce4ab7dbfe8160f2ef54fe830334e79c6b7 Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 25 Jul 2019 11:19:01 -0500 Subject: Fix openembedded busybox RPC issue --- recipes-core/busybox/busybox_%.bbappend | 4 ++++ recipes-core/busybox/files/defconfig | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/busybox/busybox_%.bbappend b/recipes-core/busybox/busybox_%.bbappend index b8bbdf7..31b58fa 100644 --- a/recipes-core/busybox/busybox_%.bbappend +++ b/recipes-core/busybox/busybox_%.bbappend @@ -2,6 +2,7 @@ PR .= ".mlinux3" PACKAGES =+ "busybox-ifplugd" FILESEXTRAPATHS_prepend := ":${THISDIR}/files:" RDEPENDS_${PN} += "bash" +DEPENDS += "libtirpc" SRC_URI += "file://udhcpd.conf.example \ file://ifplugd.action \ @@ -24,6 +25,9 @@ do_install_append () { install -m 644 ${WORKDIR}/eth1.conf.example ${D}${sysconfdir}/ifplugd } +export EXTRA_CFLAGS += "-I${STAGING_INCDIR}/tirpc" + + RDEPENDS_${PN}-ifplugd += "bash" # PACKAGES =+ "${PN}-ifplugd" inherit update-rc.d diff --git a/recipes-core/busybox/files/defconfig b/recipes-core/busybox/files/defconfig index a24c108..b022456 100644 --- a/recipes-core/busybox/files/defconfig +++ b/recipes-core/busybox/files/defconfig @@ -16,13 +16,13 @@ CONFIG_HAVE_DOT_CONFIG=y # CONFIG_EXTRA_COMPAT is not set # CONFIG_INCLUDE_SUSv2 is not set # CONFIG_USE_PORTABLE_CODE is not set -CONFIG_PLATFORM_LINUX=y CONFIG_FEATURE_BUFFERS_USE_MALLOC=y # CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set # CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set CONFIG_SHOW_USAGE=y CONFIG_FEATURE_VERBOSE_USAGE=y CONFIG_FEATURE_COMPRESS_USAGE=y +CONFIG_BUSYBOX=y # CONFIG_FEATURE_INSTALLER is not set # CONFIG_INSTALL_NO_USR is not set # CONFIG_LOCALE_SUPPORT is not set @@ -42,6 +42,7 @@ CONFIG_FEATURE_DEVPTS=y CONFIG_FEATURE_UTMP=y # CONFIG_FEATURE_WTMP is not set CONFIG_FEATURE_PIDFILE=y +CONFIG_PID_FILE_PATH="/var/run" CONFIG_FEATURE_SUID=y CONFIG_FEATURE_SUID_CONFIG=y CONFIG_FEATURE_SUID_CONFIG_QUIET=y @@ -50,6 +51,7 @@ CONFIG_FEATURE_SUID_CONFIG_QUIET=y CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" CONFIG_FEATURE_SYSLOG=y CONFIG_FEATURE_HAVE_RPC=y +CONFIG_PLATFORM_LINUX=y # # Build Options @@ -64,7 +66,7 @@ CONFIG_LFS=y # CONFIG_CROSS_COMPILER_PREFIX is not set CONFIG_SYSROOT="" # CONFIG_EXTRA_CFLAGS is not set -CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDFLAGS="-ltirpc" CONFIG_EXTRA_LDLIBS="" # -- cgit v1.2.3 From 63ef7d25b4fc2132102d90dd5f915500616658e2 Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 25 Jul 2019 14:20:07 -0500 Subject: Move mount.patch forward for Yocto Thud --- recipes-core/udev/udev-extraconf/mount.patch | 55 ++++++++++------------------ 1 file changed, 19 insertions(+), 36 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/udev/udev-extraconf/mount.patch b/recipes-core/udev/udev-extraconf/mount.patch index 71ccc56..0c62873 100644 --- a/recipes-core/udev/udev-extraconf/mount.patch +++ b/recipes-core/udev/udev-extraconf/mount.patch @@ -1,44 +1,27 @@ diff -Naru old/mount.sh new/mount.sh ---- old/mount.sh 2018-05-15 09:07:02.814673114 -0500 -+++ new/mount.sh 2018-05-15 09:06:30.862674060 -0500 -@@ -4,7 +4,6 @@ - # - # Attempt to mount any added block devices and umount any removed devices +--- old/mount.sh 2019-07-25 13:22:28.209140732 -0500 ++++ new/mount.sh 2019-07-25 14:07:12.797061256 -0500 +@@ -49,6 +49,11 @@ -- - MOUNT="/bin/mount" - PMOUNT="/usr/bin/pmount" - UMOUNT="/bin/umount" -@@ -21,6 +20,10 @@ - name="`basename "$DEVNAME"`" + [ -d "/run/media/$name" ] || mkdir -p "/run/media/$name" - ! test -d "/run/media/$name" && mkdir -p "/run/media/$name" -+ if [ "$name" = mmcblk0p1 ] ; -+ then -+ ln -sf /run/media/$name /run/media/card -+ fi - # Silent util-linux's version of mounting auto - if [ "x`readlink $MOUNT`" = "x/bin/mount.util-linux" ] ; - then -@@ -31,7 +34,7 @@ - # grant it with w/r/x permissions. - case $ID_FS_TYPE in - vfat|fat) -- MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`" -+ MOUNT="$MOUNT -o errors=continue -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`" - ;; - # TODO - *) -@@ -66,7 +69,11 @@ ++ if [ "$name" = mmcblk0p1 ] ; then ++ ln -sf /run/media/$name ++ /run/media/card ++ fi ++ + MOUNT="$MOUNT -o silent" + + # If filesystemtype is vfat, change the ownership group to 'disk', and +@@ -78,7 +83,11 @@ if [ -x "$PMOUNT" ]; then $PMOUNT $DEVNAME 2> /dev/null elif [ -x $MOUNT ]; then -- $MOUNT $DEVNAME 2> /dev/null -+ if [[ $ID_FS_TYPE =~ fat ]] ; then -+ $MOUNT -o umask=002,gid=disk $DEVNAME 2> /dev/null -+ else -+ $MOUNT $DEVNAME 2> /dev/null -+ fi ++ if [[ $ID_FS_TYPE =~ fat ]] ; then ++ $MOUNT -o umask=002,gid=disk $DEVNAME 2> /dev/null ++ else + $MOUNT $DEVNAME 2> /dev/null ++ fi fi - + # If the device isn't mounted at this point, it isn't -- cgit v1.2.3 From bb12df039a86d07bcc991e46aa4a469d1ceb0680 Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 25 Jul 2019 17:56:53 -0500 Subject: Remove hostap-utils, which is only for the Intersil 2/2.5/3 --- recipes-core/images/mlinux-base-image.bb | 4 ++-- recipes-core/images/mlinux-mtcap-image.bb | 4 ++-- recipes-core/images/mlinux-mtr-image.bb | 4 ++-- recipes-core/images/mlinux-mtrv1-image.bb | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-base-image.bb b/recipes-core/images/mlinux-base-image.bb index 8618831..692a9b3 100644 --- a/recipes-core/images/mlinux-base-image.bb +++ b/recipes-core/images/mlinux-base-image.bb @@ -13,7 +13,7 @@ NETWORKING_FEATURES += "bridge-utils \ inetutils-ftp \ openssl \ rsync \ - iperf \ + iperf3 \ mii-diag \ tcpdump \ netcat \ @@ -27,7 +27,7 @@ WIFI_FEATURES = " \ wpa-supplicant \ wireless-tools \ iw \ - hostap-daemon hostap-utils \ + hostapd \ " BLUETOOTH_FEATURES = "bluez5" diff --git a/recipes-core/images/mlinux-mtcap-image.bb b/recipes-core/images/mlinux-mtcap-image.bb index d3b6f65..455718d 100644 --- a/recipes-core/images/mlinux-mtcap-image.bb +++ b/recipes-core/images/mlinux-mtcap-image.bb @@ -16,7 +16,7 @@ NETWORKING_FEATURES += "bridge-utils \ inetutils-ftp \ openssl \ rsync \ - iperf \ + iperf3 \ mii-diag \ tcpdump \ netcat \ @@ -36,7 +36,7 @@ WIFI_FEATURES = "libnl \ wpa-supplicant \ wireless-tools \ iw \ - hostap-daemon hostap-utils \ + hostapd \ wilc1000 \ " diff --git a/recipes-core/images/mlinux-mtr-image.bb b/recipes-core/images/mlinux-mtr-image.bb index 3a99d8e..3b88076 100644 --- a/recipes-core/images/mlinux-mtr-image.bb +++ b/recipes-core/images/mlinux-mtr-image.bb @@ -13,7 +13,7 @@ NETWORKING_FEATURES += "bridge-utils \ inetutils-ftp \ openssl \ rsync \ - iperf \ + iperf3 \ mii-diag \ tcpdump \ netcat \ @@ -27,7 +27,7 @@ WIFI_FEATURES = " \ wpa-supplicant \ wireless-tools \ iw \ - hostap-daemon hostap-utils \ + hostapd \ " BLUETOOTH_FEATURES = "bluez5" diff --git a/recipes-core/images/mlinux-mtrv1-image.bb b/recipes-core/images/mlinux-mtrv1-image.bb index 2e5ad58..6938b93 100644 --- a/recipes-core/images/mlinux-mtrv1-image.bb +++ b/recipes-core/images/mlinux-mtrv1-image.bb @@ -13,7 +13,7 @@ NETWORKING_FEATURES += "bridge-utils \ inetutils-ftp \ openssl \ rsync \ - iperf \ + iperf3 \ mii-diag \ tcpdump \ netcat \ @@ -27,7 +27,7 @@ WIFI_FEATURES = " \ wpa-supplicant \ wireless-tools \ iw \ - hostap-daemon hostap-utils \ + hostapd \ " BLUETOOTH_FEATURES = "bluez5" -- cgit v1.2.3 From d5eda847daabc4b27c61ab35407c457efe80516e Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 26 Jul 2019 13:00:09 -0500 Subject: Update recipe useradd for thud --- recipes-core/useradd/useradd.bb | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/useradd/useradd.bb b/recipes-core/useradd/useradd.bb index cbc48e7..7a026e3 100644 --- a/recipes-core/useradd/useradd.bb +++ b/recipes-core/useradd/useradd.bb @@ -7,7 +7,9 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" S = "${WORKDIR}" - +user = "mtadm" +home = "/home/${user}" +FILES_${PN} = "${home}/.ssh" inherit useradd # You must set USERADD_PACKAGES when you inherit useradd. This @@ -28,30 +30,30 @@ GROUPADD_PARAM_${PN} = "-r -g 27 sudo" # useradd command. Multiple users can be created by separating # the commands with a semicolon. Here we'll create two users, # user1 and user2: -USERADD_PARAM_${PN} = "-u 50 -G sudo,disk -m -r -s /bin/bash mtadm" +USERADD_PARAM_${PN} = "-u 50 -G sudo,disk -m -r -s /bin/bash ${user}" do_install () { # If the recipe doesn't have a file, the ipk # is deleted, and it does nothing. # Create a .ssh directory for mtadm. - install -d 0700 ${D}/home/mtadm/.ssh - chown mtadm:mtadm ${D}/home/mtadm - chown mtadm:mtadm ${D}/home/mtadm/.ssh + install -d 0700 ${D}/${FILES_${PN}} + chown mtadm:mtadm ${D}/${home} + chown mtadm:mtadm ${D}/${FILES_${PN}} } -FILES_${PN} = "/home/mtadm/.ssh" + # Prevents do_package failures with: # debugsources.list: No such file or directory: INHIBIT_PACKAGE_DEBUG_SPLIT = "1" pkg_postinst_${PN} () { - profile=/home/mtadm/.profile + profile=${home}/.profile if ! grep 'sbin' ${profile} ; then Sub='${PA' Sub=${Sub}'TH}:/sbin:/usr/sbin' - echo 'PATH='${Sub} >>/home/mtadm/.profile - echo 'export PATH' >>/home/mtadm/.profile + echo 'PATH='${Sub} >>$D/${home}/.profile + echo 'export PATH' >>$D/${home}/.profile fi } -- cgit v1.2.3 From 481356c7952245182af89fa528c997dca498ea44 Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 26 Jul 2019 14:50:18 -0500 Subject: wireless-tools was removed from open-embedded --- recipes-core/images/mlinux-base-image.bb | 1 - recipes-core/images/mlinux-mtcap-image.bb | 1 - recipes-core/images/mlinux-mtr-image.bb | 1 - recipes-core/images/mlinux-mtrv1-image.bb | 1 - 4 files changed, 4 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-base-image.bb b/recipes-core/images/mlinux-base-image.bb index 692a9b3..99a5250 100644 --- a/recipes-core/images/mlinux-base-image.bb +++ b/recipes-core/images/mlinux-base-image.bb @@ -25,7 +25,6 @@ NETWORKING_FEATURES += "bridge-utils \ WIFI_FEATURES = " \ libnl \ wpa-supplicant \ - wireless-tools \ iw \ hostapd \ " diff --git a/recipes-core/images/mlinux-mtcap-image.bb b/recipes-core/images/mlinux-mtcap-image.bb index 455718d..d318a8e 100644 --- a/recipes-core/images/mlinux-mtcap-image.bb +++ b/recipes-core/images/mlinux-mtcap-image.bb @@ -34,7 +34,6 @@ TIME_FEATURES = "tzdata tzdata-africa tzdata-americas tzdata-antarctica tzdata-a WIFI_FEATURES = "libnl \ wpa-supplicant \ - wireless-tools \ iw \ hostapd \ wilc1000 \ diff --git a/recipes-core/images/mlinux-mtr-image.bb b/recipes-core/images/mlinux-mtr-image.bb index 3b88076..9fa719a 100644 --- a/recipes-core/images/mlinux-mtr-image.bb +++ b/recipes-core/images/mlinux-mtr-image.bb @@ -25,7 +25,6 @@ NETWORKING_FEATURES += "bridge-utils \ WIFI_FEATURES = " \ libnl \ wpa-supplicant \ - wireless-tools \ iw \ hostapd \ " diff --git a/recipes-core/images/mlinux-mtrv1-image.bb b/recipes-core/images/mlinux-mtrv1-image.bb index 6938b93..a5deb99 100644 --- a/recipes-core/images/mlinux-mtrv1-image.bb +++ b/recipes-core/images/mlinux-mtrv1-image.bb @@ -25,7 +25,6 @@ NETWORKING_FEATURES += "bridge-utils \ WIFI_FEATURES = " \ libnl \ wpa-supplicant \ - wireless-tools \ iw \ hostapd \ " -- cgit v1.2.3 From 9eae394829275a701ef15bd8f6730667dcaf20be Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 26 Jul 2019 17:30:02 -0500 Subject: python-async, python-argparse, python-importlib and python-pycurl all removed from Thud --- recipes-core/images/mlinux-factory-image.bb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-factory-image.bb b/recipes-core/images/mlinux-factory-image.bb index 9955f71..0dc54f3 100644 --- a/recipes-core/images/mlinux-factory-image.bb +++ b/recipes-core/images/mlinux-factory-image.bb @@ -44,14 +44,11 @@ IMAGE_INSTALL += "perl-module-io perl-module-fcntl" # Python support IMAGE_INSTALL += "python" # Python modules -IMAGE_INSTALL += "python-async \ -python-argparse \ +IMAGE_INSTALL += "python-argparse \ python-compression \ python-dateutil \ python-html \ -python-importlib \ python-psutil \ -python-pycurl \ python-pyopenssl \ python-pyserial \ python-pyudev \ -- cgit v1.2.3 From 4da364c0fe31d5d531f04bda5f44a101a7c4fb09 Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 30 Aug 2019 16:18:07 -0500 Subject: Fix broken appends in image recipes --- recipes-core/images/mlinux-factory-image.bb | 2 +- recipes-core/images/mlinux-minimal-image.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-factory-image.bb b/recipes-core/images/mlinux-factory-image.bb index 0dc54f3..68b79fb 100644 --- a/recipes-core/images/mlinux-factory-image.bb +++ b/recipes-core/images/mlinux-factory-image.bb @@ -27,7 +27,7 @@ IMAGE_INSTALL += "monit" # LoRa support (MTAC-LORA accessory card) IMAGE_INSTALL += "lora-gateway-utils lora-query lora-network-server lora-packet-forwarder-usb lora-gateway-geolocation-utils lora-packet-forwarder-geolocation" -IMAGE_INSTALL_mtbsp-at91 += "mtac-xdot-util" +IMAGE_INSTALL_mtbsp-at91_append = "mtac-xdot-util" # MQTT server #IMAGE_INSTALL += "mosquitto" diff --git a/recipes-core/images/mlinux-minimal-image.bb b/recipes-core/images/mlinux-minimal-image.bb index 2cecc1e..2ad7b97 100644 --- a/recipes-core/images/mlinux-minimal-image.bb +++ b/recipes-core/images/mlinux-minimal-image.bb @@ -23,7 +23,7 @@ CORE_FEATURES = "packagegroup-core-boot packagegroup-distro-base \ get-eeprom-device-config \ " -CORE_FEATURES_mtbsp-at91 += "mtd-utils mtd-utils-jffs2" +CORE_FEATURES_mtbsp-at91_append = "mtd-utils mtd-utils-jffs2" NETWORKING_FEATURES = "ppp curl iproute2 \ iptables iputils \ -- cgit v1.2.3 From a699d36a15e2aa575db5f0d0fdfa2f0995a7c93a Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 5 Sep 2019 11:19:08 -0500 Subject: Create new fstab-at91 /etc/fstab recipe, and remove /etc/fstab from base-files --- recipes-core/base-files/base-files/mlinux/fstab | 10 ---------- recipes-core/base-files/base-files_3.0.14.bbappend | 10 +++++++++- recipes-core/base-files/fstab-at91/fstab | 10 ++++++++++ recipes-core/base-files/fstab-at91_1.0.bb | 17 +++++++++++++++++ 4 files changed, 36 insertions(+), 11 deletions(-) delete mode 100644 recipes-core/base-files/base-files/mlinux/fstab create mode 100644 recipes-core/base-files/fstab-at91/fstab create mode 100644 recipes-core/base-files/fstab-at91_1.0.bb (limited to 'recipes-core') diff --git a/recipes-core/base-files/base-files/mlinux/fstab b/recipes-core/base-files/base-files/mlinux/fstab deleted file mode 100644 index 8922faf..0000000 --- a/recipes-core/base-files/base-files/mlinux/fstab +++ /dev/null @@ -1,10 +0,0 @@ -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/base-files_3.0.14.bbappend b/recipes-core/base-files/base-files_3.0.14.bbappend index d7431ad..3ff14ba 100644 --- a/recipes-core/base-files/base-files_3.0.14.bbappend +++ b/recipes-core/base-files/base-files_3.0.14.bbappend @@ -1,9 +1,17 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -PR = "m1" +PR = "m2" + +CONFFILES_${PN}_remove = "${sysconfdir}/fstab" +FILES_${PN}_remove = "${sysconfdir}/fstab" do_install_append() { if [ -d ${D}/media ] ; then rmdir ${D}/media # So the next line does not nest the media link inside of media fi ln -snf /run/media ${D}/media + set -x + if [ -f ${D}/${sysconfdir}/fstab ] ; then + rm ${D}/${sysconfdir}/fstab + fi + set +x } 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} +} -- cgit v1.2.3 From 7f6479988cca603dcd1a4384b07075996e0a2658 Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 5 Sep 2019 11:26:58 -0500 Subject: Make /etc/init.d/config support eMMC, and eliminate MTD nand flash requirement --- recipes-core/multitech/config/config.init | 36 +++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 7 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/multitech/config/config.init b/recipes-core/multitech/config/config.init index d821f4c..27b067f 100644 --- a/recipes-core/multitech/config/config.init +++ b/recipes-core/multitech/config/config.init @@ -41,10 +41,21 @@ mount_config() { mkdir -p ${CONFIG_DIR} mount ${CONFIG_DIR} - # Prepare flash for JFFS2 if mount fails + # Prepare flash for JFFS2 or EXT4 if mount fails if [ $? -ne 0 ]; then echo "Creating ${CONFIG_DIR}" - flash_erase -j ${CONFIG_MTDC} 0 0 + fs=$(mount -fvn ${CONFIG_DIR}) + if [[ $fs =~ [[:space:]]*(/dev/(...)[^[:space:]]*) ]] ; then + if [[ ${BASH_REMATCH[2]} == mmc ]] ; then + # One more check for empty + mdev="${BASH_REMATCH[1]}" + if [[ $(dd if=$mdev count=4 2>/dev/null | tr -d '\0' | wc -c) == 0 ]] ; then + mkfs.ext4 -O 64bit ${mdev} + fi + else + flash_erase -j ${CONFIG_MTDC} 0 0 + fi + fi mount ${CONFIG_DIR} fi } @@ -54,10 +65,21 @@ mount_oem() { mkdir -p ${OEM_DIR} mount ${OEM_DIR} - # Prepare flash for JFFS2 if mount fails + # Prepare flash for JFFS2 or EXT4 if mount fails + # Prepare flash for JFFS2 or EXT4 if mount fails if [ $? -ne 0 ]; then echo "Creating ${OEM_DIR}" - flash_erase -j ${OEM_MTDC} 0 0 + fs=$(mount -fvn ${OEM_DIR}) + if [[ $fs =~ [[:space:]]*(/dev/(...)[^[:space:]]*) ]] ; then + if [[ ${BASH_REMATCH[2]} == mmc ]] ; then + mdev="${BASH_REMATCH[1]}" + if [[ $(dd if=$mdev count=4 2>/dev/null | tr -d '\0' | wc -c) == 0 ]] ; then + mkfs.ext4 -O 64bit ${mdev} + fi + else + flash_erase -j ${OEM_MTDC} 0 0 + fi + fi mount ${OEM_DIR} fi } @@ -65,15 +87,15 @@ mount_oem() { case $1 in start) # mount config if not already mounted - if ! grep -q "^${CONFIG_MTDB} " /proc/mounts; then + if ! grep -q " ${CONFIG_DIR} " /proc/mounts; then mount_config else echo "$CONFIG_DIR already mounted" fi # mount oem if specified in /etc/fstab and it isn't already mounted - if grep -qE "^${OEM_MTDB}\s+${OEM_DIR}\s+" /etc/fstab; then - if ! grep -q "^${OEM_MTDB} " /proc/mounts; then + if mount -fvn "${OEM_DIR}" ; then + if ! grep -q " ${OEM_DIR} " /proc/mounts; then mount_oem else echo "$OEM_DIR already mounted" -- cgit v1.2.3 From 1a259cf623579b1e4a12a8969f97dee4098d7c6d Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 5 Sep 2019 11:30:01 -0500 Subject: Add fstab-at91 for AT91 builds, and no += allowed in image recipes --- recipes-core/images/mlinux-minimal-image.bb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-minimal-image.bb b/recipes-core/images/mlinux-minimal-image.bb index 2ad7b97..77b8655 100644 --- a/recipes-core/images/mlinux-minimal-image.bb +++ b/recipes-core/images/mlinux-minimal-image.bb @@ -5,9 +5,11 @@ inherit core-image inherit mlinux-image IMAGE_LINGUAS = "" -IMAGE_FEATURES += "ssh-server-openssh package-management" +IMAGE_FEATURES_append = "ssh-server-openssh package-management" -CORE_FEATURES = "packagegroup-core-boot packagegroup-distro-base \ +# 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 \ @@ -23,7 +25,7 @@ CORE_FEATURES = "packagegroup-core-boot packagegroup-distro-base \ get-eeprom-device-config \ " -CORE_FEATURES_mtbsp-at91_append = "mtd-utils mtd-utils-jffs2" +CORE_FEATURES_mtbsp-at91_append = "mtd-utils mtd-utils-jffs2 fstab-at91" NETWORKING_FEATURES = "ppp curl iproute2 \ iptables iputils \ @@ -50,7 +52,8 @@ MULTITECH_FEATURES = "kernel-module-mts-io \ upgrade-reboot" MULTITECH_MTAC = "" -MULTITECH_MTAC_mtcdt += "kernel-module-mtac \ +MULTITECH_MTAC_mtcdt_append = " \ + kernel-module-mtac \ kernel-module-mtac-eth \ kernel-module-mtac-gpiob \ kernel-module-mtac-lora \ -- cgit v1.2.3 From ea65654f5c64b4f7c7d678425780bdec95962a4f Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 5 Sep 2019 11:32:37 -0500 Subject: Remove += or image builds are unstable, and changes cause lost packages (last casualty was util-linux-mount, which breaks the boot) --- recipes-core/images/mlinux-base-image.bb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-base-image.bb b/recipes-core/images/mlinux-base-image.bb index 99a5250..592e27c 100644 --- a/recipes-core/images/mlinux-base-image.bb +++ b/recipes-core/images/mlinux-base-image.bb @@ -9,7 +9,8 @@ FILESYSTEM_FEATURES = "dosfstools \ lsof \ " -NETWORKING_FEATURES += "bridge-utils \ +NETWORKING_FEATURES_append = " \ + bridge-utils \ inetutils-ftp \ openssl \ rsync \ @@ -46,8 +47,8 @@ TIME_FEATURES = "tzdata tzdata-africa tzdata-americas tzdata-antarctica tzdata-a # 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 += " \ - mlinux-scripts \ +MULTITECH_FEATURES_append = " \ + mlinux-scripts \ reset-handler \ radio-cmd radio-query \ jsparser \ @@ -58,7 +59,7 @@ UPGRADE_FEATURES_mtbsp-at91 = "u-boot-linux-utils" MISC_FEATURES = "minicom lrzsz nano" # Extra stuff to install -IMAGE_INSTALL += " \ +IMAGE_INSTALL_append = " \ kernel-modules \ ${WIFI_FEATURES} \ ${BLUETOOTH_FEATURES} \ -- cgit v1.2.3 From 6e767e79c95b109fc950975c37dbc143e280f3da Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 5 Sep 2019 11:33:26 -0500 Subject: Remove += from all image recipe files --- recipes-core/images/mlinux-factory-image.bb | 57 +++++++++++----------- recipes-core/images/mlinux-mono-image.bb | 2 +- recipes-core/images/mlinux-mtcap-debug-image.bb | 2 +- recipes-core/images/mlinux-mtcap-image.bb | 14 +++--- recipes-core/images/mlinux-mtr-image.bb | 6 +-- recipes-core/images/mlinux-mtrv1-image.bb | 10 ++-- recipes-core/images/mlinux-rs9113-base-image.bb | 2 +- recipes-core/images/mlinux-rs9113-factory-image.bb | 2 +- recipes-core/images/mlinux-sdk.bb | 2 +- recipes-core/images/mtcap-modules.inc | 2 +- 10 files changed, 50 insertions(+), 49 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-factory-image.bb b/recipes-core/images/mlinux-factory-image.bb index 68b79fb..3588e20 100644 --- a/recipes-core/images/mlinux-factory-image.bb +++ b/recipes-core/images/mlinux-factory-image.bb @@ -4,7 +4,7 @@ DESCRIPTION = "mLinux factory image" # For now we don't put this in MTR or AEP # Password restrictions library from Redhat -IMAGE_INSTALL += "libpwquality" +IMAGE_INSTALL_append = "libpwquality" LIGHTTPD = "lighttpd \ lighttpd-module-cgi lighttpd-module-indexfile \ @@ -16,35 +16,34 @@ LIGHTTPD = "lighttpd \ " # Lighttpd web server -IMAGE_INSTALL += "${LIGHTTPD}" +IMAGE_INSTALL_append = "${LIGHTTPD}" -IMAGE_INSTALL += "sqlite3" +IMAGE_INSTALL_append = "sqlite3" -IMAGE_INSTALL += "autossh" +IMAGE_INSTALL_append= "autossh" # Monit system/process monitor -IMAGE_INSTALL += "monit" +IMAGE_INSTALL_append = "monit" # LoRa support (MTAC-LORA accessory card) -IMAGE_INSTALL += "lora-gateway-utils lora-query lora-network-server lora-packet-forwarder-usb lora-gateway-geolocation-utils lora-packet-forwarder-geolocation" +IMAGE_INSTALL_append = "lora-gateway-utils lora-query lora-network-server lora-packet-forwarder-usb lora-gateway-geolocation-utils lora-packet-forwarder-geolocation" IMAGE_INSTALL_mtbsp-at91_append = "mtac-xdot-util" # MQTT server -#IMAGE_INSTALL += "mosquitto" -IMAGE_INSTALL += "mosquitto mosquitto-clients" +IMAGE_INSTALL_append = "mosquitto mosquitto-clients" # Perl support -IMAGE_INSTALL += "perl" -IMAGE_INSTALL += "perl-module-io perl-module-fcntl" +IMAGE_INSTALL_append = "perl" +IMAGE_INSTALL_append = "perl-module-io perl-module-fcntl" # not in meta-oe or oe-core... -#IMAGE_INSTALL += "libdevice-serialport-perl" -#IMAGE_INSTALL += "libexpect-perl" +#IMAGE_INSTALL_append = "libdevice-serialport-perl" +#IMAGE_INSTALL_append = "libexpect-perl" # Python support -IMAGE_INSTALL += "python" +IMAGE_INSTALL_append = "python" # Python modules -IMAGE_INSTALL += "python-argparse \ +IMAGE_INSTALL_append = "python-argparse \ python-compression \ python-dateutil \ python-html \ @@ -62,34 +61,34 @@ python-xml \ " # Ruby support -IMAGE_INSTALL += "ruby" +IMAGE_INSTALL_append = "ruby" -IMAGE_INSTALL += "ruby-sqlite3" -IMAGE_INSTALL += "ruby-serialport" +IMAGE_INSTALL_append = "ruby-sqlite3" +IMAGE_INSTALL_append = "ruby-serialport" # OpenJDK Java runtime -# IMAGE_INSTALL += "openjdk-8" +# IMAGE_INSTALL_append = "openjdk-8" # OpenJDK with JamVM VM (Multi-Tech default) -# IMAGE_INSTALL += "jamvm" +# IMAGE_INSTALL_append = "jamvm" # OpenJDK with CACAO VM (run with 'java -cacao') -# IMAGE_INSTALL += "openjdk-7-vm-cacao" +# IMAGE_INSTALL_append = "openjdk-7-vm-cacao" # OpenJDK Zero VM (run with 'java -zero') -# IMAGE_INSTALL += "openjdk-7-vm-zero" +# IMAGE_INSTALL_append = "openjdk-7-vm-zero" # PHP support -IMAGE_INSTALL += "php php-cli php-fpm" +IMAGE_INSTALL_append = "php php-cli php-fpm" # Node.js support -IMAGE_INSTALL += "nodejs nodejs-npm" +IMAGE_INSTALL_append = "nodejs nodejs-npm" # Multi-Tech SMS Utility (see http://git.multitech.net) -IMAGE_INSTALL += "sms-utils" +IMAGE_INSTALL_append = "sms-utils" # Multi-Tech GPS Utility -IMAGE_INSTALL += "venus-gps" -IMAGE_INSTALL += "pps-tools" -IMAGE_INSTALL += "dnsmasq bluez5-pand bluez5-rfcomm" +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 += "gpsd libgps24 libgps ntp ntp-utils gpspipe gps-utils" +IMAGE_INSTALL_append = "gpsd libgps24 libgps ntp ntp-utils gpspipe gps-utils" -IMAGE_INSTALL += "lxfp uvccapture" +IMAGE_INSTALL_append = "lxfp uvccapture" diff --git a/recipes-core/images/mlinux-mono-image.bb b/recipes-core/images/mlinux-mono-image.bb index f15d7d2..c5af04d 100644 --- a/recipes-core/images/mlinux-mono-image.bb +++ b/recipes-core/images/mlinux-mono-image.bb @@ -1,3 +1,3 @@ require mlinux-base-image.bb -IMAGE_INSTALL += "mono mono-helloworld" +IMAGE_INSTALL_append = "mono mono-helloworld" diff --git a/recipes-core/images/mlinux-mtcap-debug-image.bb b/recipes-core/images/mlinux-mtcap-debug-image.bb index 48009ae..8a3f8f6 100644 --- a/recipes-core/images/mlinux-mtcap-debug-image.bb +++ b/recipes-core/images/mlinux-mtcap-debug-image.bb @@ -3,7 +3,7 @@ DESCRIPTION = "mLinux Conduit Access Point debug image" require mlinux-mtcap-image.bb # Extra stuff to install -IMAGE_INSTALL += "lora-network-server-mtcap \ +IMAGE_INSTALL_append = "lora-network-server-mtcap \ lora-gateway-utils \ lora-query \ mosquitto mosquitto-clients \ diff --git a/recipes-core/images/mlinux-mtcap-image.bb b/recipes-core/images/mlinux-mtcap-image.bb index d318a8e..0b0c8a0 100644 --- a/recipes-core/images/mlinux-mtcap-image.bb +++ b/recipes-core/images/mlinux-mtcap-image.bb @@ -5,14 +5,15 @@ require mtcap-modules.inc # For now we don't put this in MTR or AEP # Password restrictions library from Redhat -IMAGE_INSTALL += "libpwquality" +IMAGE_INSTALL_append = "libpwquality" FILESYSTEM_FEATURES = "dosfstools \ cifs-utils \ lsof \ " -NETWORKING_FEATURES += "bridge-utils \ +NETWORKING_FEATURES_append = " \ + bridge-utils \ inetutils-ftp \ openssl \ rsync \ @@ -39,7 +40,7 @@ WIFI_FEATURES = "libnl \ wilc1000 \ " -MULTITECH_FEATURES += " \ +MULTITECH_FEATURES_append = " \ u-boot-linux-utils \ mlinux-scripts \ reset-handler \ @@ -50,7 +51,8 @@ MULTITECH_FEATURES += " \ annex-client \ " -IMAGE_INSTALL += "lora-gateway-utils \ +IMAGE_INSTALL_append = " \ + lora-gateway-utils \ lora-query \ lora-packet-forwarder \ lora-network-server \ @@ -64,11 +66,11 @@ MISC_FEATURES = "minicom lrzsz nano lxfp" # Someday add wifi features # ${WIFI_FEATURES} # -IMAGE_INSTALL += " \ +IMAGE_INSTALL_append = " \ ${FILESYSTEM_FEATURES} \ ${TIME_FEATURES} \ ${MISC_FEATURES} \ " # Multi-Tech SMS Utility (see http://git.multitech.net) -IMAGE_INSTALL += "sms-utils" +IMAGE_INSTALL_append = "sms-utils" diff --git a/recipes-core/images/mlinux-mtr-image.bb b/recipes-core/images/mlinux-mtr-image.bb index 9fa719a..6c2fd90 100644 --- a/recipes-core/images/mlinux-mtr-image.bb +++ b/recipes-core/images/mlinux-mtr-image.bb @@ -9,7 +9,7 @@ FILESYSTEM_FEATURES = "dosfstools \ lsof \ " -NETWORKING_FEATURES += "bridge-utils \ +NETWORKING_FEATURES_append = "bridge-utils \ inetutils-ftp \ openssl \ rsync \ @@ -46,7 +46,7 @@ TIME_FEATURES = "tzdata tzdata-africa tzdata-americas tzdata-antarctica tzdata-a # 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 += " \ +MULTITECH_FEATURES_append = " \ u-boot-linux-utils \ mlinux-scripts \ reset-handler \ @@ -57,7 +57,7 @@ MULTITECH_FEATURES += " \ MISC_FEATURES = "minicom lrzsz nano" # Extra stuff to install -IMAGE_INSTALL += " \ +IMAGE_INSTALL_append = " \ ${WIFI_FEATURES} \ ${BLUETOOTH_FEATURES} \ ${FILESYSTEM_FEATURES} \ diff --git a/recipes-core/images/mlinux-mtrv1-image.bb b/recipes-core/images/mlinux-mtrv1-image.bb index a5deb99..fd1ea6a 100644 --- a/recipes-core/images/mlinux-mtrv1-image.bb +++ b/recipes-core/images/mlinux-mtrv1-image.bb @@ -9,7 +9,7 @@ FILESYSTEM_FEATURES = "dosfstools \ lsof \ " -NETWORKING_FEATURES += "bridge-utils \ +NETWORKING_FEATURES_append = "bridge-utils \ inetutils-ftp \ openssl \ rsync \ @@ -46,7 +46,7 @@ TIME_FEATURES = "tzdata tzdata-africa tzdata-americas tzdata-antarctica tzdata-a # 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 += " \ +MULTITECH_FEATURES_append = " \ u-boot-linux-utils \ mlinux-scripts \ reset-handler \ @@ -57,10 +57,10 @@ MULTITECH_FEATURES += " \ MISC_FEATURES = "minicom lrzsz nano" # Extra stuff to install -IMAGE_INSTALL += "kernel-module-rs9113 rs9113-util rs9113-autostart" -IMAGE_INSTALL += "gpsd libgps libgps24 ntp ntp-utils gpspipe gps-utils" +IMAGE_INSTALL_append = "kernel-module-rs9113 rs9113-util rs9113-autostart" +IMAGE_INSTALL_append = "gpsd libgps libgps24 ntp ntp-utils gpspipe gps-utils" -IMAGE_INSTALL += " \ +IMAGE_INSTALL_append = " \ ${WIFI_FEATURES} \ ${BLUETOOTH_FEATURES} \ ${FILESYSTEM_FEATURES} \ diff --git a/recipes-core/images/mlinux-rs9113-base-image.bb b/recipes-core/images/mlinux-rs9113-base-image.bb index ef565b6..37a0c76 100644 --- a/recipes-core/images/mlinux-rs9113-base-image.bb +++ b/recipes-core/images/mlinux-rs9113-base-image.bb @@ -2,4 +2,4 @@ require mlinux-base-image.bb DESCRIPTION = "mLinux base image with rs9113 drivers" # Extra stuff to install -IMAGE_INSTALL += "kernel-module-rs9113 rs9113-autostart rs9113-util" +IMAGE_INSTALL_append = "kernel-module-rs9113 rs9113-autostart rs9113-util" diff --git a/recipes-core/images/mlinux-rs9113-factory-image.bb b/recipes-core/images/mlinux-rs9113-factory-image.bb index 3ab950c..789a81b 100644 --- a/recipes-core/images/mlinux-rs9113-factory-image.bb +++ b/recipes-core/images/mlinux-rs9113-factory-image.bb @@ -2,4 +2,4 @@ require mlinux-factory-image.bb DESCRIPTION = "mLinux factory image with rs9113 drivers" # Extra stuff to install -IMAGE_INSTALL += "dnsmasq bluez5-noinst-tools python-dbus kernel-module-rs9113 rs9113-autostart rs9113-util" +IMAGE_INSTALL_append = "dnsmasq bluez5-noinst-tools python-dbus kernel-module-rs9113 rs9113-autostart rs9113-util" diff --git a/recipes-core/images/mlinux-sdk.bb b/recipes-core/images/mlinux-sdk.bb index cb3566f..503f77a 100644 --- a/recipes-core/images/mlinux-sdk.bb +++ b/recipes-core/images/mlinux-sdk.bb @@ -2,4 +2,4 @@ require mlinux-factory-image.bb DESCRIPTION = "mLinux SDK" -IMAGE_INSTALL += "boost" +IMAGE_INSTALL_append = "boost" diff --git a/recipes-core/images/mtcap-modules.inc b/recipes-core/images/mtcap-modules.inc index 8cdfea4..ed3ca51 100644 --- a/recipes-core/images/mtcap-modules.inc +++ b/recipes-core/images/mtcap-modules.inc @@ -5,7 +5,7 @@ # modules that are dependency's # of other modules. -IMAGE_INSTALL += " \ +IMAGE_INSTALL_append = " \ kernel-module-8021q \ kernel-module-af-alg \ kernel-module-algif-hash \ -- cgit v1.2.3 From a56d9f7ae45c7b102907d70248533d99c2b11139 Mon Sep 17 00:00:00 2001 From: John Klug Date: Tue, 10 Sep 2019 17:26:31 -0500 Subject: added leading spaces for _append variables --- recipes-core/images/mlinux-base-image.bb | 2 +- recipes-core/images/mlinux-factory-image.bb | 58 +++++++++++----------- recipes-core/images/mlinux-minimal-image.bb | 4 +- recipes-core/images/mlinux-mono-image.bb | 2 +- recipes-core/images/mlinux-mtcap-debug-image.bb | 2 +- recipes-core/images/mlinux-mtcap-image.bb | 4 +- recipes-core/images/mlinux-mtr-image.bb | 2 +- recipes-core/images/mlinux-mtrv1-image.bb | 6 +-- recipes-core/images/mlinux-rs9113-base-image.bb | 2 +- recipes-core/images/mlinux-rs9113-factory-image.bb | 2 +- recipes-core/images/mlinux-sdk.bb | 2 +- 11 files changed, 43 insertions(+), 43 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-base-image.bb b/recipes-core/images/mlinux-base-image.bb index 592e27c..d66b34f 100644 --- a/recipes-core/images/mlinux-base-image.bb +++ b/recipes-core/images/mlinux-base-image.bb @@ -54,7 +54,7 @@ MULTITECH_FEATURES_append = " \ jsparser \ " -UPGRADE_FEATURES_mtbsp-at91 = "u-boot-linux-utils" +UPGRADE_FEATURES_mtbsp-at91_append = "u-boot-linux-utils" MISC_FEATURES = "minicom lrzsz nano" diff --git a/recipes-core/images/mlinux-factory-image.bb b/recipes-core/images/mlinux-factory-image.bb index 3588e20..77a48ed 100644 --- a/recipes-core/images/mlinux-factory-image.bb +++ b/recipes-core/images/mlinux-factory-image.bb @@ -4,7 +4,7 @@ DESCRIPTION = "mLinux factory image" # For now we don't put this in MTR or AEP # Password restrictions library from Redhat -IMAGE_INSTALL_append = "libpwquality" +IMAGE_INSTALL_append = " libpwquality" LIGHTTPD = "lighttpd \ lighttpd-module-cgi lighttpd-module-indexfile \ @@ -16,34 +16,34 @@ LIGHTTPD = "lighttpd \ " # Lighttpd web server -IMAGE_INSTALL_append = "${LIGHTTPD}" +IMAGE_INSTALL_append = " ${LIGHTTPD}" -IMAGE_INSTALL_append = "sqlite3" +IMAGE_INSTALL_append = " sqlite3" -IMAGE_INSTALL_append= "autossh" +IMAGE_INSTALL_append= " autossh" # Monit system/process monitor -IMAGE_INSTALL_append = "monit" +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 lora-gateway-geolocation-utils lora-packet-forwarder-geolocation" -IMAGE_INSTALL_mtbsp-at91_append = "mtac-xdot-util" +IMAGE_INSTALL_append = " lora-gateway-utils lora-query lora-network-server lora-packet-forwarder-usb lora-gateway-geolocation-utils lora-packet-forwarder-geolocation" +IMAGE_INSTALL_mtbsp-at91_append = " mtac-xdot-util" # MQTT server -IMAGE_INSTALL_append = "mosquitto mosquitto-clients" +IMAGE_INSTALL_append = " mosquitto mosquitto-clients" # Perl support -IMAGE_INSTALL_append = "perl" -IMAGE_INSTALL_append = "perl-module-io perl-module-fcntl" +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" +#IMAGE_INSTALL_append = " libdevice-serialport-perl" +#IMAGE_INSTALL_append = " libexpect-perl" # Python support -IMAGE_INSTALL_append = "python" +IMAGE_INSTALL_append = " python" # Python modules -IMAGE_INSTALL_append = "python-argparse \ +IMAGE_INSTALL_append = " python-argparse \ python-compression \ python-dateutil \ python-html \ @@ -61,34 +61,34 @@ python-xml \ " # Ruby support -IMAGE_INSTALL_append = "ruby" +IMAGE_INSTALL_append = " ruby" -IMAGE_INSTALL_append = "ruby-sqlite3" -IMAGE_INSTALL_append = "ruby-serialport" +IMAGE_INSTALL_append = " ruby-sqlite3" +IMAGE_INSTALL_append = " ruby-serialport" # OpenJDK Java runtime -# IMAGE_INSTALL_append = "openjdk-8" +# IMAGE_INSTALL_append = " openjdk-8" # OpenJDK with JamVM VM (Multi-Tech default) -# IMAGE_INSTALL_append = "jamvm" +# IMAGE_INSTALL_append = " jamvm" # OpenJDK with CACAO VM (run with 'java -cacao') -# IMAGE_INSTALL_append = "openjdk-7-vm-cacao" +# IMAGE_INSTALL_append = " openjdk-7-vm-cacao" # OpenJDK Zero VM (run with 'java -zero') -# IMAGE_INSTALL_append = "openjdk-7-vm-zero" +# IMAGE_INSTALL_append = " openjdk-7-vm-zero" # PHP support -IMAGE_INSTALL_append = "php php-cli php-fpm" +IMAGE_INSTALL_append = " php php-cli php-fpm" # Node.js support -IMAGE_INSTALL_append = "nodejs nodejs-npm" +IMAGE_INSTALL_append = " nodejs nodejs-npm" # Multi-Tech SMS Utility (see http://git.multitech.net) -IMAGE_INSTALL_append = "sms-utils" +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" +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 libgps24 libgps ntp ntp-utils gpspipe gps-utils" +IMAGE_INSTALL_append = " gpsd libgps24 libgps ntp ntp-utils gpspipe gps-utils" -IMAGE_INSTALL_append = "lxfp uvccapture" +IMAGE_INSTALL_append = " lxfp uvccapture" diff --git a/recipes-core/images/mlinux-minimal-image.bb b/recipes-core/images/mlinux-minimal-image.bb index 77b8655..314da61 100644 --- a/recipes-core/images/mlinux-minimal-image.bb +++ b/recipes-core/images/mlinux-minimal-image.bb @@ -5,7 +5,7 @@ inherit core-image inherit mlinux-image IMAGE_LINGUAS = "" -IMAGE_FEATURES_append = "ssh-server-openssh package-management" +IMAGE_FEATURES_append = " ssh-server-openssh package-management" # Don't wipe out CORE_FEATURES from minimal image CORE_FEATURES_append = " \ @@ -25,7 +25,7 @@ CORE_FEATURES_append = " \ get-eeprom-device-config \ " -CORE_FEATURES_mtbsp-at91_append = "mtd-utils mtd-utils-jffs2 fstab-at91" +CORE_FEATURES_mtbsp-at91_append = " mtd-utils mtd-utils-jffs2 fstab-at91" NETWORKING_FEATURES = "ppp curl iproute2 \ iptables iputils \ diff --git a/recipes-core/images/mlinux-mono-image.bb b/recipes-core/images/mlinux-mono-image.bb index c5af04d..d066ae9 100644 --- a/recipes-core/images/mlinux-mono-image.bb +++ b/recipes-core/images/mlinux-mono-image.bb @@ -1,3 +1,3 @@ require mlinux-base-image.bb -IMAGE_INSTALL_append = "mono mono-helloworld" +IMAGE_INSTALL_append = " mono mono-helloworld" diff --git a/recipes-core/images/mlinux-mtcap-debug-image.bb b/recipes-core/images/mlinux-mtcap-debug-image.bb index 8a3f8f6..13a3518 100644 --- a/recipes-core/images/mlinux-mtcap-debug-image.bb +++ b/recipes-core/images/mlinux-mtcap-debug-image.bb @@ -3,7 +3,7 @@ DESCRIPTION = "mLinux Conduit Access Point debug image" require mlinux-mtcap-image.bb # Extra stuff to install -IMAGE_INSTALL_append = "lora-network-server-mtcap \ +IMAGE_INSTALL_append = " lora-network-server-mtcap \ lora-gateway-utils \ lora-query \ mosquitto mosquitto-clients \ diff --git a/recipes-core/images/mlinux-mtcap-image.bb b/recipes-core/images/mlinux-mtcap-image.bb index 0b0c8a0..1c0c94f 100644 --- a/recipes-core/images/mlinux-mtcap-image.bb +++ b/recipes-core/images/mlinux-mtcap-image.bb @@ -5,7 +5,7 @@ require mtcap-modules.inc # For now we don't put this in MTR or AEP # Password restrictions library from Redhat -IMAGE_INSTALL_append = "libpwquality" +IMAGE_INSTALL_append = " libpwquality" FILESYSTEM_FEATURES = "dosfstools \ cifs-utils \ @@ -73,4 +73,4 @@ IMAGE_INSTALL_append = " \ " # Multi-Tech SMS Utility (see http://git.multitech.net) -IMAGE_INSTALL_append = "sms-utils" +IMAGE_INSTALL_append = " sms-utils" diff --git a/recipes-core/images/mlinux-mtr-image.bb b/recipes-core/images/mlinux-mtr-image.bb index 6c2fd90..5a557ab 100644 --- a/recipes-core/images/mlinux-mtr-image.bb +++ b/recipes-core/images/mlinux-mtr-image.bb @@ -9,7 +9,7 @@ FILESYSTEM_FEATURES = "dosfstools \ lsof \ " -NETWORKING_FEATURES_append = "bridge-utils \ +NETWORKING_FEATURES_append = " bridge-utils \ inetutils-ftp \ openssl \ rsync \ diff --git a/recipes-core/images/mlinux-mtrv1-image.bb b/recipes-core/images/mlinux-mtrv1-image.bb index fd1ea6a..0aaf875 100644 --- a/recipes-core/images/mlinux-mtrv1-image.bb +++ b/recipes-core/images/mlinux-mtrv1-image.bb @@ -9,7 +9,7 @@ FILESYSTEM_FEATURES = "dosfstools \ lsof \ " -NETWORKING_FEATURES_append = "bridge-utils \ +NETWORKING_FEATURES_append = " bridge-utils \ inetutils-ftp \ openssl \ rsync \ @@ -57,8 +57,8 @@ MULTITECH_FEATURES_append = " \ MISC_FEATURES = "minicom lrzsz nano" # Extra stuff to install -IMAGE_INSTALL_append = "kernel-module-rs9113 rs9113-util rs9113-autostart" -IMAGE_INSTALL_append = "gpsd libgps libgps24 ntp ntp-utils gpspipe gps-utils" +IMAGE_INSTALL_append = " kernel-module-rs9113 rs9113-util rs9113-autostart" +IMAGE_INSTALL_append = " gpsd libgps libgps24 ntp ntp-utils gpspipe gps-utils" IMAGE_INSTALL_append = " \ ${WIFI_FEATURES} \ diff --git a/recipes-core/images/mlinux-rs9113-base-image.bb b/recipes-core/images/mlinux-rs9113-base-image.bb index 37a0c76..ed2fc83 100644 --- a/recipes-core/images/mlinux-rs9113-base-image.bb +++ b/recipes-core/images/mlinux-rs9113-base-image.bb @@ -2,4 +2,4 @@ require mlinux-base-image.bb DESCRIPTION = "mLinux base image with rs9113 drivers" # Extra stuff to install -IMAGE_INSTALL_append = "kernel-module-rs9113 rs9113-autostart rs9113-util" +IMAGE_INSTALL_append = " kernel-module-rs9113 rs9113-autostart rs9113-util" diff --git a/recipes-core/images/mlinux-rs9113-factory-image.bb b/recipes-core/images/mlinux-rs9113-factory-image.bb index 789a81b..f351132 100644 --- a/recipes-core/images/mlinux-rs9113-factory-image.bb +++ b/recipes-core/images/mlinux-rs9113-factory-image.bb @@ -2,4 +2,4 @@ require mlinux-factory-image.bb DESCRIPTION = "mLinux factory image with rs9113 drivers" # Extra stuff to install -IMAGE_INSTALL_append = "dnsmasq bluez5-noinst-tools python-dbus kernel-module-rs9113 rs9113-autostart rs9113-util" +IMAGE_INSTALL_append = " dnsmasq bluez5-noinst-tools python-dbus kernel-module-rs9113 rs9113-autostart rs9113-util" diff --git a/recipes-core/images/mlinux-sdk.bb b/recipes-core/images/mlinux-sdk.bb index 503f77a..fa6f811 100644 --- a/recipes-core/images/mlinux-sdk.bb +++ b/recipes-core/images/mlinux-sdk.bb @@ -2,4 +2,4 @@ require mlinux-factory-image.bb DESCRIPTION = "mLinux SDK" -IMAGE_INSTALL_append = "boost" +IMAGE_INSTALL_append = " boost" -- cgit v1.2.3 From 808bcb76e165b7d949ab0cc88e418360d139a6fe Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 11 Sep 2019 16:46:17 -0500 Subject: Update defconfig to our current busybox with ipv6 enabled --- recipes-core/busybox/files/defconfig | 779 +++++++++++++++++++++-------------- 1 file changed, 466 insertions(+), 313 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/busybox/files/defconfig b/recipes-core/busybox/files/defconfig index b022456..822bd29 100644 --- a/recipes-core/busybox/files/defconfig +++ b/recipes-core/busybox/files/defconfig @@ -1,56 +1,39 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.20.2 -# Mon Aug 20 17:01:45 2012 +# Busybox version: 1.29.3 +# Wed Sep 11 17:30:26 2019 # CONFIG_HAVE_DOT_CONFIG=y # -# Busybox Settings +# Settings # - -# -# General Configuration -# -# CONFIG_DESKTOP is not set +CONFIG_DESKTOP=y # CONFIG_EXTRA_COMPAT is not set +# CONFIG_FEDORA_COMPAT is not set # CONFIG_INCLUDE_SUSv2 is not set -# CONFIG_USE_PORTABLE_CODE is not set -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_LONG_OPTS=y CONFIG_SHOW_USAGE=y CONFIG_FEATURE_VERBOSE_USAGE=y CONFIG_FEATURE_COMPRESS_USAGE=y -CONFIG_BUSYBOX=y -# CONFIG_FEATURE_INSTALLER is not set -# CONFIG_INSTALL_NO_USR is not set -# CONFIG_LOCALE_SUPPORT is not set -# CONFIG_UNICODE_SUPPORT is not set -# CONFIG_UNICODE_USING_LOCALE is not set -# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set -CONFIG_SUBST_WCHAR=0 -CONFIG_LAST_SUPPORTED_WCHAR=0 -# CONFIG_UNICODE_COMBINING_WCHARS is not set -# CONFIG_UNICODE_WIDE_WCHARS is not set -# CONFIG_UNICODE_BIDI_SUPPORT is not set -# CONFIG_UNICODE_NEUTRAL_TABLE is not set -# CONFIG_UNICODE_PRESERVE_BROKEN is not set -CONFIG_LONG_OPTS=y +CONFIG_LFS=y +# CONFIG_PAM is not set CONFIG_FEATURE_DEVPTS=y -# CONFIG_FEATURE_CLEAN_UP is not set CONFIG_FEATURE_UTMP=y # CONFIG_FEATURE_WTMP is not set CONFIG_FEATURE_PIDFILE=y CONFIG_PID_FILE_PATH="/var/run" +CONFIG_BUSYBOX=y +# CONFIG_FEATURE_INSTALLER is not set +# CONFIG_INSTALL_NO_USR is not set CONFIG_FEATURE_SUID=y CONFIG_FEATURE_SUID_CONFIG=y CONFIG_FEATURE_SUID_CONFIG_QUIET=y -# CONFIG_SELINUX is not set # CONFIG_FEATURE_PREFER_APPLETS is not set CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_CLEAN_UP is not set CONFIG_FEATURE_SYSLOG=y -CONFIG_FEATURE_HAVE_RPC=y CONFIG_PLATFORM_LINUX=y # @@ -60,24 +43,16 @@ CONFIG_PLATFORM_LINUX=y # CONFIG_PIE is not set # CONFIG_NOMMU is not set # CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set # CONFIG_FEATURE_INDIVIDUAL is not set # CONFIG_FEATURE_SHARED_BUSYBOX is not set -CONFIG_LFS=y -# CONFIG_CROSS_COMPILER_PREFIX is not set +CONFIG_CROSS_COMPILER_PREFIX="" CONFIG_SYSROOT="" -# CONFIG_EXTRA_CFLAGS is not set +CONFIG_EXTRA_CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard" CONFIG_EXTRA_LDFLAGS="-ltirpc" CONFIG_EXTRA_LDLIBS="" - -# -# Debugging Options -# -# CONFIG_DEBUG is not set -# CONFIG_DEBUG_PESSIMIZE is not set -# CONFIG_WERROR is not set -CONFIG_NO_DEBUG_LIB=y -# CONFIG_DMALLOC is not set -# CONFIG_EFENCE is not set +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_STACK_OPTIMIZATION_386=y # # Installation Options ("make install" behavior) @@ -92,15 +67,31 @@ CONFIG_INSTALL_APPLET_SYMLINKS=y CONFIG_PREFIX="./_install" # -# Busybox Library Tuning +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_DEBUG_SANITIZE is not set +# CONFIG_UNIT_TEST is not set +# CONFIG_WERROR is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + # -CONFIG_FEATURE_SYSTEMD=y +# Library Tuning +# +# CONFIG_FEATURE_USE_BSS_TAIL is not set CONFIG_FEATURE_RTMINMAX=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set CONFIG_PASSWORD_MINLEN=6 CONFIG_MD5_SMALL=1 +CONFIG_SHA3_SMALL=1 CONFIG_FEATURE_FAST_TOP=y # CONFIG_FEATURE_ETC_NETWORKS is not set -CONFIG_FEATURE_USE_TERMIOS=y +# CONFIG_FEATURE_ETC_SERVICES is not set CONFIG_FEATURE_EDITING=y CONFIG_FEATURE_EDITING_MAX_LEN=1024 # CONFIG_FEATURE_EDITING_VI is not set @@ -111,9 +102,22 @@ CONFIG_FEATURE_EDITING_SAVEHISTORY=y CONFIG_FEATURE_TAB_COMPLETION=y CONFIG_FEATURE_USERNAME_COMPLETION=y CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +CONFIG_FEATURE_EDITING_WINCH=y # CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set +# CONFIG_LOCALE_SUPPORT is not set +# CONFIG_UNICODE_SUPPORT is not set +# CONFIG_UNICODE_USING_LOCALE is not set +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=0 +CONFIG_LAST_SUPPORTED_WCHAR=0 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set CONFIG_FEATURE_NON_POSIX_CP=y CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y +CONFIG_FEATURE_USE_SENDFILE=y CONFIG_FEATURE_COPYBUF_KB=4 CONFIG_FEATURE_SKIP_ROOTFS=y CONFIG_MONOTONIC_SYSCALL=y @@ -135,66 +139,63 @@ CONFIG_FEATURE_SEAMLESS_Z=y CONFIG_AR=y # CONFIG_FEATURE_AR_LONG_FILENAMES is not set CONFIG_FEATURE_AR_CREATE=y +# CONFIG_UNCOMPRESS is not set +CONFIG_GUNZIP=y +CONFIG_ZCAT=y +CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y CONFIG_BUNZIP2=y +CONFIG_BZCAT=y +# CONFIG_UNLZMA is not set +CONFIG_LZCAT=y +# CONFIG_LZMA is not set +CONFIG_UNXZ=y +CONFIG_XZCAT=y +CONFIG_XZ=y CONFIG_BZIP2=y +CONFIG_BZIP2_SMALL=8 +CONFIG_FEATURE_BZIP2_DECOMPRESS=y CONFIG_CPIO=y # CONFIG_FEATURE_CPIO_O is not set # CONFIG_FEATURE_CPIO_P is not set # CONFIG_DPKG is not set # CONFIG_DPKG_DEB is not set -# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set -CONFIG_GUNZIP=y CONFIG_GZIP=y CONFIG_FEATURE_GZIP_LONG_OPTIONS=y CONFIG_GZIP_FAST=0 +# CONFIG_FEATURE_GZIP_LEVELS is not set +CONFIG_FEATURE_GZIP_DECOMPRESS=y CONFIG_LZOP=y +# CONFIG_UNLZOP is not set +# CONFIG_LZOPCAT is not set # CONFIG_LZOP_COMPR_HIGH is not set -# CONFIG_RPM2CPIO is not set # CONFIG_RPM is not set +# CONFIG_RPM2CPIO is not set CONFIG_TAR=y +CONFIG_FEATURE_TAR_LONG_OPTIONS=y CONFIG_FEATURE_TAR_CREATE=y CONFIG_FEATURE_TAR_AUTODETECT=y CONFIG_FEATURE_TAR_FROM=y CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y # CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y -CONFIG_FEATURE_TAR_LONG_OPTIONS=y CONFIG_FEATURE_TAR_TO_COMMAND=y CONFIG_FEATURE_TAR_UNAME_GNAME=y CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y # CONFIG_FEATURE_TAR_SELINUX is not set -# CONFIG_UNCOMPRESS is not set -# CONFIG_UNLZMA is not set -# CONFIG_FEATURE_LZMA_FAST is not set -# CONFIG_LZMA is not set -CONFIG_UNXZ=y -CONFIG_XZ=y CONFIG_UNZIP=y +CONFIG_FEATURE_UNZIP_CDF=y +CONFIG_FEATURE_UNZIP_BZIP2=y +CONFIG_FEATURE_UNZIP_LZMA=y +CONFIG_FEATURE_UNZIP_XZ=y +# CONFIG_FEATURE_LZMA_FAST is not set # # Coreutils # CONFIG_BASENAME=y CONFIG_CAT=y -CONFIG_DATE=y -CONFIG_FEATURE_DATE_ISOFMT=y -# CONFIG_FEATURE_DATE_NANO is not set -CONFIG_FEATURE_DATE_COMPAT=y -# CONFIG_HOSTID is not set -CONFIG_ID=y -CONFIG_GROUPS=y -CONFIG_TEST=y -CONFIG_FEATURE_TEST_64=y -CONFIG_TOUCH=y -CONFIG_FEATURE_TOUCH_SUSV3=y -CONFIG_TR=y -CONFIG_FEATURE_TR_CLASSES=y -# CONFIG_FEATURE_TR_EQUIV is not set -CONFIG_BASE64=y -CONFIG_WHO=y -CONFIG_USERS=y -# CONFIG_CAL is not set -# CONFIG_CATV is not set +CONFIG_FEATURE_CATN=y +CONFIG_FEATURE_CATV=y CONFIG_CHGRP=y CONFIG_CHMOD=y CONFIG_CHOWN=y @@ -205,10 +206,15 @@ CONFIG_CHROOT=y CONFIG_CP=y CONFIG_FEATURE_CP_LONG_OPTIONS=y CONFIG_CUT=y +CONFIG_DATE=y +CONFIG_FEATURE_DATE_ISOFMT=y +# CONFIG_FEATURE_DATE_NANO is not set +CONFIG_FEATURE_DATE_COMPAT=y CONFIG_DD=y CONFIG_FEATURE_DD_SIGNAL_HANDLING=y CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y # CONFIG_FEATURE_DD_IBS_OBS is not set +CONFIG_FEATURE_DD_STATUS=y CONFIG_DF=y CONFIG_FEATURE_DF_FANCY=y CONFIG_DIRNAME=y @@ -219,39 +225,55 @@ CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y CONFIG_ECHO=y CONFIG_FEATURE_FANCY_ECHO=y CONFIG_ENV=y -CONFIG_FEATURE_ENV_LONG_OPTIONS=y # CONFIG_EXPAND is not set -# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set +# CONFIG_UNEXPAND is not set CONFIG_EXPR=y CONFIG_EXPR_MATH_SUPPORT_64=y +CONFIG_FACTOR=y CONFIG_FALSE=y # CONFIG_FOLD is not set CONFIG_FSYNC=y CONFIG_HEAD=y CONFIG_FEATURE_FANCY_HEAD=y +# CONFIG_HOSTID is not set +CONFIG_ID=y +CONFIG_GROUPS=y # CONFIG_INSTALL is not set # CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set +CONFIG_LINK=y CONFIG_LN=y CONFIG_LOGNAME=y CONFIG_LS=y CONFIG_FEATURE_LS_FILETYPES=y CONFIG_FEATURE_LS_FOLLOWLINKS=y CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_WIDTH=y CONFIG_FEATURE_LS_SORTFILES=y CONFIG_FEATURE_LS_TIMESTAMPS=y CONFIG_FEATURE_LS_USERNAME=y CONFIG_FEATURE_LS_COLOR=y # CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set CONFIG_MD5SUM=y +CONFIG_SHA1SUM=y +CONFIG_SHA256SUM=y +CONFIG_SHA512SUM=y +CONFIG_SHA3SUM=y + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y CONFIG_MKDIR=y -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y CONFIG_MKFIFO=y CONFIG_MKNOD=y +CONFIG_MKTEMP=y CONFIG_MV=y -CONFIG_FEATURE_MV_LONG_OPTIONS=y CONFIG_NICE=y +CONFIG_NL=y CONFIG_NOHUP=y +CONFIG_NPROC=y CONFIG_OD=y +CONFIG_PASTE=y # CONFIG_PRINTENV is not set CONFIG_PRINTF=y CONFIG_PWD=y @@ -260,109 +282,138 @@ CONFIG_FEATURE_READLINK_FOLLOW=y CONFIG_REALPATH=y CONFIG_RM=y CONFIG_RMDIR=y -CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y CONFIG_SEQ=y -# CONFIG_SHA1SUM is not set -CONFIG_SHA256SUM=y -CONFIG_SHA512SUM=y +CONFIG_SHRED=y +CONFIG_SHUF=y CONFIG_SLEEP=y CONFIG_FEATURE_FANCY_SLEEP=y CONFIG_FEATURE_FLOAT_SLEEP=y CONFIG_SORT=y CONFIG_FEATURE_SORT_BIG=y +# CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set # CONFIG_SPLIT is not set # CONFIG_FEATURE_SPLIT_FANCY is not set CONFIG_STAT=y CONFIG_FEATURE_STAT_FORMAT=y +CONFIG_FEATURE_STAT_FILESYSTEM=y CONFIG_STTY=y # CONFIG_SUM is not set CONFIG_SYNC=y +CONFIG_FEATURE_SYNC_FANCY=y # CONFIG_TAC is not set CONFIG_TAIL=y CONFIG_FEATURE_FANCY_TAIL=y CONFIG_TEE=y CONFIG_FEATURE_TEE_USE_BLOCK_IO=y +CONFIG_TEST=y +CONFIG_TEST1=y +CONFIG_TEST2=y +CONFIG_FEATURE_TEST_64=y +# CONFIG_TIMEOUT is not set +CONFIG_TOUCH=y +CONFIG_FEATURE_TOUCH_NODEREF=y +CONFIG_FEATURE_TOUCH_SUSV3=y +CONFIG_TR=y +CONFIG_FEATURE_TR_CLASSES=y +# CONFIG_FEATURE_TR_EQUIV is not set CONFIG_TRUE=y +CONFIG_TRUNCATE=y CONFIG_TTY=y CONFIG_UNAME=y -# CONFIG_UNEXPAND is not set -# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set +CONFIG_UNAME_OSNAME="GNU/Linux" +CONFIG_BB_ARCH=y CONFIG_UNIQ=y +CONFIG_UNLINK=y CONFIG_USLEEP=y # CONFIG_UUDECODE is not set +CONFIG_BASE64=y # CONFIG_UUENCODE is not set CONFIG_WC=y # CONFIG_FEATURE_WC_LARGE is not set +CONFIG_WHO=y +CONFIG_W=y +CONFIG_USERS=y CONFIG_WHOAMI=y CONFIG_YES=y # -# Common options for cp and mv +# Common options # -# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set +CONFIG_FEATURE_VERBOSE=y # -# Common options for ls, more and telnet +# Common options for cp and mv # -CONFIG_FEATURE_AUTOWIDTH=y +# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set # # Common options for df, du, ls # CONFIG_FEATURE_HUMAN_READABLE=y -# -# Common options for md5sum, sha1sum, sha256sum, sha512sum -# -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y - # # Console Utilities # CONFIG_CHVT=y -# CONFIG_FGCONSOLE is not set CONFIG_CLEAR=y CONFIG_DEALLOCVT=y CONFIG_DUMPKMAP=y +# CONFIG_FGCONSOLE is not set # CONFIG_KBD_MODE is not set CONFIG_LOADFONT=y -CONFIG_LOADKMAP=y -CONFIG_OPENVT=y -CONFIG_RESET=y -# CONFIG_RESIZE is not set -# CONFIG_FEATURE_RESIZE_PRINT is not set -CONFIG_SETCONSOLE=y -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set # CONFIG_SETFONT is not set # CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set CONFIG_DEFAULT_SETFONT_DIR="" -# CONFIG_SETKEYCODES is not set -# CONFIG_SETLOGCONS is not set -# CONFIG_SHOWKEY is not set # # Common options for loadfont and setfont # # CONFIG_FEATURE_LOADFONT_PSF2 is not set # CONFIG_FEATURE_LOADFONT_RAW is not set +CONFIG_LOADKMAP=y +CONFIG_OPENVT=y +CONFIG_RESET=y +CONFIG_RESIZE=y +CONFIG_FEATURE_RESIZE_PRINT=y +CONFIG_SETCONSOLE=y +# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set +# CONFIG_SETKEYCODES is not set +# CONFIG_SETLOGCONS is not set +# CONFIG_SHOWKEY is not set # # Debian Utilities # -CONFIG_MKTEMP=y # CONFIG_PIPE_PROGRESS is not set CONFIG_RUN_PARTS=y CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y CONFIG_FEATURE_RUN_PARTS_FANCY=y CONFIG_START_STOP_DAEMON=y -CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y +CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y CONFIG_WHICH=y +# +# klibc-utils +# +# CONFIG_MINIPS is not set +CONFIG_NUKE=y +CONFIG_RESUME=y +CONFIG_RUN_INIT=y + # # Editors # +CONFIG_AWK=y +CONFIG_FEATURE_AWK_LIBM=y +CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y +CONFIG_CMP=y +CONFIG_DIFF=y +CONFIG_FEATURE_DIFF_LONG_OPTIONS=y +CONFIG_FEATURE_DIFF_DIR=y +# CONFIG_ED is not set CONFIG_PATCH=y +CONFIG_SED=y CONFIG_VI=y CONFIG_FEATURE_VI_MAX_LEN=1024 CONFIG_FEATURE_VI_8BIT=y @@ -377,15 +428,9 @@ CONFIG_FEATURE_VI_SETOPTS=y CONFIG_FEATURE_VI_SET=y CONFIG_FEATURE_VI_WIN_RESIZE=y CONFIG_FEATURE_VI_ASK_TERMINAL=y -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y -CONFIG_AWK=y -CONFIG_FEATURE_AWK_LIBM=y -CONFIG_CMP=y -CONFIG_DIFF=y -CONFIG_FEATURE_DIFF_LONG_OPTIONS=y -CONFIG_FEATURE_DIFF_DIR=y -# CONFIG_ED is not set -CONFIG_SED=y +CONFIG_FEATURE_VI_UNDO=y +CONFIG_FEATURE_VI_UNDO_QUEUE=y +CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 CONFIG_FEATURE_ALLOW_EXEC=y # @@ -402,6 +447,7 @@ CONFIG_FEATURE_FIND_MAXDEPTH=y CONFIG_FEATURE_FIND_NEWER=y CONFIG_FEATURE_FIND_INUM=y CONFIG_FEATURE_FIND_EXEC=y +CONFIG_FEATURE_FIND_EXEC_PLUS=y CONFIG_FEATURE_FIND_USER=y CONFIG_FEATURE_FIND_GROUP=y CONFIG_FEATURE_FIND_NOT=y @@ -415,14 +461,17 @@ CONFIG_FEATURE_FIND_REGEX=y # CONFIG_FEATURE_FIND_CONTEXT is not set CONFIG_FEATURE_FIND_LINKS=y CONFIG_GREP=y -CONFIG_FEATURE_GREP_EGREP_ALIAS=y -CONFIG_FEATURE_GREP_FGREP_ALIAS=y +CONFIG_EGREP=y +CONFIG_FGREP=y CONFIG_FEATURE_GREP_CONTEXT=y CONFIG_XARGS=y # CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y +CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y +CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y +CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y # # Init Utilities @@ -431,59 +480,61 @@ CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y # CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set # CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set CONFIG_HALT=y +CONFIG_POWEROFF=y +CONFIG_REBOOT=y +CONFIG_FEATURE_WAIT_FOR_INIT=y # CONFIG_FEATURE_CALL_TELINIT is not set CONFIG_TELINIT_PATH="" # CONFIG_INIT is not set +CONFIG_LINUXRC=y # CONFIG_FEATURE_USE_INITTAB is not set # CONFIG_FEATURE_KILL_REMOVED is not set CONFIG_FEATURE_KILL_DELAY=0 # CONFIG_FEATURE_INIT_SCTTY is not set # CONFIG_FEATURE_INIT_SYSLOG is not set -# CONFIG_FEATURE_EXTRA_QUIET is not set +CONFIG_FEATURE_INIT_QUIET=y # CONFIG_FEATURE_INIT_COREDUMPS is not set -# CONFIG_FEATURE_INITRD is not set CONFIG_INIT_TERMINAL_TYPE="" -# CONFIG_MESG is not set -# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set +CONFIG_FEATURE_INIT_MODIFY_CMDLINE=y # # Login/Password Management Utilities # -# CONFIG_ADD_SHELL is not set -# CONFIG_REMOVE_SHELL is not set -# CONFIG_FEATURE_SHADOWPASSWDS is not set +CONFIG_FEATURE_SHADOWPASSWDS=y # CONFIG_USE_BB_PWD_GRP is not set # CONFIG_USE_BB_SHADOW is not set CONFIG_USE_BB_CRYPT=y # CONFIG_USE_BB_CRYPT_SHA is not set -# CONFIG_ADDUSER is not set -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set +# CONFIG_ADD_SHELL is not set +# CONFIG_REMOVE_SHELL is not set +CONFIG_ADDGROUP=y +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set +CONFIG_ADDUSER=y # CONFIG_FEATURE_CHECK_NAMES is not set +CONFIG_LAST_ID=60000 CONFIG_FIRST_SYSTEM_ID=100 CONFIG_LAST_SYSTEM_ID=999 -# CONFIG_ADDGROUP is not set -# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set -# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set -# CONFIG_DELUSER is not set -# CONFIG_DELGROUP is not set +# CONFIG_CHPASSWD is not set +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="" +# CONFIG_CRYPTPW is not set +CONFIG_MKPASSWD=y +CONFIG_DELUSER=y +CONFIG_DELGROUP=y # CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set -# CONFIG_GETTY is not set -# CONFIG_LOGIN is not set +CONFIG_GETTY=y +CONFIG_LOGIN=y # CONFIG_LOGIN_SESSION_AS_CHILD is not set -# CONFIG_PAM is not set # CONFIG_LOGIN_SCRIPTS is not set # CONFIG_FEATURE_NOLOGIN is not set # CONFIG_FEATURE_SECURETTY is not set -# CONFIG_PASSWD is not set +CONFIG_PASSWD=y # CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set -# CONFIG_CRYPTPW is not set -# CONFIG_CHPASSWD is not set -CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="" -# CONFIG_SU is not set +CONFIG_SU=y # CONFIG_FEATURE_SU_SYSLOG is not set # CONFIG_FEATURE_SU_CHECKS_SHELLS is not set -# CONFIG_SULOGIN is not set -# CONFIG_VLOCK is not set +# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set +CONFIG_SULOGIN=y +CONFIG_VLOCK=y # # Linux Ext2 FS Progs @@ -496,29 +547,29 @@ CONFIG_FSCK=y # # Linux Module Utilities # -# CONFIG_MODINFO is not set # CONFIG_MODPROBE_SMALL is not set -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set +CONFIG_DEPMOD=y CONFIG_INSMOD=y -CONFIG_RMMOD=y CONFIG_LSMOD=y # CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set +# CONFIG_MODINFO is not set CONFIG_MODPROBE=y # CONFIG_FEATURE_MODPROBE_BLACKLIST is not set -CONFIG_DEPMOD=y +CONFIG_RMMOD=y # # Options common to multiple modutils # +CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS=y +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set # CONFIG_FEATURE_2_4_MODULES is not set -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set # CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set # CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set # CONFIG_FEATURE_INSMOD_LOADINKMEM is not set # CONFIG_FEATURE_INSMOD_LOAD_MAP is not set # CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set CONFIG_FEATURE_CHECK_TAINTED_MODULE=y +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set CONFIG_FEATURE_MODUTILS_ALIAS=y CONFIG_FEATURE_MODUTILS_SYMBOLS=y CONFIG_DEFAULT_MODULES_DIR="/lib/modules" @@ -527,24 +578,23 @@ CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" # # Linux System Utilities # -# CONFIG_BLOCKDEV is not set -# CONFIG_MDEV is not set -# CONFIG_FEATURE_MDEV_CONF is not set -# CONFIG_FEATURE_MDEV_RENAME is not set -# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set -# CONFIG_FEATURE_MDEV_EXEC is not set -# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set -# CONFIG_REV is not set # CONFIG_ACPID is not set # CONFIG_FEATURE_ACPID_COMPAT is not set -# CONFIG_BLKID is not set -# CONFIG_FEATURE_BLKID_TYPE is not set +CONFIG_BLKDISCARD=y +CONFIG_BLKID=y +CONFIG_FEATURE_BLKID_TYPE=y +# CONFIG_BLOCKDEV is not set +# CONFIG_CAL is not set +# CONFIG_CHRT is not set CONFIG_DMESG=y CONFIG_FEATURE_DMESG_PRETTY=y +# CONFIG_EJECT is not set +# CONFIG_FEATURE_EJECT_SCSI is not set +CONFIG_FALLOCATE=y +CONFIG_FATATTR=y CONFIG_FBSET=y CONFIG_FEATURE_FBSET_FANCY=y CONFIG_FEATURE_FBSET_READMODE=y -# CONFIG_FDFLUSH is not set # CONFIG_FDFORMAT is not set CONFIG_FDISK=y # CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set @@ -557,26 +607,42 @@ CONFIG_FEATURE_FDISK_WRITABLE=y # CONFIG_FEATURE_FDISK_ADVANCED is not set # CONFIG_FINDFS is not set CONFIG_FLOCK=y +# CONFIG_FDFLUSH is not set # CONFIG_FREERAMDISK is not set CONFIG_FSCK_MINIX=y -# CONFIG_MKFS_EXT2 is not set -CONFIG_MKFS_MINIX=y -CONFIG_FEATURE_MINIX2=y -# CONFIG_MKFS_REISER is not set -# CONFIG_MKFS_VFAT is not set +CONFIG_FSFREEZE=y +CONFIG_FSTRIM=y CONFIG_GETOPT=y CONFIG_FEATURE_GETOPT_LONG=y CONFIG_HEXDUMP=y # CONFIG_FEATURE_HEXDUMP_REVERSE is not set # CONFIG_HD is not set +CONFIG_XXD=y CONFIG_HWCLOCK=y -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y +# CONFIG_IONICE is not set CONFIG_IPCRM=y CONFIG_IPCS=y +# CONFIG_LAST is not set +# CONFIG_FEATURE_LAST_FANCY is not set CONFIG_LOSETUP=y -# CONFIG_LSPCI is not set -# CONFIG_LSUSB is not set +CONFIG_LSPCI=y +CONFIG_LSUSB=y +CONFIG_MDEV=y +CONFIG_FEATURE_MDEV_CONF=y +CONFIG_FEATURE_MDEV_RENAME=y +CONFIG_FEATURE_MDEV_RENAME_REGEXP=y +CONFIG_FEATURE_MDEV_EXEC=y +CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y +# CONFIG_MESG is not set +# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set +CONFIG_MKE2FS=y +# CONFIG_MKFS_EXT2 is not set +CONFIG_MKFS_MINIX=y +CONFIG_FEATURE_MINIX2=y +# CONFIG_MKFS_REISER is not set +CONFIG_MKDOSFS=y +# CONFIG_MKFS_VFAT is not set CONFIG_MKSWAP=y # CONFIG_FEATURE_MKSWAP_UUID is not set CONFIG_MORE=y @@ -584,24 +650,44 @@ CONFIG_MOUNT=y # CONFIG_FEATURE_MOUNT_FAKE is not set # CONFIG_FEATURE_MOUNT_VERBOSE is not set # CONFIG_FEATURE_MOUNT_HELPERS is not set -# CONFIG_FEATURE_MOUNT_LABEL is not set +CONFIG_FEATURE_MOUNT_LABEL=y CONFIG_FEATURE_MOUNT_NFS=y -# CONFIG_FEATURE_MOUNT_CIFS is not set +CONFIG_FEATURE_MOUNT_CIFS=y CONFIG_FEATURE_MOUNT_FLAGS=y CONFIG_FEATURE_MOUNT_FSTAB=y +CONFIG_FEATURE_MOUNT_OTHERTAB=y +# CONFIG_MOUNTPOINT is not set +CONFIG_NSENTER=y CONFIG_PIVOT_ROOT=y CONFIG_RDATE=y # CONFIG_RDEV is not set # CONFIG_READPROFILE is not set +CONFIG_RENICE=y +# CONFIG_REV is not set # CONFIG_RTCWAKE is not set # CONFIG_SCRIPT is not set # CONFIG_SCRIPTREPLAY is not set # CONFIG_SETARCH is not set -CONFIG_SWAPONOFF=y +CONFIG_LINUX32=y +CONFIG_LINUX64=y +CONFIG_SETPRIV=y +CONFIG_FEATURE_SETPRIV_DUMP=y +CONFIG_FEATURE_SETPRIV_CAPABILITIES=y +CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y +# CONFIG_SETSID is not set +CONFIG_SWAPON=y +CONFIG_FEATURE_SWAPON_DISCARD=y CONFIG_FEATURE_SWAPON_PRI=y +CONFIG_SWAPOFF=y +CONFIG_FEATURE_SWAPONOFF_LABEL=y CONFIG_SWITCH_ROOT=y +# CONFIG_TASKSET is not set +# CONFIG_FEATURE_TASKSET_FANCY is not set +CONFIG_UEVENT=y CONFIG_UMOUNT=y CONFIG_FEATURE_UMOUNT_ALL=y +CONFIG_UNSHARE=y +# CONFIG_WALL is not set # # Common options for mount/umount @@ -609,48 +695,40 @@ CONFIG_FEATURE_UMOUNT_ALL=y CONFIG_FEATURE_MOUNT_LOOP=y CONFIG_FEATURE_MOUNT_LOOP_CREATE=y # CONFIG_FEATURE_MTAB_SUPPORT is not set -# CONFIG_VOLUMEID is not set -# CONFIG_FEATURE_VOLUMEID_EXT is not set -# CONFIG_FEATURE_VOLUMEID_BTRFS is not set -# CONFIG_FEATURE_VOLUMEID_REISERFS is not set -# CONFIG_FEATURE_VOLUMEID_FAT is not set +CONFIG_VOLUMEID=y + +# +# Filesystem/Volume identification +# +CONFIG_FEATURE_VOLUMEID_BCACHE=y +CONFIG_FEATURE_VOLUMEID_BTRFS=y +# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +CONFIG_FEATURE_VOLUMEID_EXFAT=y +CONFIG_FEATURE_VOLUMEID_EXT=y +CONFIG_FEATURE_VOLUMEID_F2FS=y +CONFIG_FEATURE_VOLUMEID_FAT=y # CONFIG_FEATURE_VOLUMEID_HFS is not set -# CONFIG_FEATURE_VOLUMEID_JFS is not set -# CONFIG_FEATURE_VOLUMEID_XFS is not set -# CONFIG_FEATURE_VOLUMEID_NTFS is not set # CONFIG_FEATURE_VOLUMEID_ISO9660 is not set -# CONFIG_FEATURE_VOLUMEID_UDF is not set -# CONFIG_FEATURE_VOLUMEID_LUKS is not set +# CONFIG_FEATURE_VOLUMEID_JFS is not set +CONFIG_FEATURE_VOLUMEID_LFS=y +# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set # CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +# CONFIG_FEATURE_VOLUMEID_LUKS is not set +CONFIG_FEATURE_VOLUMEID_MINIX=y +CONFIG_FEATURE_VOLUMEID_NILFS=y +# CONFIG_FEATURE_VOLUMEID_NTFS is not set +# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set +# CONFIG_FEATURE_VOLUMEID_REISERFS is not set # CONFIG_FEATURE_VOLUMEID_ROMFS is not set +CONFIG_FEATURE_VOLUMEID_SQUASHFS=y # CONFIG_FEATURE_VOLUMEID_SYSV is not set -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set -# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set +CONFIG_FEATURE_VOLUMEID_UBIFS=y +# CONFIG_FEATURE_VOLUMEID_UDF is not set +# CONFIG_FEATURE_VOLUMEID_XFS is not set # # Miscellaneous Utilities # -# CONFIG_CONSPY is not set -CONFIG_LESS=y -CONFIG_FEATURE_LESS_MAXLINES=9999999 -CONFIG_FEATURE_LESS_BRACKETS=y -CONFIG_FEATURE_LESS_FLAGS=y -# CONFIG_FEATURE_LESS_MARKS is not set -# CONFIG_FEATURE_LESS_REGEXP is not set -# CONFIG_FEATURE_LESS_WINCH is not set -# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set -# CONFIG_FEATURE_LESS_DASHCMD is not set -# CONFIG_FEATURE_LESS_LINENUMS is not set -# CONFIG_NANDWRITE is not set -# CONFIG_NANDDUMP is not set -# CONFIG_SETSERIAL is not set -# CONFIG_UBIATTACH is not set -# CONFIG_UBIDETACH is not set -# CONFIG_UBIMKVOL is not set -# CONFIG_UBIRMVOL is not set -# CONFIG_UBIRSVOL is not set -# CONFIG_UBIUPDATEVOL is not set # CONFIG_ADJTIMEX is not set # CONFIG_BBCONFIG is not set # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set @@ -665,10 +743,11 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0 # CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set # CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set # CONFIG_FEATURE_CHAT_CLR_ABORT is not set -# CONFIG_CHRT is not set +# CONFIG_CONSPY is not set # CONFIG_CROND is not set # CONFIG_FEATURE_CROND_D is not set # CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +# CONFIG_FEATURE_CROND_SPECIAL_TIMES is not set CONFIG_FEATURE_CROND_DIR="" # CONFIG_CRONTAB is not set CONFIG_DC=y @@ -679,18 +758,11 @@ CONFIG_DC=y # CONFIG_DEVFSD_VERBOSE is not set # CONFIG_FEATURE_DEVFS is not set # CONFIG_DEVMEM is not set -# CONFIG_EJECT is not set -# CONFIG_FEATURE_EJECT_SCSI is not set # CONFIG_FBSPLASH is not set -# CONFIG_FLASHCP is not set +# CONFIG_FLASH_ERASEALL is not set # CONFIG_FLASH_LOCK is not set # CONFIG_FLASH_UNLOCK is not set -# CONFIG_FLASH_ERASEALL is not set -# CONFIG_IONICE is not set -# CONFIG_INOTIFYD is not set -# CONFIG_LAST is not set -# CONFIG_FEATURE_LAST_SMALL is not set -# CONFIG_FEATURE_LAST_FANCY is not set +# CONFIG_FLASHCP is not set # CONFIG_HDPARM is not set # CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set # CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set @@ -698,43 +770,58 @@ CONFIG_DC=y # CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set # CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set # CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set +CONFIG_HEXEDIT=y +CONFIG_I2CGET=y +CONFIG_I2CSET=y +CONFIG_I2CDUMP=y +CONFIG_I2CDETECT=y +# CONFIG_INOTIFYD is not set +CONFIG_LESS=y +CONFIG_FEATURE_LESS_MAXLINES=9999999 +CONFIG_FEATURE_LESS_BRACKETS=y +CONFIG_FEATURE_LESS_FLAGS=y +CONFIG_FEATURE_LESS_TRUNCATE=y +# CONFIG_FEATURE_LESS_MARKS is not set +# CONFIG_FEATURE_LESS_REGEXP is not set +# CONFIG_FEATURE_LESS_WINCH is not set +# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set +# CONFIG_FEATURE_LESS_DASHCMD is not set +# CONFIG_FEATURE_LESS_LINENUMS is not set +# CONFIG_FEATURE_LESS_RAW is not set +# CONFIG_FEATURE_LESS_ENV is not set +CONFIG_LSSCSI=y # CONFIG_MAKEDEVS is not set # CONFIG_FEATURE_MAKEDEVS_LEAF is not set # CONFIG_FEATURE_MAKEDEVS_TABLE is not set # CONFIG_MAN is not set CONFIG_MICROCOM=y -# CONFIG_MOUNTPOINT is not set # CONFIG_MT is not set +# CONFIG_NANDWRITE is not set +# CONFIG_NANDDUMP is not set +CONFIG_PARTPROBE=y # CONFIG_RAIDAUTORUN is not set # CONFIG_READAHEAD is not set -CONFIG_RFKILL=y +# CONFIG_RFKILL is not set # CONFIG_RUNLEVEL is not set # CONFIG_RX is not set -# CONFIG_SETSID is not set +CONFIG_SETFATTR=y +# CONFIG_SETSERIAL is not set CONFIG_STRINGS=y -# CONFIG_TASKSET is not set -# CONFIG_FEATURE_TASKSET_FANCY is not set CONFIG_TIME=y -# CONFIG_TIMEOUT is not set # CONFIG_TTYSIZE is not set +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set +# CONFIG_UBIMKVOL is not set +# CONFIG_UBIRMVOL is not set +# CONFIG_UBIRSVOL is not set +# CONFIG_UBIUPDATEVOL is not set +CONFIG_UBIRENAME=y # CONFIG_VOLNAME is not set -# CONFIG_WALL is not set # CONFIG_WATCHDOG is not set # # Networking Utilities # -# CONFIG_NAMEIF is not set -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set -# CONFIG_NBDCLIENT is not set -CONFIG_NC=y -CONFIG_NC_SERVER=y -CONFIG_NC_EXTRA=y -# CONFIG_NC_110_COMPAT is not set -CONFIG_PING=y -CONFIG_PING6=y -CONFIG_FEATURE_FANCY_PING=y -# CONFIG_WHOIS is not set CONFIG_FEATURE_IPV6=y # CONFIG_FEATURE_UNIX_LOCAL is not set CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y @@ -746,17 +833,17 @@ CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y # CONFIG_FEATURE_BRCTL_SHOW is not set # CONFIG_DNSD is not set # CONFIG_ETHER_WAKE is not set -# CONFIG_FAKEIDENTD is not set # CONFIG_FTPD is not set -# CONFIG_FEATURE_FTP_WRITE is not set +# CONFIG_FEATURE_FTPD_WRITE is not set # CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set +# CONFIG_FEATURE_FTPD_AUTHENTICATION is not set # CONFIG_FTPGET is not set # CONFIG_FTPPUT is not set # CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set CONFIG_HOSTNAME=y +CONFIG_DNSDOMAINNAME=y # CONFIG_HTTPD is not set # CONFIG_FEATURE_HTTPD_RANGES is not set -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set # CONFIG_FEATURE_HTTPD_SETUID is not set # CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set # CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set @@ -775,11 +862,10 @@ CONFIG_FEATURE_IFCONFIG_HW=y # CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set # CONFIG_IFENSLAVE is not set CONFIG_IFPLUGD=y -CONFIG_IFUPDOWN=y +CONFIG_IFUP=y +CONFIG_IFDOWN=y CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" # CONFIG_FEATURE_IFUPDOWN_IP is not set -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set -CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN=y CONFIG_FEATURE_IFUPDOWN_IPV4=y CONFIG_FEATURE_IFUPDOWN_IPV6=y CONFIG_FEATURE_IFUPDOWN_MAPPING=y @@ -792,38 +878,61 @@ CONFIG_FEATURE_IFUPDOWN_MAPPING=y # CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set # CONFIG_FEATURE_INETD_RPC is not set CONFIG_IP=y +# CONFIG_IPADDR is not set +# CONFIG_IPLINK is not set +# CONFIG_IPROUTE is not set +# CONFIG_IPTUNNEL is not set +# CONFIG_IPRULE is not set +CONFIG_IPNEIGH=y CONFIG_FEATURE_IP_ADDRESS=y CONFIG_FEATURE_IP_LINK=y CONFIG_FEATURE_IP_ROUTE=y +CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" CONFIG_FEATURE_IP_TUNNEL=y # CONFIG_FEATURE_IP_RULE is not set -# CONFIG_FEATURE_IP_SHORT_FORMS is not set +CONFIG_FEATURE_IP_NEIGH=y # CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set -# CONFIG_IPADDR is not set -# CONFIG_IPLINK is not set -# CONFIG_IPROUTE is not set -# CONFIG_IPTUNNEL is not set -# CONFIG_IPRULE is not set # CONFIG_IPCALC is not set -# CONFIG_FEATURE_IPCALC_FANCY is not set # CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +# CONFIG_FEATURE_IPCALC_FANCY is not set +# CONFIG_FAKEIDENTD is not set +# CONFIG_NAMEIF is not set +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set +# CONFIG_NBDCLIENT is not set +CONFIG_NC=y +# CONFIG_NETCAT is not set +CONFIG_NC_SERVER=y +CONFIG_NC_EXTRA=y +# CONFIG_NC_110_COMPAT is not set CONFIG_NETSTAT=y CONFIG_FEATURE_NETSTAT_WIDE=y CONFIG_FEATURE_NETSTAT_PRG=y CONFIG_NSLOOKUP=y +CONFIG_FEATURE_NSLOOKUP_BIG=y +CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y # CONFIG_NTPD is not set # CONFIG_FEATURE_NTPD_SERVER is not set +# CONFIG_FEATURE_NTPD_CONF is not set +CONFIG_PING=y +CONFIG_PING6=y +CONFIG_FEATURE_FANCY_PING=y # CONFIG_PSCAN is not set CONFIG_ROUTE=y # CONFIG_SLATTACH is not set +CONFIG_SSL_CLIENT=y +CONFIG_TC=y +CONFIG_FEATURE_TC_INGRESS=y # CONFIG_TCPSVD is not set +# CONFIG_UDPSVD is not set CONFIG_TELNET=y # CONFIG_FEATURE_TELNET_TTYPE is not set CONFIG_FEATURE_TELNET_AUTOLOGIN=y +CONFIG_FEATURE_TELNET_WIDTH=y # CONFIG_TELNETD is not set # CONFIG_FEATURE_TELNETD_STANDALONE is not set # CONFIG_FEATURE_TELNETD_INETD_WAIT is not set CONFIG_TFTP=y +CONFIG_FEATURE_TFTP_PROGRESS_BAR=y # CONFIG_TFTPD is not set # @@ -832,39 +941,49 @@ CONFIG_TFTP=y CONFIG_FEATURE_TFTP_GET=y CONFIG_FEATURE_TFTP_PUT=y CONFIG_FEATURE_TFTP_BLOCKSIZE=y -CONFIG_FEATURE_TFTP_PROGRESS_BAR=y # CONFIG_TFTP_DEBUG is not set +CONFIG_TLS=y CONFIG_TRACEROUTE=y CONFIG_TRACEROUTE6=y CONFIG_FEATURE_TRACEROUTE_VERBOSE=y -CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y CONFIG_TUNCTL=y CONFIG_FEATURE_TUNCTL_UG=y -# CONFIG_UDHCPC6 is not set +# CONFIG_VCONFIG is not set +CONFIG_WGET=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y +CONFIG_FEATURE_WGET_STATUSBAR=y +CONFIG_FEATURE_WGET_AUTHENTICATION=y +CONFIG_FEATURE_WGET_TIMEOUT=y +CONFIG_FEATURE_WGET_HTTPS=y +CONFIG_FEATURE_WGET_OPENSSL=y +# CONFIG_WHOIS is not set +# CONFIG_ZCIP is not set CONFIG_UDHCPD=y -# CONFIG_DHCPRELAY is not set -CONFIG_DUMPLEASES=y -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set # CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" +CONFIG_DUMPLEASES=y +# CONFIG_DHCPRELAY is not set CONFIG_UDHCPC=y CONFIG_FEATURE_UDHCPC_ARPING=y +CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +# CONFIG_UDHCPC6 is not set +# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set +# CONFIG_FEATURE_UDHCPC6_RFC5970 is not set + +# +# Common options for DHCP applets +# # CONFIG_FEATURE_UDHCP_PORT is not set CONFIG_UDHCP_DEBUG=0 +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 # CONFIG_FEATURE_UDHCP_RFC3397 is not set # CONFIG_FEATURE_UDHCP_8021Q is not set -CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" -# CONFIG_UDPSVD is not set -# CONFIG_VCONFIG is not set -CONFIG_WGET=y -CONFIG_FEATURE_WGET_STATUSBAR=y -CONFIG_FEATURE_WGET_AUTHENTICATION=y -CONFIG_FEATURE_WGET_LONG_OPTIONS=y -CONFIG_FEATURE_WGET_TIMEOUT=y -# CONFIG_ZCIP is not set +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b" # # Print Utilities @@ -877,107 +996,119 @@ CONFIG_FEATURE_WGET_TIMEOUT=y # Mail Utilities # # CONFIG_MAKEMIME is not set -CONFIG_FEATURE_MIME_CHARSET="" # CONFIG_POPMAILDIR is not set # CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set # CONFIG_REFORMIME is not set # CONFIG_FEATURE_REFORMIME_COMPAT is not set # CONFIG_SENDMAIL is not set +CONFIG_FEATURE_MIME_CHARSET="" # # Process Utilities # -# CONFIG_IOSTAT is not set -# CONFIG_LSOF is not set -# CONFIG_MPSTAT is not set -# CONFIG_NMETER is not set -# CONFIG_PMAP is not set -# CONFIG_POWERTOP is not set -# CONFIG_PSTREE is not set -# CONFIG_PWDX is not set -# CONFIG_SMEMCAP is not set -CONFIG_UPTIME=y -# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set CONFIG_FREE=y CONFIG_FUSER=y +# CONFIG_IOSTAT is not set CONFIG_KILL=y CONFIG_KILLALL=y # CONFIG_KILLALL5 is not set +# CONFIG_LSOF is not set +# CONFIG_MPSTAT is not set +# CONFIG_NMETER is not set # CONFIG_PGREP is not set +# CONFIG_PKILL is not set CONFIG_PIDOF=y CONFIG_FEATURE_PIDOF_SINGLE=y CONFIG_FEATURE_PIDOF_OMIT=y -# CONFIG_PKILL is not set +# CONFIG_PMAP is not set +# CONFIG_POWERTOP is not set +# CONFIG_FEATURE_POWERTOP_INTERACTIVE is not set CONFIG_PS=y -CONFIG_FEATURE_PS_WIDE=y -CONFIG_FEATURE_PS_LONG=y -# CONFIG_FEATURE_PS_TIME is not set -CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y +# CONFIG_FEATURE_PS_WIDE is not set +# CONFIG_FEATURE_PS_LONG is not set +CONFIG_FEATURE_PS_TIME=y # CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set -CONFIG_RENICE=y +CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y +# CONFIG_PSTREE is not set +# CONFIG_PWDX is not set +# CONFIG_SMEMCAP is not set CONFIG_BB_SYSCTL=y CONFIG_TOP=y +CONFIG_FEATURE_TOP_INTERACTIVE=y CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y # CONFIG_FEATURE_TOP_SMP_CPU is not set # CONFIG_FEATURE_TOP_DECIMALS is not set # CONFIG_FEATURE_TOP_SMP_PROCESS is not set # CONFIG_FEATURE_TOPMEM is not set -# CONFIG_FEATURE_SHOW_THREADS is not set +CONFIG_UPTIME=y +# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set CONFIG_WATCH=y +# CONFIG_FEATURE_SHOW_THREADS is not set # # Runit Utilities # +# CONFIG_CHPST is not set +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set # CONFIG_RUNSV is not set # CONFIG_RUNSVDIR is not set # CONFIG_FEATURE_RUNSVDIR_LOG is not set # CONFIG_SV is not set CONFIG_SV_DEFAULT_SERVICE_DIR="" +CONFIG_SVC=y +CONFIG_SVOK=y # CONFIG_SVLOGD is not set -# CONFIG_CHPST is not set -# CONFIG_SETUIDGID is not set -# CONFIG_ENVUIDGID is not set -# CONFIG_ENVDIR is not set -# CONFIG_SOFTLIMIT is not set # CONFIG_CHCON is not set -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set # CONFIG_GETENFORCE is not set # CONFIG_GETSEBOOL is not set # CONFIG_LOAD_POLICY is not set # CONFIG_MATCHPATHCON is not set -# CONFIG_RESTORECON is not set # CONFIG_RUNCON is not set -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set # CONFIG_SELINUXENABLED is not set +# CONFIG_SESTATUS is not set # CONFIG_SETENFORCE is not set # CONFIG_SETFILES is not set # CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_RESTORECON is not set # CONFIG_SETSEBOOL is not set -# CONFIG_SESTATUS is not set # # Shells # +CONFIG_SH_IS_ASH=y +# CONFIG_SH_IS_HUSH is not set +# CONFIG_SH_IS_NONE is not set +# CONFIG_BASH_IS_ASH is not set +# CONFIG_BASH_IS_HUSH is not set +CONFIG_BASH_IS_NONE=y CONFIG_ASH=y +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +CONFIG_ASH_INTERNAL_GLOB=y CONFIG_ASH_BASH_COMPAT=y -# CONFIG_ASH_IDLE_TIMEOUT is not set +# CONFIG_ASH_BASH_SOURCE_CURDIR is not set +CONFIG_ASH_BASH_NOT_FOUND_HOOK=y CONFIG_ASH_JOB_CONTROL=y CONFIG_ASH_ALIAS=y -CONFIG_ASH_GETOPTS=y -CONFIG_ASH_BUILTIN_ECHO=y -CONFIG_ASH_BUILTIN_PRINTF=y -CONFIG_ASH_BUILTIN_TEST=y -# CONFIG_ASH_CMDCMD is not set -# CONFIG_ASH_MAIL is not set -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y # CONFIG_ASH_RANDOM_SUPPORT is not set CONFIG_ASH_EXPAND_PRMT=y +# CONFIG_ASH_IDLE_TIMEOUT is not set +# CONFIG_ASH_MAIL is not set +CONFIG_ASH_ECHO=y +CONFIG_ASH_PRINTF=y +CONFIG_ASH_TEST=y +CONFIG_ASH_HELP=y +CONFIG_ASH_GETOPTS=y +# CONFIG_ASH_CMDCMD is not set # CONFIG_CTTYHACK is not set # CONFIG_HUSH is not set # CONFIG_HUSH_BASH_COMPAT is not set # CONFIG_HUSH_BRACE_EXPANSION is not set -# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_LINENO_VAR is not set +# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set # CONFIG_HUSH_INTERACTIVE is not set # CONFIG_HUSH_SAVEHISTORY is not set # CONFIG_HUSH_JOB is not set @@ -988,25 +1119,51 @@ CONFIG_ASH_EXPAND_PRMT=y # CONFIG_HUSH_FUNCTIONS is not set # CONFIG_HUSH_LOCAL is not set # CONFIG_HUSH_RANDOM_SUPPORT is not set -# CONFIG_HUSH_EXPORT_N is not set # CONFIG_HUSH_MODE_X is not set -# CONFIG_MSH is not set -CONFIG_FEATURE_SH_IS_ASH=y -# CONFIG_FEATURE_SH_IS_HUSH is not set -# CONFIG_FEATURE_SH_IS_NONE is not set -# CONFIG_FEATURE_BASH_IS_ASH is not set -# CONFIG_FEATURE_BASH_IS_HUSH is not set -CONFIG_FEATURE_BASH_IS_NONE=y -CONFIG_SH_MATH_SUPPORT=y -CONFIG_SH_MATH_SUPPORT_64=y +# CONFIG_HUSH_ECHO is not set +# CONFIG_HUSH_PRINTF is not set +# CONFIG_HUSH_TEST is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_EXPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_READONLY is not set +# CONFIG_HUSH_KILL is not set +# CONFIG_HUSH_WAIT is not set +# CONFIG_HUSH_COMMAND is not set +# CONFIG_HUSH_TRAP is not set +# CONFIG_HUSH_TYPE is not set +# CONFIG_HUSH_TIMES is not set +# CONFIG_HUSH_READ is not set +# CONFIG_HUSH_SET is not set +# CONFIG_HUSH_UNSET is not set +# CONFIG_HUSH_ULIMIT is not set +# CONFIG_HUSH_UMASK is not set +# CONFIG_HUSH_GETOPTS is not set +# CONFIG_HUSH_MEMLEAK is not set + +# +# Options common to all shells +# +CONFIG_FEATURE_SH_MATH=y +CONFIG_FEATURE_SH_MATH_64=y CONFIG_FEATURE_SH_EXTRA_QUIET=y # CONFIG_FEATURE_SH_STANDALONE is not set # CONFIG_FEATURE_SH_NOFORK is not set +CONFIG_FEATURE_SH_READ_FRAC=y CONFIG_FEATURE_SH_HISTFILESIZE=y # # System Logging Utilities # +CONFIG_KLOGD=y + +# +# klogd should not be used together with syslog to kernel printk buffer +# +CONFIG_FEATURE_KLOGD_KLOGCTL=y +CONFIG_LOGGER=y +CONFIG_LOGREAD=y +CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y CONFIG_SYSLOGD=y CONFIG_FEATURE_ROTATE_LOGFILE=y CONFIG_FEATURE_REMOTE_LOG=y @@ -1015,8 +1172,4 @@ CONFIG_FEATURE_SYSLOGD_CFG=y CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 CONFIG_FEATURE_IPC_SYSLOG=y CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=64 -CONFIG_LOGREAD=y -CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y -CONFIG_KLOGD=y -CONFIG_FEATURE_KLOGD_KLOGCTL=y -CONFIG_LOGGER=y +CONFIG_FEATURE_KMSG_SYSLOG=y -- cgit v1.2.3 From 4eba07b5b205d13134670b1c0983b44c1127e6f0 Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 13 Sep 2019 14:33:48 -0500 Subject: Put _append_ in the middle of variables with a machine --- recipes-core/images/mlinux-base-image.bb | 2 +- recipes-core/images/mlinux-minimal-image.bb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-base-image.bb b/recipes-core/images/mlinux-base-image.bb index d66b34f..c8fc0fa 100644 --- a/recipes-core/images/mlinux-base-image.bb +++ b/recipes-core/images/mlinux-base-image.bb @@ -54,7 +54,7 @@ MULTITECH_FEATURES_append = " \ jsparser \ " -UPGRADE_FEATURES_mtbsp-at91_append = "u-boot-linux-utils" +UPGRADE_FEATURES_append_mtbsp-at91 = "u-boot-linux-utils" MISC_FEATURES = "minicom lrzsz nano" diff --git a/recipes-core/images/mlinux-minimal-image.bb b/recipes-core/images/mlinux-minimal-image.bb index 314da61..9531c6c 100644 --- a/recipes-core/images/mlinux-minimal-image.bb +++ b/recipes-core/images/mlinux-minimal-image.bb @@ -25,7 +25,7 @@ CORE_FEATURES_append = " \ get-eeprom-device-config \ " -CORE_FEATURES_mtbsp-at91_append = " mtd-utils mtd-utils-jffs2 fstab-at91" +CORE_FEATURES_append_mtbsp-at91 = " mtd-utils mtd-utils-jffs2 fstab-at91" NETWORKING_FEATURES = "ppp curl iproute2 \ iptables iputils \ @@ -52,7 +52,7 @@ MULTITECH_FEATURES = "kernel-module-mts-io \ upgrade-reboot" MULTITECH_MTAC = "" -MULTITECH_MTAC_mtcdt_append = " \ +MULTITECH_MTAC_append_mtcdt = " \ kernel-module-mtac \ kernel-module-mtac-eth \ kernel-module-mtac-gpiob \ -- cgit v1.2.3 From ec0ab233197d6a4e9dadefcd2c8fa5c2b9ceb2e2 Mon Sep 17 00:00:00 2001 From: Jeff Hatch Date: Mon, 16 Sep 2019 09:20:41 -0500 Subject: Updates to add docker --- recipes-core/busybox/busybox_%.bbappend | 7 +++++++ recipes-core/busybox/files/disable-ipc-for-docker.cfg | 2 ++ 2 files changed, 9 insertions(+) create mode 100644 recipes-core/busybox/files/disable-ipc-for-docker.cfg (limited to 'recipes-core') diff --git a/recipes-core/busybox/busybox_%.bbappend b/recipes-core/busybox/busybox_%.bbappend index 31b58fa..ca0d56b 100644 --- a/recipes-core/busybox/busybox_%.bbappend +++ b/recipes-core/busybox/busybox_%.bbappend @@ -4,6 +4,13 @@ FILESEXTRAPATHS_prepend := ":${THISDIR}/files:" RDEPENDS_${PN} += "bash" DEPENDS += "libtirpc" +# +# MD: temporally disable IPCS/IPCRM (needed for ntpd/gpsd according to John) +# because those are also provided by util-linux which is in RDEPENDS for docker +# +SRC_URI += "file://disable-ipc-for-docker.cfg \ +" + SRC_URI += "file://udhcpd.conf.example \ file://ifplugd.action \ file://ifplugd.default \ diff --git a/recipes-core/busybox/files/disable-ipc-for-docker.cfg b/recipes-core/busybox/files/disable-ipc-for-docker.cfg new file mode 100644 index 0000000..c2a9405 --- /dev/null +++ b/recipes-core/busybox/files/disable-ipc-for-docker.cfg @@ -0,0 +1,2 @@ +# CONFIG_IPCS is not set +# CONFIG_IPCRM is not set -- cgit v1.2.3 From fe3047981a6d9630781db0c483f1bf771f4fa052 Mon Sep 17 00:00:00 2001 From: Jason Reiss Date: Wed, 25 Sep 2019 10:43:51 -0500 Subject: lora: update gw and pkf recipes, remove geolocation packets for devices other than mtcdt --- recipes-core/images/mlinux-factory-image.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-factory-image.bb b/recipes-core/images/mlinux-factory-image.bb index 77a48ed..65c1f1f 100644 --- a/recipes-core/images/mlinux-factory-image.bb +++ b/recipes-core/images/mlinux-factory-image.bb @@ -26,7 +26,8 @@ IMAGE_INSTALL_append= " autossh" 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 lora-gateway-geolocation-utils lora-packet-forwarder-geolocation" +IMAGE_INSTALL_append = " lora-gateway-utils lora-query lora-network-server lora-packet-forwarder-usb" +IMAGE_INSTALL_mtcdt_append = " lora-gateway-geolocation-utils lora-packet-forwarder-geolocation" IMAGE_INSTALL_mtbsp-at91_append = " mtac-xdot-util" # MQTT server -- cgit v1.2.3 From d5cd8191ce85ad659195dabde6b17ee6cd4fcb2c Mon Sep 17 00:00:00 2001 From: Mike Nicholson Date: Wed, 16 Oct 2019 01:01:37 -0500 Subject: Software update, initial revision --- recipes-core/mlinux-scripts/mlinux-scripts.inc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'recipes-core') diff --git a/recipes-core/mlinux-scripts/mlinux-scripts.inc b/recipes-core/mlinux-scripts/mlinux-scripts.inc index 4e098aa..f4cfbee 100644 --- a/recipes-core/mlinux-scripts/mlinux-scripts.inc +++ b/recipes-core/mlinux-scripts/mlinux-scripts.inc @@ -12,6 +12,8 @@ SRC_URI = "file://mlinux-wifi-ap \ file://mlinux-switch-cell-fw \ file://mlinux-cell-router \ file://mlinux-cell-radio-ready \ +" +SRC_URI_append_mtbsp-at91 = " \ file://mlinux-firmware-upgrade \ " @@ -25,5 +27,8 @@ do_install() { install -m 755 ${WORKDIR}/mlinux-switch-cell-fw ${D}${sbindir} install -m 755 ${WORKDIR}/mlinux-cell-router ${D}${sbindir} install -m 755 ${WORKDIR}/mlinux-cell-radio-ready ${D}${sbindir} +} + +do_install_append_mtbsp-at91() { install -m 755 ${WORKDIR}/mlinux-firmware-upgrade ${D}${sbindir} } -- cgit v1.2.3 From 3abf20cd709b0ec18280f836dabb5d7e48589211 Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 16 Oct 2019 15:33:33 -0500 Subject: Add initramfs and init recipes --- recipes-core/initrdscripts/COPYING.MIT | 17 ++ recipes-core/initrdscripts/README.md | 162 ++++++++++ .../.init-readonly-rootfs-overlay-boot.sh.kate-swp | Bin 0 -> 139 bytes .../files/init-readonly-rootfs-overlay-boot.sh | 326 +++++++++++++++++++++ .../initramfs-readonly-rootfs-overlay_1.0.bb | 8 + .../initscripts-readonly-rootfs-overlay_1.0.bb | 1 + .../readonly-rootfs-overlay-init-script.inc | 36 +++ 7 files changed, 550 insertions(+) create mode 100644 recipes-core/initrdscripts/COPYING.MIT create mode 100644 recipes-core/initrdscripts/README.md create mode 100644 recipes-core/initrdscripts/files/.init-readonly-rootfs-overlay-boot.sh.kate-swp create mode 100755 recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh create mode 100644 recipes-core/initrdscripts/initramfs-readonly-rootfs-overlay_1.0.bb create mode 100644 recipes-core/initrdscripts/initscripts-readonly-rootfs-overlay_1.0.bb create mode 100644 recipes-core/initrdscripts/readonly-rootfs-overlay-init-script.inc (limited to 'recipes-core') diff --git a/recipes-core/initrdscripts/COPYING.MIT b/recipes-core/initrdscripts/COPYING.MIT new file mode 100644 index 0000000..89de354 --- /dev/null +++ b/recipes-core/initrdscripts/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. diff --git a/recipes-core/initrdscripts/README.md b/recipes-core/initrdscripts/README.md new file mode 100644 index 0000000..a038dfa --- /dev/null +++ b/recipes-core/initrdscripts/README.md @@ -0,0 +1,162 @@ +# meta-readonly-rootfs-overlay + +This OpenEmbedded layer provides the necessary scripts and configurations to +setup a writable root file system overlay on top of a read-only root file system. + +## Why does this exists? + +Having a read-only root file system is useful for many scenarios: + +- Separate user specific changes from system configuration, and being able to +find differences +- Allow factory reset, by deleting the user specific changes +- Have a fallback image in case the user specific changes made the root file +system no longer bootable. + +Because some data on the root file system changes on first boot or while the +system is running, just mounting the complete root file system as read-only +breaks many applications. There are different solutions to this problem: + +- Symlinking/Bind mounting files and directories that could potentially change +while the system is running to a writable partition +- Instead of having a read-only root files system, mounting a writable overlay +root file system, that uses a read-only file system as its base and writes +changed data to another writable partition. + +To implement the first solution, the developer needs to analyse which file +needs to change and then create symlinks for them. When doing factory reset, +the developer needs to overwrite every file that is linked with the factory +configuration, to avoid dangling symlinks/binds. While this is more work on the +developer side, it might increase the security, because only files that are +symlinked/bind-mounted can be changed. However, IMO that is better left to file +permissions. + +This meta-layer provides the second solution. Here no investigation of writable +files are needed and factory reset can be done by just deleting all files or +formatting the writable volume. + +# Dependencies + +This layer depends on: + +``` + URI: git://git.openembedded.org/bitbake + branch: krogoth +``` + +``` + URI: git://git.openembedded.org/openembedded-core + layers: meta + branch: krogoth +``` + +# Patches + +Please submit any patches against the readonly-rootfs-overlay layer via pull +request. + + +# Table of Contents + +1. [Adding the readonly-rootfs-overlay layer to your build](#adding-the-readonly-rootfs-overlay-layer-to-your-build) +1. [Read-only root filesystem](#read-only-root-filesystem) +1. [Kernel command line parameters](#kernel-command-line-parameters) + + +## Adding the readonly-rootfs-overlay layer to your build + +In order to use this layer, you need to make the build system aware of +it. + +Assuming the readonly-rootfs-overlay layer exists at the top-level of your +OpenEmbedded source tree, you can add it to the build system by adding the +location of the readonly-rootfs-overlay layer to bblayers.conf, along with any +other layers needed. e.g.: + +``` + BBLAYERS ?= " \ + /path/to/layers/meta \ + /path/to/layers/meta-poky \ + /path/to/layers/meta-yocto-bsp \ + /path/to/layers/meta-readonly-rootfs-overlay \ + " +``` + +To add the script to your image, just add: + +``` + IMAGE_INSTALL_append = " initscripts-readonly-rootfs-overlay" +``` + +to your `local.conf` or image recipe. Or use +`core-image-rorootfs-overlay-initramfs` as initrd. + +## Read-only root filesystem + +If you use this layer you do *not* need to set `read-only-rootfs` in the +`IMAGE_FEATURES` or `EXTRA_IMAGE_FEATURES` variable. + +## Kernel command line parameters + +These examples are not meant to be complete. They just contain parameters that +are used by the initscript of this repository. Some additional paramters might +be necessary. + +### Example using initrd: + +``` +root=/dev/sda1 rootrw=/dev/sda2 +``` + +This cmd line start `/sbin/init` with the `/dev/sda1` partition as the read-only +rootfs and the `/dev/sda2` partition as the read-write persistent state. + +``` +root=/dev/sda1 rootrw=/dev/sda2 init=/bin/sh +``` + +The same as before but it now starts `/bin/sh` instead of `/sbin/init`. + +### Example without initrd: + +``` +root=/dev/sda1 rootrw=/dev/sda2 init=/init +``` + +This cmd line starts `/sbin/init` with `/dev/sda1` partition as the read-only +rootfs and the `/dev/sda2` partition as the read-write persistent state. When +using this init script without an initrd, `init=/init` has to be set. + +``` +root=/dev/sda1 rootrw=/dev/sda2 init=/init rootinit=/bin/sh +``` + +The same as before but it now starts `/bin/sh` instead of `/sbin/init` + +### Details + +`root=` specifies the read-only root file system device. If this is not +specified, the current rootfs is used. + +`rootfstype=` if support for the read-only file system is not build into the +kernel, you can specify the required module name here. It will also be used in +the mount command. + +`rootoptions=` specifies the mount options of the read-only file system. +Defaults to `noatime,nodiratime`. + +`rootinit=` if the `init` parameter was used to specify this init script, +`rootinit` can be used to overwrite the default (`/sbin/init`). + +`rootrw=` specifies the read-write file system device. If this is not +specified, `tmpfs` is used. + +`rootrwfstype=` if support for the read-write file system is not build into the +kernel, you can specify the required module name here. It will also be used in +the mount command. + +`rootrwoptions=` specifies the mount options of the read-write file system. +Defaults to `rw,noatime,mode=755`. + +`rootrwreset=` set to `yes` if you want to delete all the files in the +read-write file system prior to building the overlay root files system. diff --git a/recipes-core/initrdscripts/files/.init-readonly-rootfs-overlay-boot.sh.kate-swp b/recipes-core/initrdscripts/files/.init-readonly-rootfs-overlay-boot.sh.kate-swp new file mode 100644 index 0000000..4a52bfd Binary files /dev/null and b/recipes-core/initrdscripts/files/.init-readonly-rootfs-overlay-boot.sh.kate-swp differ diff --git a/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh b/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh new file mode 100755 index 0000000..6ec69ab --- /dev/null +++ b/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh @@ -0,0 +1,326 @@ +#!/bin/bash +# fsck output of the upper file system (rw) is +# written to /dev/kmsg + +# Kernel arguments for this script: +# This script allows one to specify the root read-only device with +# kernel argument: +# root= +# What follows can be a PARTUUID, PARTLABEL, or some other mechanism +# understood by findfs, including the plain device name. +# +# The rw file system overlayed on top of root defaults to: +# rootrw='PARTLABEL=user_data' +# This is the first GPT partition found with the name user_data. +# +# Another file system can be specified by PARTUUID, or the +# plain device name, or anything understood by findfs. +# For instance: +# rootrw=/dev/mmcblk0p10 +# to use the SD card. +# +# fsck is not done to the root file system. It is assumed it cannot be +# corrupted. +# By default, fsck -p [rootrw device] is done. +# +# There are two kernel options governing fsck: +# +# fsck.repair=true|false|force +# false skips fsck, force adds the -f option. +# true is the default (fsck with no -f option) +# fsck.mode=preen|yes|no +# These represent -p, -y, and -n options. +# Preen (-p) is the default +# +# Additional options exist to specify the init program +# mount options, file system type. root_rwreset="yes" +# will cause the read/write file system to be erased. +# + + +# Enable strict shell mode +set -euo pipefail + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +MOUNT="/bin/mount" +UMOUNT="/bin/umount" + +INIT="/sbin/init" +ROOT_ROINIT="/sbin/init" + +ROOT_MOUNT="/mnt" +ROOT_RODEVICE="" +ROOT_RWDEVICE="" +ROOT_ROMOUNT="/run/media/rfs/ro" +ROOT_RWMOUNT="/run/media/rfs/rw" +ROOT_RWRESET="no" + +ROOT_ROFSTYPE="" +ROOT_ROMOUNTOPTIONS="bind" +ROOT_ROMOUNTOPTIONS_DEVICE="noatime,nodiratime,ro" + +ROOT_RWFSTYPE="" +ROOT_RWMOUNTOPTIONS="rw,noatime,mode=755 tmpfs" +ROOT_RWMOUNTOPTIONS_DEVICE="rw,noatime" + +# Arithmetic assignments of 0 are false, and then +# script uses set -e, so use let instead. +DO_FSCK=1 +DO_STOP=0 +FSCKOPT="-p" + + +finddevice() { + DEVICE="$1" + if dev=$(findfs "${DEVICE}") && ((${#dev})) ; then + # Replace the rootfs string with the findfs device result + log "Searched for ${DEVICE} and found $dev" + echo "$dev" + return 0 + fi + log "Could not find $DEVICE" + return 1 +} + +early_setup() { + mkdir -p /proc + mkdir -p /sys + $MOUNT -t proc proc /proc + $MOUNT -t sysfs sysfs /sys + grep -w "/dev" /proc/mounts >/dev/null || $MOUNT -t devtmpfs none /dev +} + +read_args() { + # Default is to do fsck with -p option on user_data partition. + [ -z "${CMDLINE+x}" ] && CMDLINE=`cat /proc/cmdline` + for arg in $CMDLINE; do + # Set optarg to option parameter, and '' if no parameter was + # given + optarg=`expr "x$arg" : 'x[^=]*=\(.*\)' || echo ''` + case $arg in + shinitramfs) + ((DO_STOP=1)) ;; + root=*) + ROOT_RODEVICE=$optarg + if rootdev=$(finddevice "${ROOT_RODEVICE}") ; then + # Replace the rootfs string with the findfs device result + ROOT_RODEVICE="${rootdev}" + fi + ;; + rootfstype=*) + ROOT_ROFSTYPE="$optarg" ;; + rootinit=*) + ROOT_ROINIT=$optarg ;; + rootoptions=*) + ROOT_ROMOUNTOPTIONS_DEVICE="$optarg" ;; + rootrw=*) + ROOT_RWDEVICE=$optarg + if rootrwdev="$(finddevice ${ROOT_RWDEVICE})" ; then + # Replace the rootfs string with the findfs device result + ROOT_RODEVICE="${rootrwdev}" + fi + ;; + rootrwfstype=*) + ROOT_RWFSTYPE="$optarg" ;; + rootrwreset=*) + ROOT_RWRESET=$optarg ;; + rootrwoptions=*) + ROOT_RWMOUNTOPTIONS_DEVICE="$optarg" ;; + init=*) + INIT=$optarg ;; + fsck.mode=*) + fsck_mode=$optarg + case $fsck_mode in + preen) + FSCKOPT="-p" ;; + yes) + FSCKOPT="-y" ;; + no) + FSCKOPT="-n" ;; + esac + ;; + fsck.repair=*) + fsck_repair=$optarg + case $fsck_repair in + force) + if ((${#FSCKOPT)) ; then + FSCKOPT+="f" + else + FSCKOPT="-f" + fi + DO_FSCK=1 + ;; + yes) + DO_FSCK=1 + ;; + no) + DO_FSCK=0 + ;; + esac + + ;; + esac + done +} + +fatal() { + echo "rorootfs-overlay: $1" >$CONSOLE + echo >$CONSOLE + exec bash +} + +log() { + echo "rorootfs-overlay: $1" >$CONSOLE +} + +early_setup + +[ -z "${CONSOLE+x}" ] && CONSOLE="/dev/console" + +read_args + +mount_and_boot() { + mkdir -p $ROOT_MOUNT $ROOT_ROMOUNT $ROOT_RWMOUNT + + # Build mount options for read only root file system. + # If no read-only device was specified via kernel command line, use + # current root file system via bind mount. + ROOT_ROMOUNTPARAMS_BIND="-o ${ROOT_ROMOUNTOPTIONS} /" + if [ -n "${ROOT_RODEVICE}" ]; then + ROOT_ROMOUNTPARAMS="-o ${ROOT_ROMOUNTOPTIONS_DEVICE} $ROOT_RODEVICE" + if [ -n "${ROOT_ROFSTYPE}" ]; then + ROOT_ROMOUNTPARAMS="-t $ROOT_ROFSTYPE $ROOT_ROMOUNTPARAMS" + fi + else + ROOT_ROMOUNTPARAMS="$ROOT_ROMOUNTPARAMS_BIND" + fi + + mountlog=$($MOUNT $ROOT_ROMOUNTPARAMS "$ROOT_ROMOUNT" 2>&1) + mountresult=$? + if ((mountresult != 0)) ; then + log "Failed root mount (result $mountresult): $mountlog" + log "mounts: $(cat /proc/mounts)" + else + log "Mounted ro root: $(grep "$ROOT_ROMOUNT" /proc/mounts)" + fi + + log "Mounted root: $(grep root /proc/mounts)" + + # If future init is the same as current file, use $ROOT_ROINIT + # Tries to avoid loop to infinity if init is set to current file via + # kernel command line + if cmp -s "$0" "$INIT"; then + INIT="$ROOT_ROINIT" + fi + + # find user_data + if [[ -z ${ROOT_RWDEVICE} ]] ; then + userdata=$(findfs PARTLABEL=user_data) + blkid_out=$(blkid $userdata) + if [[ -n $userdata ]] ; then + if [[ $blkid_out =~ TYPE=\"([^\"]+)\" ]]; then + log "Detected user_data partition with ${BASH_REMATCH[1]} file system" + else + log "Create new user_data partition ext4 file system" + mkfs.ext4 -O 64bit $userdata + fi + ROOT_RWDEVICE="$userdata" + fi # Found user_data GPT partition + fi # Empty ROOT_RWDEVICE + # Build mount options for read write root file system. + # If a read-write device was specified via kernel command line + # or partition table, use it, otherwise default to tmpfs. + if [ -n "${ROOT_RWDEVICE}" ]; then + ROOT_RWMOUNTPARAMS="-o $ROOT_RWMOUNTOPTIONS_DEVICE $ROOT_RWDEVICE" + if [ -n "${ROOT_RWFSTYPE}" ]; then + ROOT_RWMOUNTPARAMS="-t $ROOT_RWFSTYPE $ROOT_RWMOUNTPARAMS" + fi + else + ROOT_RWMOUNTPARAMS="-t tmpfs -o $ROOT_RWMOUNTOPTIONS" + fi + + if ((DO_FSCK == 1)) ; then + if log_result=$(fsck $FSCKOPT $ROOT_RWDEVICE 2>&1) ; then + log "OK fsck user_data: fsck $FSCKOPT $ROOT_RWDEVICE: $(fsck $FSCKOPT $ROOT_RWDEVICE 2>&1)" + echo "fsck user_data: $log_result" >/dev/kmsg + else + log "ERR fsck user_data: fsck $FSCKOPT $ROOT_RWDEVICE: $(fsck $FSCKOPT $ROOT_RWDEVICE 2>&1)" + log "$log_result" + # Write fsck to kernel log + echo "ERR fsck user_data: fsck $FSCKOPT $ROOT_RWDEVICE: $(fsck $FSCKOPT $ROOT_RWDEVICE 2>&1)" >/dev/kmsg + echo "$log_result" >/dev/kmsg + fi + fi + + # Mount read-write file system into initram root file system + if ! $MOUNT $ROOT_RWMOUNTPARAMS $ROOT_RWMOUNT ; then + fatal "Could not mount read-write rootfs" + fi + + # Reset read-write file system if specified + if [ "yes" == "$ROOT_RWRESET" -a -n "${ROOT_RWMOUNT}" ]; then + rm -rf $ROOT_RWMOUNT/* + fi + + # Determine which unification file system to use + union_fs_type="" + if grep -w "overlay" /proc/filesystems >/dev/null; then + union_fs_type="overlay" + elif grep -w "aufs" /proc/filesystems >/dev/null; then + union_fs_type="aufs" + else + union_fs_type="" + fi + + # Create/Mount overlay root file system + case $union_fs_type in + "overlay") + log "$(cat /proc/mounts)" + mkdir -p $ROOT_RWMOUNT/upperdir $ROOT_RWMOUNT/work + if ! $MOUNT -t overlay overlay \ + -o "$(printf "%s%s%s" \ + "lowerdir=$ROOT_ROMOUNT," \ + "upperdir=$ROOT_RWMOUNT/upperdir," \ + "workdir=$ROOT_RWMOUNT/work")" \ + $ROOT_MOUNT ; then + log "$MOUNT -t overlay overlay \ + -o \"$(printf \"%s%s%s\" \ + \"lowerdir=$ROOT_ROMOUNT,\" \ + \"upperdir=$ROOT_RWMOUNT/upperdir,\" \ + \"workdir=$ROOT_RWMOUNT/work\")\" \ + $ROOT_MOUNT" + fatal "Cound not mount overlay" + fi + ;; + "aufs") + $MOUNT -t aufs i\ + -o "dirs=$ROOT_RWMOUNT=rw:$ROOT_ROMOUNT=ro" \ + aufs $ROOT_MOUNT + ;; + "") + fatal "No overlay filesystem type available" + ;; + esac + + # Move read-only and read-write root file system into the overlay + # file system + mkdir -p $ROOT_MOUNT/$ROOT_ROMOUNT $ROOT_MOUNT/$ROOT_RWMOUNT + $MOUNT -n --move $ROOT_ROMOUNT ${ROOT_MOUNT}/$ROOT_ROMOUNT + $MOUNT -n --move $ROOT_RWMOUNT ${ROOT_MOUNT}/$ROOT_RWMOUNT + + $MOUNT -n --move /proc ${ROOT_MOUNT}/proc + $MOUNT -n --move /sys ${ROOT_MOUNT}/sys + $MOUNT -n --move /dev ${ROOT_MOUNT}/dev + log "overlay: $(grep 'overlay' ${ROOT_MOUNT}/proc/mounts)" + cd $ROOT_MOUNT + if ((DO_STOP)) ; then + fatal "Initramfs Shell mode selected -- bash shell" + fi + + # switch to actual init in the overlay root file system + exec switch_root $ROOT_MOUNT $INIT || + fatal "Couldn't chroot, dropping to shell" +} + +mount_and_boot diff --git a/recipes-core/initrdscripts/initramfs-readonly-rootfs-overlay_1.0.bb b/recipes-core/initrdscripts/initramfs-readonly-rootfs-overlay_1.0.bb new file mode 100644 index 0000000..164d394 --- /dev/null +++ b/recipes-core/initrdscripts/initramfs-readonly-rootfs-overlay_1.0.bb @@ -0,0 +1,8 @@ +require readonly-rootfs-overlay-init-script.inc + +do_install_append() { + install -d ${D}/dev + mknod -m 622 ${D}/dev/console c 5 1 +} + +FILES_${PN} += "/dev" diff --git a/recipes-core/initrdscripts/initscripts-readonly-rootfs-overlay_1.0.bb b/recipes-core/initrdscripts/initscripts-readonly-rootfs-overlay_1.0.bb new file mode 100644 index 0000000..9428356 --- /dev/null +++ b/recipes-core/initrdscripts/initscripts-readonly-rootfs-overlay_1.0.bb @@ -0,0 +1 @@ +require readonly-rootfs-overlay-init-script.inc diff --git a/recipes-core/initrdscripts/readonly-rootfs-overlay-init-script.inc b/recipes-core/initrdscripts/readonly-rootfs-overlay-init-script.inc new file mode 100644 index 0000000..d1b8104 --- /dev/null +++ b/recipes-core/initrdscripts/readonly-rootfs-overlay-init-script.inc @@ -0,0 +1,36 @@ +SUMMARY = "Read only rootfs with overlay init script" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +DEPENDS = "virtual/kernel" + +# This was derived from https://github.com/cmhe/meta-readonly-rootfs-overlay + +# script uses bash, findfs, busybox is problematic, so use real fsck, +# and add ext4 utilities in case some one needs to try to recover the +# user_data file system +RDEPENDS_${PN} = " \ + bash \ + util-linux-findfs \ + util-linux-fsck \ + e2fsprogs \ + e2fsprogs-mke2fs \ + e2fsprogs-badblocks \ + e2fsprogs-e2fsck \ + e2fsprogs-tune2fs \ + e2fsprogs-resize2fs \ + " + +SRC_URI = "file://init-readonly-rootfs-overlay-boot.sh" + +S = "${WORKDIR}" + +do_install() { + install -m 0755 ${WORKDIR}/init-readonly-rootfs-overlay-boot.sh ${D}/init + install -d "${D}/run/media/rfs/ro" + install -d "${D}/run/media/rfs/rw" +} + +FILES_${PN} += " /init /run" + +# Due to kernel dependency +PACKAGE_ARCH = "${MACHINE_ARCH}" -- cgit v1.2.3 From 978059a76730c55d25f860b1e426e491a922f41b Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 16 Oct 2019 15:36:49 -0500 Subject: rorootfs cpio image for initramfs --- .../core-image-rorootfs-overlay-initramfs.bb | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 recipes-core/images/core-image-rorootfs-overlay-initramfs.bb (limited to 'recipes-core') 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" -- cgit v1.2.3 From 878a633a80e67dde0f790cac010fd1fd9dfa9e6c Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 24 Oct 2019 18:49:50 -0500 Subject: udev mount patch to add to blacklist capability --- recipes-core/udev/udev-extraconf/mount.patch | 68 +++++++++++++++++++++++++--- 1 file changed, 61 insertions(+), 7 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/udev/udev-extraconf/mount.patch b/recipes-core/udev/udev-extraconf/mount.patch index 0c62873..1b475f3 100644 --- a/recipes-core/udev/udev-extraconf/mount.patch +++ b/recipes-core/udev/udev-extraconf/mount.patch @@ -1,19 +1,73 @@ -diff -Naru old/mount.sh new/mount.sh ---- old/mount.sh 2019-07-25 13:22:28.209140732 -0500 -+++ new/mount.sh 2019-07-25 14:07:12.797061256 -0500 -@@ -49,6 +49,11 @@ +diff -Naru orig/mount.blacklist new/mount.blacklist +--- orig/mount.blacklist 2019-10-24 17:08:59.796796272 -0500 ++++ new/mount.blacklist 2019-10-24 17:16:31.768782892 -0500 +@@ -3,3 +3,16 @@ + /dev/mtdblock + /dev/md + /dev/dm-* ++# These should all be mounted in fstab or not at all. ++[PARTLABEL=uboot] ++[PARTLABEL=root] ++[PARTLABEL=root1] ++[PARTLABEL=root2] ++[PARTLABEL=uboot] ++[PARTLABEL=oem] ++[PARTLABEL=oem1] ++[PARTLABEL=oem2] ++[PARTLABEL=config] ++[PARTLABEL=config1] ++[PARTLABEL=config2] ++[PARTLABEL=user_data] +diff -Naru orig/mount.sh new/mount.sh +--- orig/mount.sh 2019-10-24 17:09:11.344795931 -0500 ++++ new/mount.sh 2019-10-24 18:11:38.612684994 -0500 +@@ -25,9 +25,32 @@ + fi + + PMOUNT="/usr/bin/pmount" +- +-for line in `grep -h -v ^# /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/*` ++for line in `grep -h -v '^#$' /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/* 2>/dev/null` + do ++ if [[ $line =~ ^\[([^=]*)=([^\]]*)\] ]] ; then ++ fsspectype=${BASH_REMATCH[1]} ++ tmp="$(lsblk -o $fsspectype $DEVNAME | sed -e '1d')" ++ case $fsspectype in ++ PARTLABEL) ++ if [[ ${BASH_REMATCH[2]} == $tmp ]] ; then ++ logger "udev/mount.sh $DEVNAME is blacklisted, ignoring" ++ logger "$line" ++ exit 0 ++ fi ++ ;; ++ ++ PARTUUID) ++ if [[ ${BASH_REMATCH[2]^^} == $tmp ]] ; then ++ logger "udev/mount.sh $DEVNAME is blacklisted, ignoring" ++ logger "$line" ++ exit 0 ++ fi ++ ;; ++ *) ++ logger "[$fsspectype] is unsupported in blacklist -- ignoring blacklist item" ++ ;; ++ esac ++ fi + if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ]; + then + logger "udev/mount.sh" "[$DEVNAME] is blacklisted, ignoring" +@@ -49,6 +72,10 @@ [ -d "/run/media/$name" ] || mkdir -p "/run/media/$name" + if [ "$name" = mmcblk0p1 ] ; then -+ ln -sf /run/media/$name -+ /run/media/card ++ ln -sf /run/media/$name /run/media/card + fi + MOUNT="$MOUNT -o silent" # If filesystemtype is vfat, change the ownership group to 'disk', and -@@ -78,7 +83,11 @@ +@@ -78,7 +105,11 @@ if [ -x "$PMOUNT" ]; then $PMOUNT $DEVNAME 2> /dev/null elif [ -x $MOUNT ]; then -- cgit v1.2.3 From 402c1903028a081049149c2d5926de4981ffe15b Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 25 Oct 2019 12:23:24 -0500 Subject: Remove garbage file --- .../files/.init-readonly-rootfs-overlay-boot.sh.kate-swp | Bin 139 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 recipes-core/initrdscripts/files/.init-readonly-rootfs-overlay-boot.sh.kate-swp (limited to 'recipes-core') diff --git a/recipes-core/initrdscripts/files/.init-readonly-rootfs-overlay-boot.sh.kate-swp b/recipes-core/initrdscripts/files/.init-readonly-rootfs-overlay-boot.sh.kate-swp deleted file mode 100644 index 4a52bfd..0000000 Binary files a/recipes-core/initrdscripts/files/.init-readonly-rootfs-overlay-boot.sh.kate-swp and /dev/null differ -- cgit v1.2.3 From 12ee8f8d7c73aee8193ab2d1663aaf56a9beb8d5 Mon Sep 17 00:00:00 2001 From: John Klug Date: Mon, 28 Oct 2019 11:39:46 -0500 Subject: Fix up logging (/var/log/dmesg) and kernel parameters for initramfs --- .../files/init-readonly-rootfs-overlay-boot.sh | 63 +++++++++++++++------- 1 file changed, 43 insertions(+), 20 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh b/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh index 6ec69ab..545da5c 100755 --- a/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh +++ b/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh @@ -33,9 +33,23 @@ # Preen (-p) is the default # # Additional options exist to specify the init program -# mount options, file system type. root_rwreset="yes" +# mount options, file system type. rootrwreset="yes" # will cause the read/write file system to be erased. # +# shintramfs starts a shell. To continue boot from +# shell: +# +# bash-4.4# export ROOT_MOUNT=/mnt +# bash-4.4# export INIT=/sbin/init +# bash-4.4# exec switch_root $ROOT_MOUNT $INIT +# +# +# U-Boot environment example to add an init overlay parameter: +# +# => printenv args_mmc +# args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype} +# +# => setenv args_mmc 'run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype} rootrwreset=yes' # Enable strict shell mode @@ -106,6 +120,7 @@ read_args() { if rootdev=$(finddevice "${ROOT_RODEVICE}") ; then # Replace the rootfs string with the findfs device result ROOT_RODEVICE="${rootdev}" + log "Actual root device to be used: $ROOT_RODEVICE" fi ;; rootfstype=*) @@ -144,7 +159,7 @@ read_args() { fsck_repair=$optarg case $fsck_repair in force) - if ((${#FSCKOPT)) ; then + if ((${#FSCKOPT})) ; then FSCKOPT+="f" else FSCKOPT="-f" @@ -171,15 +186,18 @@ fatal() { } log() { - echo "rorootfs-overlay: $1" >$CONSOLE + echo "rorootfs-overlay: ${BASH_LINENO[*]}: ${*-""}" >$CONSOLE } early_setup -[ -z "${CONSOLE+x}" ] && CONSOLE="/dev/console" +[ -z "${CONSOLE+x}" ] && CONSOLE="/dev/kmsg" +log "Kernel args are:" +log "$(cat /proc/cmdline)" read_args + mount_and_boot() { mkdir -p $ROOT_MOUNT $ROOT_ROMOUNT $ROOT_RWMOUNT @@ -193,6 +211,7 @@ mount_and_boot() { ROOT_ROMOUNTPARAMS="-t $ROOT_ROFSTYPE $ROOT_ROMOUNTPARAMS" fi else + log "ROOT_RODEVICE: empty: ${ROOT_RODEVICE}" ROOT_ROMOUNTPARAMS="$ROOT_ROMOUNTPARAMS_BIND" fi @@ -200,13 +219,11 @@ mount_and_boot() { mountresult=$? if ((mountresult != 0)) ; then log "Failed root mount (result $mountresult): $mountlog" - log "mounts: $(cat /proc/mounts)" else + log "Mounted root: $MOUNT $ROOT_ROMOUNTPARAMS "$ROOT_ROMOUNT": $mountlog" log "Mounted ro root: $(grep "$ROOT_ROMOUNT" /proc/mounts)" fi - log "Mounted root: $(grep root /proc/mounts)" - # If future init is the same as current file, use $ROOT_ROINIT # Tries to avoid loop to infinity if init is set to current file via # kernel command line @@ -214,7 +231,7 @@ mount_and_boot() { INIT="$ROOT_ROINIT" fi - # find user_data + # find user_data if [[ -z ${ROOT_RWDEVICE} ]] ; then userdata=$(findfs PARTLABEL=user_data) blkid_out=$(blkid $userdata) @@ -228,6 +245,7 @@ mount_and_boot() { ROOT_RWDEVICE="$userdata" fi # Found user_data GPT partition fi # Empty ROOT_RWDEVICE + # Build mount options for read write root file system. # If a read-write device was specified via kernel command line # or partition table, use it, otherwise default to tmpfs. @@ -242,25 +260,26 @@ mount_and_boot() { if ((DO_FSCK == 1)) ; then if log_result=$(fsck $FSCKOPT $ROOT_RWDEVICE 2>&1) ; then - log "OK fsck user_data: fsck $FSCKOPT $ROOT_RWDEVICE: $(fsck $FSCKOPT $ROOT_RWDEVICE 2>&1)" - echo "fsck user_data: $log_result" >/dev/kmsg + log "OK fsck user_data: fsck $FSCKOPT $ROOT_RWDEVICE:" + log "fsck user_data: $log_result" else - log "ERR fsck user_data: fsck $FSCKOPT $ROOT_RWDEVICE: $(fsck $FSCKOPT $ROOT_RWDEVICE 2>&1)" + log "ERR fsck user_data: fsck $FSCKOPT $ROOT_RWDEVICE:" log "$log_result" - # Write fsck to kernel log - echo "ERR fsck user_data: fsck $FSCKOPT $ROOT_RWDEVICE: $(fsck $FSCKOPT $ROOT_RWDEVICE 2>&1)" >/dev/kmsg - echo "$log_result" >/dev/kmsg fi fi + log "user_data: $MOUNT $ROOT_RWMOUNTPARAMS $ROOT_RWMOUNT" # Mount read-write file system into initram root file system if ! $MOUNT $ROOT_RWMOUNTPARAMS $ROOT_RWMOUNT ; then fatal "Could not mount read-write rootfs" fi # Reset read-write file system if specified - if [ "yes" == "$ROOT_RWRESET" -a -n "${ROOT_RWMOUNT}" ]; then + log "ROOT_RWRESET=$ROOT_RWRESET ROOT_RWMOUNT=$ROOT_RWMOUNT" + if [ "yes" == "$ROOT_RWRESET" -a -n "${ROOT_RWMOUNT}" ]; then # JAK + log "Removing user_data files" rm -rf $ROOT_RWMOUNT/* + log "Completed removal of user_data files" fi # Determine which unification file system to use @@ -276,7 +295,6 @@ mount_and_boot() { # Create/Mount overlay root file system case $union_fs_type in "overlay") - log "$(cat /proc/mounts)" mkdir -p $ROOT_RWMOUNT/upperdir $ROOT_RWMOUNT/work if ! $MOUNT -t overlay overlay \ -o "$(printf "%s%s%s" \ @@ -306,17 +324,22 @@ mount_and_boot() { # Move read-only and read-write root file system into the overlay # file system mkdir -p $ROOT_MOUNT/$ROOT_ROMOUNT $ROOT_MOUNT/$ROOT_RWMOUNT + $MOUNT -n --move $ROOT_ROMOUNT ${ROOT_MOUNT}/$ROOT_ROMOUNT $MOUNT -n --move $ROOT_RWMOUNT ${ROOT_MOUNT}/$ROOT_RWMOUNT + if ((DO_STOP)) ; then + fatal "Initramfs Shell mode selected -- bash shell" + fi + $MOUNT -n --move /proc ${ROOT_MOUNT}/proc $MOUNT -n --move /sys ${ROOT_MOUNT}/sys $MOUNT -n --move /dev ${ROOT_MOUNT}/dev - log "overlay: $(grep 'overlay' ${ROOT_MOUNT}/proc/mounts)" + + CONSOLE="${ROOT_MOUNT}/dev/kmsg" + log "Mounted filesystems:" + log "$(cat ${ROOT_MOUNT}/proc/mounts)" cd $ROOT_MOUNT - if ((DO_STOP)) ; then - fatal "Initramfs Shell mode selected -- bash shell" - fi # switch to actual init in the overlay root file system exec switch_root $ROOT_MOUNT $INIT || -- cgit v1.2.3 From dd9e16007c79c7d52198f868d5b16de02448b24c Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 15 Nov 2019 09:43:36 -0600 Subject: addressed build error in migration to gpsd 3.18.1 --- recipes-core/images/mlinux-factory-image.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-factory-image.bb b/recipes-core/images/mlinux-factory-image.bb index 65c1f1f..4afabff 100644 --- a/recipes-core/images/mlinux-factory-image.bb +++ b/recipes-core/images/mlinux-factory-image.bb @@ -90,6 +90,6 @@ 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 libgps24 libgps ntp ntp-utils gpspipe gps-utils" +IMAGE_INSTALL_append = " gpsd libgps ntp ntp-utils gpspipe gps-utils" IMAGE_INSTALL_append = " lxfp uvccapture" -- cgit v1.2.3 From bbdf318b3fe7a16eec94aa527531f1f93e4dee86 Mon Sep 17 00:00:00 2001 From: John Klug Date: Mon, 2 Dec 2019 09:59:17 -0600 Subject: Fix ROOT_RWDEVICE when rootrw is specified as a kernel parameter --- recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'recipes-core') diff --git a/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh b/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh index 545da5c..fccb40f 100755 --- a/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh +++ b/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh @@ -133,7 +133,7 @@ read_args() { ROOT_RWDEVICE=$optarg if rootrwdev="$(finddevice ${ROOT_RWDEVICE})" ; then # Replace the rootfs string with the findfs device result - ROOT_RODEVICE="${rootrwdev}" + ROOT_RWDEVICE="${rootrwdev}" fi ;; rootrwfstype=*) -- cgit v1.2.3 From 5beaf22becf61256e257c0f252692d36ec3b9df2 Mon Sep 17 00:00:00 2001 From: Mykyta Dorokhin Date: Tue, 3 Dec 2019 14:43:56 +0000 Subject: create additional .persistent directory on user_data partition and bind-mount it as /var/persistent. --- .../initrdscripts/files/init-readonly-rootfs-overlay-boot.sh | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'recipes-core') diff --git a/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh b/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh index fccb40f..7cc23bf 100755 --- a/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh +++ b/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh @@ -328,6 +328,13 @@ mount_and_boot() { $MOUNT -n --move $ROOT_ROMOUNT ${ROOT_MOUNT}/$ROOT_ROMOUNT $MOUNT -n --move $ROOT_RWMOUNT ${ROOT_MOUNT}/$ROOT_RWMOUNT + + # Create persistent storage directory and bind-mount it as /var/persistent. + # The directory name starts with "." so "rm -rf" will skip it on read-write file system reset. + mkdir -p ${ROOT_MOUNT}/$ROOT_RWMOUNT/.persistent + mkdir -p ${ROOT_MOUNT}/var/persistent + $MOUNT -n --bind ${ROOT_MOUNT}/$ROOT_RWMOUNT/.persistent ${ROOT_MOUNT}/var/persistent + if ((DO_STOP)) ; then fatal "Initramfs Shell mode selected -- bash shell" fi -- cgit v1.2.3 From 8520e737d78fc56ec603e56027ae5b600f3d6e8a Mon Sep 17 00:00:00 2001 From: Mykyta Dorokhin Date: Thu, 21 Nov 2019 11:56:40 +0200 Subject: u-boot: add u-boot user-space tool to all builds for compatibility with at91 images --- recipes-core/images/mlinux-base-image.bb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-base-image.bb b/recipes-core/images/mlinux-base-image.bb index c8fc0fa..c5ad887 100644 --- a/recipes-core/images/mlinux-base-image.bb +++ b/recipes-core/images/mlinux-base-image.bb @@ -48,14 +48,13 @@ TIME_FEATURES = "tzdata tzdata-africa tzdata-americas tzdata-antarctica tzdata-a # 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 \ " -UPGRADE_FEATURES_append_mtbsp-at91 = "u-boot-linux-utils" - MISC_FEATURES = "minicom lrzsz nano" # Extra stuff to install -- cgit v1.2.3 From 353797264d6a85fb8f446d8d3d15c75faef53b48 Mon Sep 17 00:00:00 2001 From: Harsh Sharma Date: Fri, 20 Dec 2019 16:11:53 -0600 Subject: Changed get-eeprom-device-config to use mts-io-sysfs --- recipes-core/images/mlinux-minimal-image.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-minimal-image.bb b/recipes-core/images/mlinux-minimal-image.bb index 9531c6c..c02d895 100644 --- a/recipes-core/images/mlinux-minimal-image.bb +++ b/recipes-core/images/mlinux-minimal-image.bb @@ -22,7 +22,7 @@ CORE_FEATURES_append = " \ ${CORE_IMAGE_EXTRA_INSTALL} \ mlinux-feed-configs \ useradd \ - get-eeprom-device-config \ + mts-io-sysfs \ " CORE_FEATURES_append_mtbsp-at91 = " mtd-utils mtd-utils-jffs2 fstab-at91" -- cgit v1.2.3 From ed016261befcdc421ae1ac5d28d21066b56f42f2 Mon Sep 17 00:00:00 2001 From: Serhii Kostiuk Date: Wed, 20 May 2020 19:12:33 +0300 Subject: Add MULTITECH_BB to override in bbappends --- recipes-core/images/mlinux-minimal-image.bb | 3 +++ 1 file changed, 3 insertions(+) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-minimal-image.bb b/recipes-core/images/mlinux-minimal-image.bb index c02d895..8b8afa9 100644 --- a/recipes-core/images/mlinux-minimal-image.bb +++ b/recipes-core/images/mlinux-minimal-image.bb @@ -61,6 +61,8 @@ MULTITECH_MTAC_append_mtcdt = " \ kernel-module-mtac-pulse \ kernel-module-mtac-xdot" +MULTITECH_BB = "" + # BSP SPECIFIC UPGRADE FEATURES UPGRADE_FEATURES = "" UPGRADE_FEATURES_mtbsp-at91 = "mtd-utils-static" @@ -70,5 +72,6 @@ IMAGE_INSTALL = "${CORE_FEATURES} \ ${UPGRADE_FEATURES} \ ${MULTITECH_FEATURES} \ ${MULTITECH_MTAC} \ + ${MULTITECH_BB} \ " -- cgit v1.2.3 From c0d9c37a736239bb3365e10c4efff1c3554130ca Mon Sep 17 00:00:00 2001 From: Mykyta Dorokhin Date: Tue, 25 Feb 2020 10:12:31 +0000 Subject: mpower-dev-thud: file://ifplugd.patch patch is no longer required --- recipes-core/busybox/busybox_%.bbappend | 1 - 1 file changed, 1 deletion(-) (limited to 'recipes-core') diff --git a/recipes-core/busybox/busybox_%.bbappend b/recipes-core/busybox/busybox_%.bbappend index 142f08c..7f41456 100644 --- a/recipes-core/busybox/busybox_%.bbappend +++ b/recipes-core/busybox/busybox_%.bbappend @@ -17,7 +17,6 @@ SRC_URI += "file://udhcpd.conf.example \ file://ifplugd.init \ file://eth0.conf \ file://eth1.conf.example \ - file://ifplugd.patch \ " do_install_append () { -- cgit v1.2.3 From d17253d99a9266d521c6386a44f5e85f77b4fe2f Mon Sep 17 00:00:00 2001 From: Mike Nicholson Date: Mon, 9 Mar 2020 02:32:12 -0500 Subject: Add debug utils --- recipes-core/images/mlinux-base-image.bb | 3 +++ 1 file changed, 3 insertions(+) (limited to 'recipes-core') diff --git a/recipes-core/images/mlinux-base-image.bb b/recipes-core/images/mlinux-base-image.bb index 38e246a..e06e754 100644 --- a/recipes-core/images/mlinux-base-image.bb +++ b/recipes-core/images/mlinux-base-image.bb @@ -58,6 +58,8 @@ MULTITECH_FEATURES_append = " \ MISC_FEATURES = "minicom lrzsz nano" +DEBUG_FEATURES = "" + # Extra stuff to install IMAGE_INSTALL_append = " \ kernel-modules \ @@ -66,4 +68,5 @@ IMAGE_INSTALL_append = " \ ${FILESYSTEM_FEATURES} \ ${TIME_FEATURES} \ ${MISC_FEATURES} \ + ${DEBUG_FEATURES} \ " -- cgit v1.2.3 From 64a0f98292a50db63febbc459b242a1fbbfb1708 Mon Sep 17 00:00:00 2001 From: Mike Nicholson Date: Fri, 27 Mar 2020 14:09:48 -0500 Subject: Add discard, nodiratime to maximize longevity --- recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh b/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh index 7cc23bf..199fc17 100755 --- a/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh +++ b/recipes-core/initrdscripts/files/init-readonly-rootfs-overlay-boot.sh @@ -72,11 +72,11 @@ ROOT_RWRESET="no" ROOT_ROFSTYPE="" ROOT_ROMOUNTOPTIONS="bind" -ROOT_ROMOUNTOPTIONS_DEVICE="noatime,nodiratime,ro" +ROOT_ROMOUNTOPTIONS_DEVICE="noatime,nodiratime,discard,ro" ROOT_RWFSTYPE="" ROOT_RWMOUNTOPTIONS="rw,noatime,mode=755 tmpfs" -ROOT_RWMOUNTOPTIONS_DEVICE="rw,noatime" +ROOT_RWMOUNTOPTIONS_DEVICE="rw,noatime,nodiratime,discard" # Arithmetic assignments of 0 are false, and then # script uses set -e, so use let instead. -- cgit v1.2.3 From 7ea5fdf203703d26eac687bafe26f5a6da70901e Mon Sep 17 00:00:00 2001 From: Mike Nicholson Date: Fri, 24 Apr 2020 09:07:03 -0500 Subject: Add startpar --- recipes-core/startpar/startpar_0.64.bb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 recipes-core/startpar/startpar_0.64.bb (limited to 'recipes-core') diff --git a/recipes-core/startpar/startpar_0.64.bb b/recipes-core/startpar/startpar_0.64.bb new file mode 100644 index 0000000..608fe20 --- /dev/null +++ b/recipes-core/startpar/startpar_0.64.bb @@ -0,0 +1,25 @@ +SUMMARY = "run processes in parallel and multiplex their output" +DESCRIPTION = "startpar is used to run multiple run-level scripts in parallel." +HOMEPAGE = "http://savannah.nongnu.org/projects/sysvinit" +SECTION = "base" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +PR = "r0" + +RDEPENDS_${PN} = "sysvinit-inittab" + +SRC_URI = "${SAVANNAH_GNU_MIRROR}/sysvinit/startpar-${PV}.tar.xz" + +# TODO - need to add dependency files + +SRC_URI[md5sum] = "0fe57dcef653d87650133d6d25a90f97" +SRC_URI[sha256sum] = "482a6869a5a5413d305f3073a0d831cca14bf7634554194419ca7015d5dd5731" + +S = "${WORKDIR}/${PN}" + +FILES_${PN} = "${base_sbindir}/startpar" + +do_install_append () { + install -d ${D}${base_sbindir} + install -m 755 ${S}/startpar ${D}${base_sbindir}/ +} -- cgit v1.2.3 From 18299cae14b18fd648c29bbf14db211033fd9068 Mon Sep 17 00:00:00 2001 From: Mike Nicholson Date: Fri, 24 Apr 2020 09:07:48 -0500 Subject: disable bootlog by default to speed up boot --- recipes-core/sysvinit/files/bootlogd | 1 + 1 file changed, 1 insertion(+) create mode 100644 recipes-core/sysvinit/files/bootlogd (limited to 'recipes-core') diff --git a/recipes-core/sysvinit/files/bootlogd b/recipes-core/sysvinit/files/bootlogd new file mode 100644 index 0000000..5780724 --- /dev/null +++ b/recipes-core/sysvinit/files/bootlogd @@ -0,0 +1 @@ +BOOTLOGD_ENABLE=No -- cgit v1.2.3 From 81257c1c0722427128fea79c71a502cad8db9bb1 Mon Sep 17 00:00:00 2001 From: Mike Nicholson Date: Fri, 24 Apr 2020 09:09:39 -0500 Subject: Add new bootlogd default config --- recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'recipes-core') diff --git a/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend b/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend index be33f10..9b7e787 100644 --- a/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend +++ b/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend @@ -4,9 +4,11 @@ SUMMARY_${PN}-start = "Production console" SERIAL_CONSOLES_append_mtcdt = " 115200;ttyGS0" PACKAGES =+ "${PN}-start ${PN}-start-open" FILESEXTRAPATHS_prepend := "${THISDIR}/files:" -SRC_URI += "file://start_getty_open" +SRC_URI += "file://start_getty_open \ + file://bootlogd \ + " -FILES_${PN} = "${sysconfdir}/inittab" +FILES_${PN} = "${sysconfdir}/inittab ${sysconfdir}/default/bootlogd" FILES_${PN}-start = "${base_bindir}/start_getty" FILES_${PN}-start-open = "${base_bindir}/start_getty_open" RCONFLICTS_${PN}-start = "${PN}-start-open" @@ -15,6 +17,8 @@ RDEPENDS_${PN}-start-open = "${PN}" do_install_append() { install -m 0755 ${WORKDIR}/start_getty_open ${D}${base_bindir}/start_getty_open + install -d ${D}{sysconfdir}/default + install -m 0644 ${WORKDIR}/bootlogd ${D}{sysconfdir}/default/ } pkg_postinst_${PN}-start-open() { sed -i 's?^S0:.*?S0:12345:respawn:/bin/start_getty_open 115200 ttyS0?' $D/etc/inittab -- cgit v1.2.3 From 0bddc1c82986fb8eb8ed8cab8ff1368274494765 Mon Sep 17 00:00:00 2001 From: Mike Nicholson Date: Fri, 24 Apr 2020 09:42:50 -0500 Subject: Add startpar init --- recipes-core/sysvinit/files/rc | 193 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100755 recipes-core/sysvinit/files/rc (limited to 'recipes-core') diff --git a/recipes-core/sysvinit/files/rc b/recipes-core/sysvinit/files/rc new file mode 100755 index 0000000..16f1c9c --- /dev/null +++ b/recipes-core/sysvinit/files/rc @@ -0,0 +1,193 @@ +#!/bin/sh +# +# rc This file is responsible for starting/stopping +# services when the runlevel changes. +# +# Optimization feature: +# A startup script is _not_ run when the service was +# running in the previous runlevel and it wasn't stopped +# in the runlevel transition (most Debian services don't +# have K?? links in rc{1,2,3,4,5} ) +# +# Author: Miquel van Smoorenburg +# Bruce Perens +# +# Version: @(#)rc 2.78 07-Nov-1999 miquels@cistron.nl +# + +. /etc/default/rcS +export VERBOSE + +startup_progress() { + step=$(($step + $step_change)) + if [ "$num_steps" != "0" ]; then + progress=$((($step * $progress_size / $num_steps) + $first_step)) + else + progress=$progress_size + fi + #echo "PROGRESS is $progress $runlevel $first_step + ($step of $num_steps) $step_change $progress_size" + #if type psplash-write >/dev/null 2>&1; then + # TMPDIR=/mnt/.psplash psplash-write "PROGRESS $progress" || true + #fi + if [ -e /mnt/.psplash/psplash_fifo ]; then + echo "PROGRESS $progress" > /mnt/.psplash/psplash_fifo + fi +} + + +# +# Start script or program. +# +startup() { + # Handle verbosity + [ "$VERBOSE" = very ] && echo "INIT: Running $@..." + + case "$1" in + *.sh) + # Source shell script for speed. + ( + trap - INT QUIT TSTP + scriptname=$1 + shift + . $scriptname + ) + ;; + *) + "$@" + ;; + esac + startup_progress +} + + # Ignore CTRL-C only in this shell, so we can interrupt subprocesses. + trap ":" INT QUIT TSTP + + # Set onlcr to avoid staircase effect. + stty onlcr 0>&1 + + # Limit stack size for startup scripts + [ "$STACK_SIZE" == "" ] || ulimit -S -s $STACK_SIZE + + # Now find out what the current and what the previous runlevel are. + + runlevel=$RUNLEVEL + # Get first argument. Set new runlevel to this argument. + [ "$1" != "" ] && runlevel=$1 + if [ "$runlevel" = "" ] + then + echo "Usage: $0 " >&2 + exit 1 + fi + previous=$PREVLEVEL + [ "$previous" = "" ] && previous=N + + export runlevel previous + + # Is there an rc directory for this new runlevel? + if [ -d /etc/rc$runlevel.d ] + then + # Find out where in the progress bar the initramfs got to. + PROGRESS_STATE=0 + #if [ -f /dev/.initramfs/progress_state ]; then + # . /dev/.initramfs/progress_state + #fi + + # Split the remaining portion of the progress bar into thirds + progress_size=$(((100 - $PROGRESS_STATE) / 3)) + + case "$runlevel" in + 0|6) + # Count down from -100 to 0 and use the entire bar + first_step=-100 + progress_size=100 + step_change=1 + ;; + S) + # Begin where the initramfs left off and use 2/3 + # of the remaining space + first_step=$PROGRESS_STATE + progress_size=$(($progress_size * 2)) + step_change=1 + ;; + *) + # Begin where rcS left off and use the final 1/3 of + # the space (by leaving progress_size unchanged) + first_step=$(($progress_size * 2 + $PROGRESS_STATE)) + step_change=1 + ;; + esac + + num_steps=0 + for s in /etc/rc$runlevel.d/[SK]*; do + case "${s##/etc/rc$runlevel.d/S??}" in + gdm|xdm|kdm|reboot|halt) + break + ;; + esac + num_steps=$(($num_steps + 1)) + done + step=0 + + # First, run the KILL scripts. + if [ $previous != N ] + then + for i in /etc/rc$runlevel.d/K[0-9][0-9]* + do + # Check if the script is there. + [ ! -f $i ] && continue + + # Stop the service. + startup $i stop + done + fi + + # Now run the START scripts for this runlevel. + case "$runlevel" in + 0|6) + pararg="stop" + ;; + *) + pararg="start" + ;; + esac + + for pri in $(seq -w 99) + do + prilist="" + for i in /etc/rc$runlevel.d/S$pri* + do + [ ! -f $i ] && continue + + if [ $previous != N ] && [ $previous != S ] + then + # + # Find start script in previous runlevel and + # stop script in this runlevel. + # + suffix=${i#/etc/rc$runlevel.d/S[0-9][0-9]} + stop=/etc/rc$runlevel.d/K[0-9][0-9]$suffix + previous_start=/etc/rc$previous.d/S[0-9][0-9]$suffix + # + # If there is a start script in the previous level + # and _no_ stop script in this level, we don't + # have to re-start the service. + # + [ -f $previous_start ] && [ ! -f $stop ] && continue + fi + + file=$(readlink -f -n $i) + [ -f "$file" ] && prilist+="$file " + done + if [ -n "$prilist" ]; then + startpar -a $pararg ${prilist[@]} + fi + done + fi + +#Uncomment to cause psplash to exit manually, otherwise it exits when it sees a VC switch +if [ "x$runlevel" != "xS" ] && [ ! -x /etc/rc${runlevel}.d/S??xserver-nodm ]; then + if type psplash-write >/dev/null 2>&1; then + TMPDIR=/mnt/.psplash psplash-write "QUIT" || true + umount -l /mnt/.psplash + fi +fi -- cgit v1.2.3 From 28c5e303274df54d07d67d4c37c94ea0d444779e Mon Sep 17 00:00:00 2001 From: Andrii Pientsov Date: Thu, 21 May 2020 22:23:50 +0300 Subject: Remove duplicate udev --- recipes-core/udev/eudev/cellular_radios.rules | 82 ------------ recipes-core/udev/eudev/init | 138 --------------------- recipes-core/udev/eudev/mtcap/mtcap.rules | 8 -- .../udev/eudev/mtcdt/accessory_ethernet.rules | 21 ---- recipes-core/udev/eudev/mtcdt/mtcdt.rules | 14 --- recipes-core/udev/eudev/mtr/mtr.rules | 13 -- recipes-core/udev/eudev/mtrv1/mtrv1.rules | 13 -- recipes-core/udev/eudev/udev-cache.default | 5 - recipes-core/udev/eudev_%.bbappend | 21 ---- recipes-core/udev/udev-extraconf/automount.rules | 24 ---- recipes-core/udev/udev-extraconf/mount.patch | 81 ------------ recipes-core/udev/udev-extraconf_%.bbappend | 5 - 12 files changed, 425 deletions(-) delete mode 100644 recipes-core/udev/eudev/cellular_radios.rules delete mode 100644 recipes-core/udev/eudev/init delete mode 100644 recipes-core/udev/eudev/mtcap/mtcap.rules delete mode 100644 recipes-core/udev/eudev/mtcdt/accessory_ethernet.rules delete mode 100644 recipes-core/udev/eudev/mtcdt/mtcdt.rules delete mode 100644 recipes-core/udev/eudev/mtr/mtr.rules delete mode 100644 recipes-core/udev/eudev/mtrv1/mtrv1.rules delete mode 100644 recipes-core/udev/eudev/udev-cache.default delete mode 100644 recipes-core/udev/eudev_%.bbappend delete mode 100644 recipes-core/udev/udev-extraconf/automount.rules delete mode 100644 recipes-core/udev/udev-extraconf/mount.patch delete mode 100644 recipes-core/udev/udev-extraconf_%.bbappend (limited to 'recipes-core') diff --git a/recipes-core/udev/eudev/cellular_radios.rules b/recipes-core/udev/eudev/cellular_radios.rules deleted file mode 100644 index 078f710..0000000 --- a/recipes-core/udev/eudev/cellular_radios.rules +++ /dev/null @@ -1,82 +0,0 @@ -ACTION=="remove", GOTO="mlinux_end" -SUBSYSTEM!="tty", GOTO="mlinux_end" -KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="mlinux_end" - -SUBSYSTEMS=="usb", ENV{ID_IFACE}="$attr{bInterfaceNumber}" -ENV{ID_IFACE}=="", GOTO="mlinux_end" - -# All modem ports -# H5 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="00", SYMLINK+="modem0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="02", SYMLINK+="modem1" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="04", SYMLINK+="modem2" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="06", SYMLINK+="modem3" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="08", SYMLINK+="modem4" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="0a", SYMLINK+="modem5" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="0c", SYMLINK+="modem6" -# LAT3, LVW3 and LEU3 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="00", SYMLINK+="modem0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="02", SYMLINK+="modem1" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="04", SYMLINK+="modem2" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="06", SYMLINK+="modem3" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="08", SYMLINK+="modem4" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="0a", SYMLINK+="modem5" -# EV3 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="00", SYMLINK+="modem0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="01", SYMLINK+="modem1" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="02", SYMLINK+="modem2" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="03", SYMLINK+="modem3" -# H4 -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="00", SYMLINK+="modem0" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="01", SYMLINK+="modem1" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="02", SYMLINK+="modem2" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="03", SYMLINK+="modem3" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="04", SYMLINK+="modem4" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="05", SYMLINK+="modem5" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="06", SYMLINK+="modem6" -# EV2 -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="0028", SYMLINK+="modem$env{ID_PORT}" - -# AT Command ports -# H5: ttyACM0, ttyACM3 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" -# LAT3, LVW3 and LEU3 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" -# EV3: ttyUSB2, ttyUSB3 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1" -# H4: ttyUSB3, ttyUSB4, ttyUSB5 -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="03", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="04", SYMLINK+="modem_at1" -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="05", SYMLINK+="modem_at2" -# EV2: ttyUSB0 -ATTRS{idVendor}=="1199", ATTRS{idProduct}=="0028", ENV{ID_PORT}=="0", SYMLINK+="modem_at0" -# LAT1, LEU1, LVW2: ttyUSB2, ttyUSB3 (port 04 and port 05) -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1201", ENV{ID_IFACE}=="04", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1201", ENV{ID_IFACE}=="05", SYMLINK+="modem_at1" -# LJP1(LE910-JN1), LNA3(LE910-NA1): ttyACM0, ttyACM3 (port 00 and port 03) -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" -# LJP1(LE866) ttyACM0, ttyACM2 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="2300", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="2300", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" -# G3: ttyACM0, ttyACM1 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0022", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0022", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1" -# C2: ttyUSB0, ttyUSB1 (Telit Documentation: Modem Port = USB1, Aux Port = USB0) -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1011", ENV{ID_IFACE}=="01", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1011", ENV{ID_IFACE}=="00", SYMLINK+="modem_at1" -# CATM Telit ME910 -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1100", ENV{ID_IFACE}=="01", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1100", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1" -# CATM Telit ME910 dual USB -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1101", ENV{ID_IFACE}=="01", SYMLINK+="modem_at0" -ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1101", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1" - -# Quectel EG-95 -ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0195", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0" -ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0195", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1" - -LABEL="mlinux_end" diff --git a/recipes-core/udev/eudev/init b/recipes-core/udev/eudev/init deleted file mode 100644 index bd716b0..0000000 --- a/recipes-core/udev/eudev/init +++ /dev/null @@ -1,138 +0,0 @@ -#!/bin/sh - -### BEGIN INIT INFO -# Provides: udev -# Required-Start: mountvirtfs -# Required-Stop: -# Default-Start: S -# Default-Stop: -# Short-Description: Start udevd, populate /dev and load drivers. -### END INIT INFO - -export TZ=/etc/localtime - -[ -d /sys/class ] || exit 1 -[ -r /proc/mounts ] || exit 1 -[ -x @UDEVD@ ] || exit 1 -[ -f /etc/default/udev-cache ] && . /etc/default/udev-cache -[ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf -[ -f /etc/default/rcS ] && . /etc/default/rcS - -readfiles () { - READDATA="" - for filename in $@; do - if [ -r $filename ]; then - while read line; do - READDATA="$READDATA$line" - done < $filename - fi - done -} - -kill_udevd () { - pid=`pidof -x udevd` - [ -n "$pid" ] && kill $pid -} - -case "$1" in - start) - export ACTION=add - # propagate /dev from /sys - echo "Starting udev" - - # Check for requireed devtmpfs before trying to start udev and - # mount a no-existant fs. - if ! grep -q devtmpfs /proc/filesystems - then - echo "Missing devtmpfs, which is required for udev to run"; - echo "Halting..." - halt - fi - # mount the devtmpfs on /dev, if not already done - LANG=C awk '$2 == "/dev" && ($3 == "devtmpfs") { exit 1 }' /proc/mounts && { - mount -n -o mode=0755 -t devtmpfs none "/dev" - } - [ -e /dev/pts ] || mkdir -m 0755 /dev/pts - [ -e /dev/shm ] || mkdir -m 1777 /dev/shm - # the automount rule for udev needs /tmp directory available, as /tmp is a symlink - # to /var/tmp which in turn is a symlink to /var/volatile/tmp, we need to make sure - # /var/volatile/tmp directory to be available. - mkdir -p /var/volatile/tmp - - # Cache handling. - # A list of files which are used as a criteria to judge whether the udev cache could be reused. - CMP_FILE_LIST="/proc/version /proc/cmdline /proc/devices /proc/atags" - if [ "$DEVCACHE" != "" ]; then - if [ -e $DEVCACHE ]; then - readfiles $CMP_FILE_LIST - NEWDATA="$READDATA" - readfiles /etc/udev/cache.data - OLDDATA="$READDATA" - if [ "$OLDDATA" = "$NEWDATA" ]; then - (cd /; tar xf $DEVCACHE > /dev/null 2>&1) - not_first_boot=1 - [ "$VERBOSE" != "no" ] && echo "udev: using cache file $DEVCACHE" - [ -e /dev/shm/udev.cache ] && rm -f /dev/shm/udev.cache - else - # Output detailed reason why the cached /dev is not used - if [ "$VERBOSE" != "no" ]; then - echo "udev: udev cache not used" - echo "udev: we use $CMP_FILE_LIST as criteria to judge whether the cache /dev could be resued" - echo "udev: olddata: $OLDDATA" - echo "udev: newdata: $NEWDATA" - fi - echo "$NEWDATA" > /dev/shm/udev.cache - fi - else - if [ "$ROOTFS_READ_ONLY" != "yes" ]; then - # If rootfs is not read-only, it's possible that a new udev cache would be generated; - # otherwise, we do not bother to read files. - readfiles $CMP_FILE_LIST - echo "$READDATA" > /dev/shm/udev.cache - fi - fi - fi - - # make_extra_nodes - kill_udevd > "/dev/null" 2>&1 - - # trigger the sorted events - echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug - @UDEVD@ -d - - udevadm control --env=STARTUP=1 - if [ "$not_first_boot" != "" ];then - if [ "$PROBE_PLATFORM_BUS" != "yes" ]; then - PLATFORM_BUS_NOMATCH="--subsystem-nomatch=platform" - else - PLATFORM_BUS_NOMATCH="" - fi - udevadm trigger --action=add --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus --subsystem-nomatch=graphics --subsystem-nomatch=backlight --subsystem-nomatch=video4linux $PLATFORM_BUS_NOMATCH - (udevadm settle --timeout=10; udevadm control --env=STARTUP=)& - else - udevadm trigger --action=add - udevadm settle - fi - ;; - stop) - echo "Stopping udevd" - start-stop-daemon --stop --name udevd --quiet - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - status) - pid=`pidof -x udevd` - if [ -n "$pid" ]; then - echo "udevd (pid $pid) is running ..." - else - echo "udevd is stopped" - fi - ;; - *) - echo "Usage: $0 {start|stop|status|restart}" - exit 1 -esac -exit 0 diff --git a/recipes-core/udev/eudev/mtcap/mtcap.rules b/recipes-core/udev/eudev/mtcap/mtcap.rules deleted file mode 100644 index a0dc9fb..0000000 --- a/recipes-core/udev/eudev/mtcap/mtcap.rules +++ /dev/null @@ -1,8 +0,0 @@ -ACTION=="remove", GOTO="mlinux_end" -SUBSYSTEM!="tty", GOTO="mlinux_end" -KERNEL!="ttyXRUSB[0-9]*", GOTO="mlinux_end" - -SUBSYSTEMS=="usb", ENV{ID_IFACE}="$attr{bInterfaceNumber}" -ENV{ID_IFACE}=="", GOTO="mlinux_end" - -LABEL="mlinux_end" diff --git a/recipes-core/udev/eudev/mtcdt/accessory_ethernet.rules b/recipes-core/udev/eudev/mtcdt/accessory_ethernet.rules deleted file mode 100644 index 376486b..0000000 --- a/recipes-core/udev/eudev/mtcdt/accessory_ethernet.rules +++ /dev/null @@ -1,21 +0,0 @@ -#To add new rule for new device you have to run (in case if you want to add eth1 interface) -#admin@mtcdt:~# udevadm info --attribute-walk --path=/sys/class/net/eth1 -# looking at device '/devices/ahb.0/700000.ehci/usb1/1-2/1-2.1/1-2.1.1/1-2.1.1:1.0/net/eth1': -# KERNEL=="eth1" -# SUBSYSTEM=="net" -# DRIVER=="" -# ATTR{mtu}=="1500" -# ATTR{type}=="1" -# ........... -# ........... - -# looking at parent device '/devices/ahb.0/700000.ehci/usb1/1-2/1-2.1/1-2.1.1/1-2.1.1:1.0': -# KERNELS=="1-2.1.1:1.0" <------------------- extract this record to add to the rule -# SUBSYSTEMS=="usb" -# DRIVERS=="smsc75xx" -# ATTRS{bInterfaceClass}=="ff" -# ATTRS{bInterfaceSubClass}=="00" -# ........... - -KERNELS=="1-2.1.1:1.0", SUBSYSTEMS=="usb", DRIVERS=="smsc75xx", NAME="eth1" -KERNELS=="1-2.1.2:1.0", SUBSYSTEMS=="usb", DRIVERS=="smsc75xx", NAME="eth2" diff --git a/recipes-core/udev/eudev/mtcdt/mtcdt.rules b/recipes-core/udev/eudev/mtcdt/mtcdt.rules deleted file mode 100644 index 5d528e6..0000000 --- a/recipes-core/udev/eudev/mtcdt/mtcdt.rules +++ /dev/null @@ -1,14 +0,0 @@ -ACTION=="remove", GOTO="mlinux_end" -SUBSYSTEM!="tty", GOTO="mlinux_end" -KERNEL!="ttyXRUSB[0-9]*", GOTO="mlinux_end" - -SUBSYSTEMS=="usb", ENV{ID_IFACE}="$attr{bInterfaceNumber}" -ENV{ID_IFACE}=="", GOTO="mlinux_end" - -# Accessory Ports -ATTRS{idVendor}=="04e2", ATTRS{idProduct}=="1412", ENV{ID_IFACE}=="00", SYMLINK+="ttyAP1" -ATTRS{idVendor}=="04e2", ATTRS{idProduct}=="1414", ENV{ID_IFACE}=="00", SYMLINK+="ttyAP1" -ATTRS{idVendor}=="04e2", ATTRS{idProduct}=="1412", ENV{ID_IFACE}=="02", SYMLINK+="ttyAP2" -ATTRS{idVendor}=="04e2", ATTRS{idProduct}=="1414", ENV{ID_IFACE}=="02", SYMLINK+="ttyAP2" - -LABEL="mlinux_end" diff --git a/recipes-core/udev/eudev/mtr/mtr.rules b/recipes-core/udev/eudev/mtr/mtr.rules deleted file mode 100644 index 239a846..0000000 --- a/recipes-core/udev/eudev/mtr/mtr.rules +++ /dev/null @@ -1,13 +0,0 @@ -ACTION=="remove", GOTO="mlinux_end" -SUBSYSTEM!="tty", GOTO="mlinux_end" -KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*|ttyXRUSB[0-9]*|ttyS*", GOTO="mlinux_end" - -SUBSYSTEMS=="usb", ENV{ID_IFACE}="$attr{bInterfaceNumber}" -ENV{ID_IFACE}=="", GOTO="mlinux_end" - -# mtr revA: bluetooth on exar chip (ACM0, iface 0) -ATTRS{idVendor}=="04e2", ATTRS{idProduct}=="1412", ENV{ID_IFACE}=="00", SYMLINK+="bt" -# mtr revA: external serial on exar chip (ACM1, iface 2) -ATTRS{idVendor}=="04e2", ATTRS{idProduct}=="1412", ENV{ID_IFACE}=="02", SYMLINK+="ext_serial" - -LABEL="mlinux_end" diff --git a/recipes-core/udev/eudev/mtrv1/mtrv1.rules b/recipes-core/udev/eudev/mtrv1/mtrv1.rules deleted file mode 100644 index 239a846..0000000 --- a/recipes-core/udev/eudev/mtrv1/mtrv1.rules +++ /dev/null @@ -1,13 +0,0 @@ -ACTION=="remove", GOTO="mlinux_end" -SUBSYSTEM!="tty", GOTO="mlinux_end" -KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*|ttyXRUSB[0-9]*|ttyS*", GOTO="mlinux_end" - -SUBSYSTEMS=="usb", ENV{ID_IFACE}="$attr{bInterfaceNumber}" -ENV{ID_IFACE}=="", GOTO="mlinux_end" - -# mtr revA: bluetooth on exar chip (ACM0, iface 0) -ATTRS{idVendor}=="04e2", ATTRS{idProduct}=="1412", ENV{ID_IFACE}=="00", SYMLINK+="bt" -# mtr revA: external serial on exar chip (ACM1, iface 2) -ATTRS{idVendor}=="04e2", ATTRS{idProduct}=="1412", ENV{ID_IFACE}=="02", SYMLINK+="ext_serial" - -LABEL="mlinux_end" diff --git a/recipes-core/udev/eudev/udev-cache.default b/recipes-core/udev/eudev/udev-cache.default deleted file mode 100644 index b1aa63f..0000000 --- a/recipes-core/udev/eudev/udev-cache.default +++ /dev/null @@ -1,5 +0,0 @@ -# Default for /etc/init.d/udev - -# Comment this out to disable device cache -#DEVCACHE="/etc/dev.tar" -PROBE_PLATFORM_BUS="yes" diff --git a/recipes-core/udev/eudev_%.bbappend b/recipes-core/udev/eudev_%.bbappend deleted file mode 100644 index cde2f10..0000000 --- a/recipes-core/udev/eudev_%.bbappend +++ /dev/null @@ -1,21 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:" - -PR .= ".mlinux4" - -# add custom rules for persistent modem device names -SRC_URI += " file://cellular_radios.rules \ - file://${MACHINE}.rules \ - " -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SRC_URI_append_mtcdt = " file://accessory_ethernet.rules \ - " - -do_install_append() { - install -m 644 ${WORKDIR}/cellular_radios.rules ${D}${sysconfdir}/udev/rules.d/ - install -m 644 ${WORKDIR}/${MACHINE}.rules ${D}${sysconfdir}/udev/rules.d/ -} - -do_install_append_mtcdt() { - install -m 644 ${WORKDIR}/accessory_ethernet.rules ${D}${sysconfdir}/udev/rules.d/ -} diff --git a/recipes-core/udev/udev-extraconf/automount.rules b/recipes-core/udev/udev-extraconf/automount.rules deleted file mode 100644 index b4a8f22..0000000 --- a/recipes-core/udev/udev-extraconf/automount.rules +++ /dev/null @@ -1,24 +0,0 @@ -# There are a number of modifiers that are allowed to be used in some -# of the different fields. They provide the following subsitutions: -# -# %n the "kernel number" of the device. -# For example, 'sda3' has a "kernel number" of '3' -# %e the smallest number for that name which does not matches an existing node -# %k the kernel name for the device -# %M the kernel major number for the device -# %m the kernel minor number for the device -# %b the bus id for the device -# %c the string returned by the PROGRAM -# %s{filename} the content of a sysfs attribute -# %% the '%' char itself -# - -SUBSYSTEM!="block", GOTO="automount_end" -# only mount SD cards and mass storage devices -KERNEL!="sd[a-z][0-9]*|mmcblk[0-9]p[0-9]*", GOTO="automount_end" - -# Media automounting -SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh" -SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh" - -LABEL="automount_end" diff --git a/recipes-core/udev/udev-extraconf/mount.patch b/recipes-core/udev/udev-extraconf/mount.patch deleted file mode 100644 index 1b475f3..0000000 --- a/recipes-core/udev/udev-extraconf/mount.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff -Naru orig/mount.blacklist new/mount.blacklist ---- orig/mount.blacklist 2019-10-24 17:08:59.796796272 -0500 -+++ new/mount.blacklist 2019-10-24 17:16:31.768782892 -0500 -@@ -3,3 +3,16 @@ - /dev/mtdblock - /dev/md - /dev/dm-* -+# These should all be mounted in fstab or not at all. -+[PARTLABEL=uboot] -+[PARTLABEL=root] -+[PARTLABEL=root1] -+[PARTLABEL=root2] -+[PARTLABEL=uboot] -+[PARTLABEL=oem] -+[PARTLABEL=oem1] -+[PARTLABEL=oem2] -+[PARTLABEL=config] -+[PARTLABEL=config1] -+[PARTLABEL=config2] -+[PARTLABEL=user_data] -diff -Naru orig/mount.sh new/mount.sh ---- orig/mount.sh 2019-10-24 17:09:11.344795931 -0500 -+++ new/mount.sh 2019-10-24 18:11:38.612684994 -0500 -@@ -25,9 +25,32 @@ - fi - - PMOUNT="/usr/bin/pmount" -- --for line in `grep -h -v ^# /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/*` -+for line in `grep -h -v '^#$' /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/* 2>/dev/null` - do -+ if [[ $line =~ ^\[([^=]*)=([^\]]*)\] ]] ; then -+ fsspectype=${BASH_REMATCH[1]} -+ tmp="$(lsblk -o $fsspectype $DEVNAME | sed -e '1d')" -+ case $fsspectype in -+ PARTLABEL) -+ if [[ ${BASH_REMATCH[2]} == $tmp ]] ; then -+ logger "udev/mount.sh $DEVNAME is blacklisted, ignoring" -+ logger "$line" -+ exit 0 -+ fi -+ ;; -+ -+ PARTUUID) -+ if [[ ${BASH_REMATCH[2]^^} == $tmp ]] ; then -+ logger "udev/mount.sh $DEVNAME is blacklisted, ignoring" -+ logger "$line" -+ exit 0 -+ fi -+ ;; -+ *) -+ logger "[$fsspectype] is unsupported in blacklist -- ignoring blacklist item" -+ ;; -+ esac -+ fi - if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ]; - then - logger "udev/mount.sh" "[$DEVNAME] is blacklisted, ignoring" -@@ -49,6 +72,10 @@ - - [ -d "/run/media/$name" ] || mkdir -p "/run/media/$name" - -+ if [ "$name" = mmcblk0p1 ] ; then -+ ln -sf /run/media/$name /run/media/card -+ fi -+ - MOUNT="$MOUNT -o silent" - - # If filesystemtype is vfat, change the ownership group to 'disk', and -@@ -78,7 +105,11 @@ - if [ -x "$PMOUNT" ]; then - $PMOUNT $DEVNAME 2> /dev/null - elif [ -x $MOUNT ]; then -+ if [[ $ID_FS_TYPE =~ fat ]] ; then -+ $MOUNT -o umask=002,gid=disk $DEVNAME 2> /dev/null -+ else - $MOUNT $DEVNAME 2> /dev/null -+ fi - fi - - # If the device isn't mounted at this point, it isn't diff --git a/recipes-core/udev/udev-extraconf_%.bbappend b/recipes-core/udev/udev-extraconf_%.bbappend deleted file mode 100644 index 708a07c..0000000 --- a/recipes-core/udev/udev-extraconf_%.bbappend +++ /dev/null @@ -1,5 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -PR = "m1" - -SRC_URI += "file://mount.patch" -- cgit v1.2.3 From 37b0bbd8eadd94b93059c8309300e9eea85607e3 Mon Sep 17 00:00:00 2001 From: Andrii Pientsov Date: Sat, 23 May 2020 10:11:35 +0300 Subject: Update mlinux-scripts. Leave only common scripts. --- .../mlinux-scripts-1.2/mlinux-firmware-upgrade | 69 ---------------------- recipes-core/mlinux-scripts/mlinux-scripts.inc | 8 --- recipes-core/mlinux-scripts/mlinux-scripts_1.2.bb | 2 +- 3 files changed, 1 insertion(+), 78 deletions(-) delete mode 100755 recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-firmware-upgrade (limited to 'recipes-core') diff --git a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-firmware-upgrade b/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-firmware-upgrade deleted file mode 100755 index a377309..0000000 --- a/recipes-core/mlinux-scripts/mlinux-scripts-1.2/mlinux-firmware-upgrade +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash -dofile=/var/volatile/do_flash_upgrade - -if [ $# != 1 ]; then - echo "Usage: $0 upgrade.bin" - exit 1 -fi - -set -e -upgrade=$1 - -mkdir -p /var/volatile -cd /var/volatile - -# make sure firmware is for this device -hw_version=$(cat /sys/devices/platform/mts-io/hw-version) -firmware_model=$(tar -xO -f $upgrade model) -shopt -s nocasematch -if [[ ! "$hw_version" =~ ^$firmware_model- ]]; then - logger -s -t firmware_upgrade "Wrong firmware for this hardware" - logger -s -t firmware_upgrade "hw version: $hw_version" - logger -s -t firmware_upgrade "firmware model: $firmware_model" - exit 1 -fi - -files=(bstrap.bin uboot.bin uImage.bin config.jffs2 oem.jffs2 rootfs.jffs2 install.sh) - -tobeflashed=0 -# verify all MD5 sums -for (( i = 0; i < ${#files[@]}; i++ )); do - file=${files[i]} - # if the file is in the tar, md5sum it - if tar -t -f $upgrade | grep -F -q "$file"; then - logger -s -t firmware_upgrade "Checking MD5 for $file..." - if ! tar -x -f $upgrade $file.md5; then - logger -s -t firmware_upgrade "MD5 is not found for the $file, upgrade aborted" - exit 1 - fi - if ! tar -xO -f $upgrade $file | md5sum -c $file.md5; then - logger -s -t firmware_upgrade "MD5 check failed, upgrade aborted" - exit 1 - fi - tobeflashed=1 - fi -done - -if (( $tobeflashed )); then - mkdir -p /var/volatile/flash-upgrade - mv -f $upgrade /var/volatile/flash-upgrade/upgrade.bin - touch "${dofile}" - chown "root:root" "${dofile}" || true - uid=$(stat -c %u "${dofile}") || true - result=$? - if ((result != 0)) ; then - logger -s -t firmware_upgrade "Cannot create ${dofile}" - exit 1 - fi - if ((uid != 0)) ; then - logger -s -t firmware_upgrade "Cannot set ownership of ${dofile} to root" - exit 1 - fi - logger -s -t firmware_upgrade "Rebooting" - sleep 1 - reboot - exit 0 -else - logger -s -t firmware_upgrade "Nothing to be flashed!" - exit 1 -fi diff --git a/recipes-core/mlinux-scripts/mlinux-scripts.inc b/recipes-core/mlinux-scripts/mlinux-scripts.inc index f4cfbee..afdc5f8 100644 --- a/recipes-core/mlinux-scripts/mlinux-scripts.inc +++ b/recipes-core/mlinux-scripts/mlinux-scripts.inc @@ -13,10 +13,6 @@ SRC_URI = "file://mlinux-wifi-ap \ file://mlinux-cell-router \ file://mlinux-cell-radio-ready \ " -SRC_URI_append_mtbsp-at91 = " \ - file://mlinux-firmware-upgrade \ -" - do_install() { install -d ${D}${sbindir} ${D}${sbindir} @@ -28,7 +24,3 @@ do_install() { install -m 755 ${WORKDIR}/mlinux-cell-router ${D}${sbindir} install -m 755 ${WORKDIR}/mlinux-cell-radio-ready ${D}${sbindir} } - -do_install_append_mtbsp-at91() { - install -m 755 ${WORKDIR}/mlinux-firmware-upgrade ${D}${sbindir} -} diff --git a/recipes-core/mlinux-scripts/mlinux-scripts_1.2.bb b/recipes-core/mlinux-scripts/mlinux-scripts_1.2.bb index 05c1b84..43dc162 100644 --- a/recipes-core/mlinux-scripts/mlinux-scripts_1.2.bb +++ b/recipes-core/mlinux-scripts/mlinux-scripts_1.2.bb @@ -2,6 +2,6 @@ DESCRIPTION = "Scripts to easily get started with common mLinux use cases" require mlinux-scripts.inc -PR = "r1" +PR = "r2" S = "${WORKDIR}/mlinux-scripts-${PV}" -- cgit v1.2.3 From 9b7896b21123f5b7d7aad70d8aef6d65103aee50 Mon Sep 17 00:00:00 2001 From: Serhii Voloshynov Date: Wed, 29 Jan 2020 09:59:59 +0200 Subject: remove shared-mime-info. decrease the image size by 1MB --- recipes-core/glib-2.0/glib-2.0_%.bbappend | 1 + 1 file changed, 1 insertion(+) create mode 100644 recipes-core/glib-2.0/glib-2.0_%.bbappend (limited to 'recipes-core') diff --git a/recipes-core/glib-2.0/glib-2.0_%.bbappend b/recipes-core/glib-2.0/glib-2.0_%.bbappend new file mode 100644 index 0000000..b7691c7 --- /dev/null +++ b/recipes-core/glib-2.0/glib-2.0_%.bbappend @@ -0,0 +1 @@ +RRECOMMENDS_${PN}_remove += "shared-mime-info" \ No newline at end of file -- cgit v1.2.3 From 942e7ba576a0a34f0ac9548c1c05f0d4de4955d2 Mon Sep 17 00:00:00 2001 From: Patrick Murphy Date: Mon, 25 May 2020 16:22:14 -0500 Subject: iterated the version on reset-handler to 1.1 --- recipes-core/multitech/reset-handler_1.0.bb | 30 ----------------------------- recipes-core/multitech/reset-handler_1.1.bb | 30 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 30 deletions(-) delete mode 100644 recipes-core/multitech/reset-handler_1.0.bb create mode 100644 recipes-core/multitech/reset-handler_1.1.bb (limited to 'recipes-core') diff --git a/recipes-core/multitech/reset-handler_1.0.bb b/recipes-core/multitech/reset-handler_1.0.bb deleted file mode 100644 index 39abaab..0000000 --- a/recipes-core/multitech/reset-handler_1.0.bb +++ /dev/null @@ -1,30 +0,0 @@ -DESCRIPTION = "Default reset button handler" -SECTION = "base" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" -PR = "r1" -RDEPENDS_${PN} += "bash" - -inherit update-rc.d - -INITSCRIPT_NAME = "reset-handler" -INITSCRIPT_PARAMS = "start 95 2 3 4 5 ." -CONFFILES_${PN} = "${sysconfdir}/default/reset-handler" - -SRC_URI = "\ - file://reset-handler.sh \ - file://reset-handler.init \ - file://reset-handler.default \ -" - -do_install () { - install -d ${D}${sbindir} - install -m 0755 ${WORKDIR}/reset-handler.sh ${D}${sbindir}/reset-handler - - # init script - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/reset-handler.init ${D}${sysconfdir}/init.d/reset-handler - - install -d ${D}${sysconfdir}/default - install -m 0644 ${WORKDIR}/reset-handler.default ${D}${sysconfdir}/default/reset-handler -} diff --git a/recipes-core/multitech/reset-handler_1.1.bb b/recipes-core/multitech/reset-handler_1.1.bb new file mode 100644 index 0000000..39abaab --- /dev/null +++ b/recipes-core/multitech/reset-handler_1.1.bb @@ -0,0 +1,30 @@ +DESCRIPTION = "Default reset button handler" +SECTION = "base" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" +PR = "r1" +RDEPENDS_${PN} += "bash" + +inherit update-rc.d + +INITSCRIPT_NAME = "reset-handler" +INITSCRIPT_PARAMS = "start 95 2 3 4 5 ." +CONFFILES_${PN} = "${sysconfdir}/default/reset-handler" + +SRC_URI = "\ + file://reset-handler.sh \ + file://reset-handler.init \ + file://reset-handler.default \ +" + +do_install () { + install -d ${D}${sbindir} + install -m 0755 ${WORKDIR}/reset-handler.sh ${D}${sbindir}/reset-handler + + # init script + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/reset-handler.init ${D}${sysconfdir}/init.d/reset-handler + + install -d ${D}${sysconfdir}/default + install -m 0644 ${WORKDIR}/reset-handler.default ${D}${sysconfdir}/default/reset-handler +} -- cgit v1.2.3 From 683182b8eb2fa4cee10369d068d88084864d8be9 Mon Sep 17 00:00:00 2001 From: Patrick Murphy Date: Thu, 4 Jun 2020 06:43:14 -0500 Subject: modified recipe to utilize commissioning init file --- recipes-core/lighttpd/lighttpd_1.4.48.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'recipes-core') diff --git a/recipes-core/lighttpd/lighttpd_1.4.48.bb b/recipes-core/lighttpd/lighttpd_1.4.48.bb index 0b9897a..a6b5d60 100644 --- a/recipes-core/lighttpd/lighttpd_1.4.48.bb +++ b/recipes-core/lighttpd/lighttpd_1.4.48.bb @@ -52,7 +52,7 @@ EXTRA_OECONF = " \ --disable-static \ " -inherit useradd autotools pkgconfig update-rc.d gettext systemd +inherit useradd autotools pkgconfig gettext systemd INITSCRIPT_NAME = "lighttpd" INITSCRIPT_PARAMS = "defaults 60 40" -- cgit v1.2.3 From fcb482c89d0966f26d7c8384e9986199b5650c95 Mon Sep 17 00:00:00 2001 From: Andrii Pientsov Date: Mon, 15 Jun 2020 16:41:27 +0300 Subject: Refactoring udev rules. --- recipes-core/udev/eudev/cellular_radios.rules | 82 ++++++++++++++ recipes-core/udev/eudev/init | 138 +++++++++++++++++++++++ recipes-core/udev/eudev/udev-cache.default | 5 + recipes-core/udev/eudev_%.bbappend | 14 +++ recipes-core/udev/udev-extraconf/automount.rules | 24 ++++ recipes-core/udev/udev-extraconf/mount.patch | 81 +++++++++++++ recipes-core/udev/udev-extraconf_%.bbappend | 5 + 7 files changed, 349 insertions(+) create mode 100644 recipes-core/udev/eudev/cellular_radios.rules create mode 100644 recipes-core/udev/eudev/init create mode 100644 recipes-core/udev/eudev/udev-cache.default create mode 100644 recipes-core/udev/eudev_%.bbappend create mode 100644 recipes-core/udev/udev-extraconf/automount.rules create mode 100644 recipes-core/udev/udev-extraconf/mount.patch create mode 100644 recipes-core/udev/udev-extraconf_%.bbappend (limited to 'recipes-core') diff --git a/recipes-core/udev/eudev/cellular_radios.rules b/recipes-core/udev/eudev/cellular_radios.rules new file mode 100644 index 0000000..078f710 --- /dev/null +++ b/recipes-core/udev/eudev/cellular_radios.rules @@ -0,0 +1,82 @@ +ACTION=="remove", GOTO="mlinux_end" +SUBSYSTEM!="tty", GOTO="mlinux_end" +KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="mlinux_end" + +SUBSYSTEMS=="usb", ENV{ID_IFACE}="$attr{bInterfaceNumber}" +ENV{ID_IFACE}=="", GOTO="mlinux_end" + +# All modem ports +# H5 +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="00", SYMLINK+="modem0" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="02", SYMLINK+="modem1" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="04", SYMLINK+="modem2" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="06", SYMLINK+="modem3" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="08", SYMLINK+="modem4" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="0a", SYMLINK+="modem5" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="0c", SYMLINK+="modem6" +# LAT3, LVW3 and LEU3 +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="00", SYMLINK+="modem0" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="02", SYMLINK+="modem1" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="04", SYMLINK+="modem2" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="06", SYMLINK+="modem3" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="08", SYMLINK+="modem4" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="0a", SYMLINK+="modem5" +# EV3 +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="00", SYMLINK+="modem0" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="01", SYMLINK+="modem1" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="02", SYMLINK+="modem2" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="03", SYMLINK+="modem3" +# H4 +ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="00", SYMLINK+="modem0" +ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="01", SYMLINK+="modem1" +ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="02", SYMLINK+="modem2" +ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="03", SYMLINK+="modem3" +ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="04", SYMLINK+="modem4" +ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="05", SYMLINK+="modem5" +ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="06", SYMLINK+="modem6" +# EV2 +ATTRS{idVendor}=="1199", ATTRS{idProduct}=="0028", SYMLINK+="modem$env{ID_PORT}" + +# AT Command ports +# H5: ttyACM0, ttyACM3 +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" +# LAT3, LVW3 and LEU3 +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" +# EV3: ttyUSB2, ttyUSB3 +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1" +# H4: ttyUSB3, ttyUSB4, ttyUSB5 +ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="03", SYMLINK+="modem_at0" +ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="04", SYMLINK+="modem_at1" +ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="05", SYMLINK+="modem_at2" +# EV2: ttyUSB0 +ATTRS{idVendor}=="1199", ATTRS{idProduct}=="0028", ENV{ID_PORT}=="0", SYMLINK+="modem_at0" +# LAT1, LEU1, LVW2: ttyUSB2, ttyUSB3 (port 04 and port 05) +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1201", ENV{ID_IFACE}=="04", SYMLINK+="modem_at0" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1201", ENV{ID_IFACE}=="05", SYMLINK+="modem_at1" +# LJP1(LE910-JN1), LNA3(LE910-NA1): ttyACM0, ttyACM3 (port 00 and port 03) +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" +# LJP1(LE866) ttyACM0, ttyACM2 +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="2300", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="2300", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" +# G3: ttyACM0, ttyACM1 +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0022", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0022", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1" +# C2: ttyUSB0, ttyUSB1 (Telit Documentation: Modem Port = USB1, Aux Port = USB0) +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1011", ENV{ID_IFACE}=="01", SYMLINK+="modem_at0" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1011", ENV{ID_IFACE}=="00", SYMLINK+="modem_at1" +# CATM Telit ME910 +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1100", ENV{ID_IFACE}=="01", SYMLINK+="modem_at0" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1100", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1" +# CATM Telit ME910 dual USB +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1101", ENV{ID_IFACE}=="01", SYMLINK+="modem_at0" +ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1101", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1" + +# Quectel EG-95 +ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0195", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0" +ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0195", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1" + +LABEL="mlinux_end" diff --git a/recipes-core/udev/eudev/init b/recipes-core/udev/eudev/init new file mode 100644 index 0000000..bd716b0 --- /dev/null +++ b/recipes-core/udev/eudev/init @@ -0,0 +1,138 @@ +#!/bin/sh + +### BEGIN INIT INFO +# Provides: udev +# Required-Start: mountvirtfs +# Required-Stop: +# Default-Start: S +# Default-Stop: +# Short-Description: Start udevd, populate /dev and load drivers. +### END INIT INFO + +export TZ=/etc/localtime + +[ -d /sys/class ] || exit 1 +[ -r /proc/mounts ] || exit 1 +[ -x @UDEVD@ ] || exit 1 +[ -f /etc/default/udev-cache ] && . /etc/default/udev-cache +[ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf +[ -f /etc/default/rcS ] && . /etc/default/rcS + +readfiles () { + READDATA="" + for filename in $@; do + if [ -r $filename ]; then + while read line; do + READDATA="$READDATA$line" + done < $filename + fi + done +} + +kill_udevd () { + pid=`pidof -x udevd` + [ -n "$pid" ] && kill $pid +} + +case "$1" in + start) + export ACTION=add + # propagate /dev from /sys + echo "Starting udev" + + # Check for requireed devtmpfs before trying to start udev and + # mount a no-existant fs. + if ! grep -q devtmpfs /proc/filesystems + then + echo "Missing devtmpfs, which is required for udev to run"; + echo "Halting..." + halt + fi + # mount the devtmpfs on /dev, if not already done + LANG=C awk '$2 == "/dev" && ($3 == "devtmpfs") { exit 1 }' /proc/mounts && { + mount -n -o mode=0755 -t devtmpfs none "/dev" + } + [ -e /dev/pts ] || mkdir -m 0755 /dev/pts + [ -e /dev/shm ] || mkdir -m 1777 /dev/shm + # the automount rule for udev needs /tmp directory available, as /tmp is a symlink + # to /var/tmp which in turn is a symlink to /var/volatile/tmp, we need to make sure + # /var/volatile/tmp directory to be available. + mkdir -p /var/volatile/tmp + + # Cache handling. + # A list of files which are used as a criteria to judge whether the udev cache could be reused. + CMP_FILE_LIST="/proc/version /proc/cmdline /proc/devices /proc/atags" + if [ "$DEVCACHE" != "" ]; then + if [ -e $DEVCACHE ]; then + readfiles $CMP_FILE_LIST + NEWDATA="$READDATA" + readfiles /etc/udev/cache.data + OLDDATA="$READDATA" + if [ "$OLDDATA" = "$NEWDATA" ]; then + (cd /; tar xf $DEVCACHE > /dev/null 2>&1) + not_first_boot=1 + [ "$VERBOSE" != "no" ] && echo "udev: using cache file $DEVCACHE" + [ -e /dev/shm/udev.cache ] && rm -f /dev/shm/udev.cache + else + # Output detailed reason why the cached /dev is not used + if [ "$VERBOSE" != "no" ]; then + echo "udev: udev cache not used" + echo "udev: we use $CMP_FILE_LIST as criteria to judge whether the cache /dev could be resued" + echo "udev: olddata: $OLDDATA" + echo "udev: newdata: $NEWDATA" + fi + echo "$NEWDATA" > /dev/shm/udev.cache + fi + else + if [ "$ROOTFS_READ_ONLY" != "yes" ]; then + # If rootfs is not read-only, it's possible that a new udev cache would be generated; + # otherwise, we do not bother to read files. + readfiles $CMP_FILE_LIST + echo "$READDATA" > /dev/shm/udev.cache + fi + fi + fi + + # make_extra_nodes + kill_udevd > "/dev/null" 2>&1 + + # trigger the sorted events + echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug + @UDEVD@ -d + + udevadm control --env=STARTUP=1 + if [ "$not_first_boot" != "" ];then + if [ "$PROBE_PLATFORM_BUS" != "yes" ]; then + PLATFORM_BUS_NOMATCH="--subsystem-nomatch=platform" + else + PLATFORM_BUS_NOMATCH="" + fi + udevadm trigger --action=add --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus --subsystem-nomatch=graphics --subsystem-nomatch=backlight --subsystem-nomatch=video4linux $PLATFORM_BUS_NOMATCH + (udevadm settle --timeout=10; udevadm control --env=STARTUP=)& + else + udevadm trigger --action=add + udevadm settle + fi + ;; + stop) + echo "Stopping udevd" + start-stop-daemon --stop --name udevd --quiet + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + status) + pid=`pidof -x udevd` + if [ -n "$pid" ]; then + echo "udevd (pid $pid) is running ..." + else + echo "udevd is stopped" + fi + ;; + *) + echo "Usage: $0 {start|stop|status|restart}" + exit 1 +esac +exit 0 diff --git a/recipes-core/udev/eudev/udev-cache.default b/recipes-core/udev/eudev/udev-cache.default new file mode 100644 index 0000000..b1aa63f --- /dev/null +++ b/recipes-core/udev/eudev/udev-cache.default @@ -0,0 +1,5 @@ +# Default for /etc/init.d/udev + +# Comment this out to disable device cache +#DEVCACHE="/etc/dev.tar" +PROBE_PLATFORM_BUS="yes" diff --git a/recipes-core/udev/eudev_%.bbappend b/recipes-core/udev/eudev_%.bbappend new file mode 100644 index 0000000..26bcceb --- /dev/null +++ b/recipes-core/udev/eudev_%.bbappend @@ -0,0 +1,14 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +PR .= ".mlinux6" + +# add custom rules for persistent modem device names +SRC_URI += "file://cellular_radios.rules \ + file://${MACHINE}.rules" + +do_install_append() { + install -m 644 ${WORKDIR}/cellular_radios.rules ${D}${sysconfdir}/udev/rules.d/ + install -m 644 ${WORKDIR}/${MACHINE}.rules ${D}${sysconfdir}/udev/rules.d/ +} + + diff --git a/recipes-core/udev/udev-extraconf/automount.rules b/recipes-core/udev/udev-extraconf/automount.rules new file mode 100644 index 0000000..b4a8f22 --- /dev/null +++ b/recipes-core/udev/udev-extraconf/automount.rules @@ -0,0 +1,24 @@ +# There are a number of modifiers that are allowed to be used in some +# of the different fields. They provide the following subsitutions: +# +# %n the "kernel number" of the device. +# For example, 'sda3' has a "kernel number" of '3' +# %e the smallest number for that name which does not matches an existing node +# %k the kernel name for the device +# %M the kernel major number for the device +# %m the kernel minor number for the device +# %b the bus id for the device +# %c the string returned by the PROGRAM +# %s{filename} the content of a sysfs attribute +# %% the '%' char itself +# + +SUBSYSTEM!="block", GOTO="automount_end" +# only mount SD cards and mass storage devices +KERNEL!="sd[a-z][0-9]*|mmcblk[0-9]p[0-9]*", GOTO="automount_end" + +# Media automounting +SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh" +SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh" + +LABEL="automount_end" diff --git a/recipes-core/udev/udev-extraconf/mount.patch b/recipes-core/udev/udev-extraconf/mount.patch new file mode 100644 index 0000000..1b475f3 --- /dev/null +++ b/recipes-core/udev/udev-extraconf/mount.patch @@ -0,0 +1,81 @@ +diff -Naru orig/mount.blacklist new/mount.blacklist +--- orig/mount.blacklist 2019-10-24 17:08:59.796796272 -0500 ++++ new/mount.blacklist 2019-10-24 17:16:31.768782892 -0500 +@@ -3,3 +3,16 @@ + /dev/mtdblock + /dev/md + /dev/dm-* ++# These should all be mounted in fstab or not at all. ++[PARTLABEL=uboot] ++[PARTLABEL=root] ++[PARTLABEL=root1] ++[PARTLABEL=root2] ++[PARTLABEL=uboot] ++[PARTLABEL=oem] ++[PARTLABEL=oem1] ++[PARTLABEL=oem2] ++[PARTLABEL=config] ++[PARTLABEL=config1] ++[PARTLABEL=config2] ++[PARTLABEL=user_data] +diff -Naru orig/mount.sh new/mount.sh +--- orig/mount.sh 2019-10-24 17:09:11.344795931 -0500 ++++ new/mount.sh 2019-10-24 18:11:38.612684994 -0500 +@@ -25,9 +25,32 @@ + fi + + PMOUNT="/usr/bin/pmount" +- +-for line in `grep -h -v ^# /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/*` ++for line in `grep -h -v '^#$' /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/* 2>/dev/null` + do ++ if [[ $line =~ ^\[([^=]*)=([^\]]*)\] ]] ; then ++ fsspectype=${BASH_REMATCH[1]} ++ tmp="$(lsblk -o $fsspectype $DEVNAME | sed -e '1d')" ++ case $fsspectype in ++ PARTLABEL) ++ if [[ ${BASH_REMATCH[2]} == $tmp ]] ; then ++ logger "udev/mount.sh $DEVNAME is blacklisted, ignoring" ++ logger "$line" ++ exit 0 ++ fi ++ ;; ++ ++ PARTUUID) ++ if [[ ${BASH_REMATCH[2]^^} == $tmp ]] ; then ++ logger "udev/mount.sh $DEVNAME is blacklisted, ignoring" ++ logger "$line" ++ exit 0 ++ fi ++ ;; ++ *) ++ logger "[$fsspectype] is unsupported in blacklist -- ignoring blacklist item" ++ ;; ++ esac ++ fi + if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ]; + then + logger "udev/mount.sh" "[$DEVNAME] is blacklisted, ignoring" +@@ -49,6 +72,10 @@ + + [ -d "/run/media/$name" ] || mkdir -p "/run/media/$name" + ++ if [ "$name" = mmcblk0p1 ] ; then ++ ln -sf /run/media/$name /run/media/card ++ fi ++ + MOUNT="$MOUNT -o silent" + + # If filesystemtype is vfat, change the ownership group to 'disk', and +@@ -78,7 +105,11 @@ + if [ -x "$PMOUNT" ]; then + $PMOUNT $DEVNAME 2> /dev/null + elif [ -x $MOUNT ]; then ++ if [[ $ID_FS_TYPE =~ fat ]] ; then ++ $MOUNT -o umask=002,gid=disk $DEVNAME 2> /dev/null ++ else + $MOUNT $DEVNAME 2> /dev/null ++ fi + fi + + # If the device isn't mounted at this point, it isn't diff --git a/recipes-core/udev/udev-extraconf_%.bbappend b/recipes-core/udev/udev-extraconf_%.bbappend new file mode 100644 index 0000000..708a07c --- /dev/null +++ b/recipes-core/udev/udev-extraconf_%.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +PR = "m1" + +SRC_URI += "file://mount.patch" -- cgit v1.2.3 From a117c7a2ccc99c9903764658fc3640e06ffe4661 Mon Sep 17 00:00:00 2001 From: Andrii Pientsov Date: Mon, 15 Jun 2020 16:56:18 +0300 Subject: Refactoring udev rules. --- recipes-core/udev/eudev/cellular_radios.rules | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'recipes-core') diff --git a/recipes-core/udev/eudev/cellular_radios.rules b/recipes-core/udev/eudev/cellular_radios.rules index 078f710..d7c0521 100644 --- a/recipes-core/udev/eudev/cellular_radios.rules +++ b/recipes-core/udev/eudev/cellular_radios.rules @@ -79,4 +79,8 @@ ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1101", ENV{ID_IFACE}=="02", SYMLINK+ ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0195", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0" ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0195", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1" +# Quectel EG-25 +ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0" +ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1" + LABEL="mlinux_end" -- cgit v1.2.3