Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
if [ -n "$SSH_TTY" ]; then
|
||||
cat /etc/issue.net
|
||||
fi
|
||||
@@ -0,0 +1,49 @@
|
||||
#
|
||||
# this bbappend is intended to be used with example distros defined in this
|
||||
# layer. It shows, how to customize the banner files /etc/issue[.net]
|
||||
#
|
||||
DEPENDS += "figlet-native"
|
||||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
|
||||
|
||||
SRC_URI:append = "\
|
||||
file://handle_issue.sh \
|
||||
"
|
||||
|
||||
dirs755:append = "\
|
||||
${sysconfdir}/profile.d \
|
||||
"
|
||||
|
||||
# this usually comes from our distro
|
||||
VENDOR_LONG_NAME ??= "TQ-Systems"
|
||||
DISTRO_SHORT_NAME ??= "dumpling"
|
||||
|
||||
do_install:append() {
|
||||
install -m 0755 ${WORKDIR}/handle_issue.sh ${D}${sysconfdir}/profile.d/handle_issue.sh
|
||||
}
|
||||
|
||||
do_install_basefilesissue:append() {
|
||||
# rewrite issue.net to prevent telnetd escape codes in the banner
|
||||
if [ -n "${DISTRO_NAME}" ]; then
|
||||
printf "%s" "${DISTRO_NAME}" > ${D}${sysconfdir}/issue.net
|
||||
if [ -n "${DISTRO_VERSION}" ]; then
|
||||
distro_version_nodate="${@d.getVar('DISTRO_VERSION').replace('snapshot-${DATE}','snapshot').replace('${DATE}','')}"
|
||||
printf " %s" "${distro_version_nodate}" >> ${D}${sysconfdir}/issue.net
|
||||
fi
|
||||
echo >> ${D}${sysconfdir}/issue.net
|
||||
fi
|
||||
|
||||
figlet -c -d ${RECIPE_SYSROOT_NATIVE}/usr/share/figlet -- "${VENDOR_LONG_NAME}" | \
|
||||
sed 's,\\,\\\\,g' >> ${D}${sysconfdir}/issue
|
||||
echo "\n" >> ${D}${sysconfdir}/issue
|
||||
figlet -c -d ${RECIPE_SYSROOT_NATIVE}/usr/share/figlet -- "${DISTRO_SHORT_NAME}" | \
|
||||
sed 's,\\,\\\\,g' >> ${D}${sysconfdir}/issue
|
||||
echo "\n" >> ${D}${sysconfdir}/issue
|
||||
|
||||
figlet -c -d ${RECIPE_SYSROOT_NATIVE}/usr/share/figlet -- "${VENDOR_LONG_NAME}" >> \
|
||||
${D}${sysconfdir}/issue.net
|
||||
echo "\n" >> ${D}${sysconfdir}/issue.net
|
||||
figlet -c -d ${RECIPE_SYSROOT_NATIVE}/usr/share/figlet -- "${DISTRO_SHORT_NAME}" >> \
|
||||
${D}${sysconfdir}/issue.net
|
||||
echo "\n" >> ${D}${sysconfdir}/issue.net
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
# look for files in the layer first
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI:append = "\
|
||||
file://enable-BEEP.cfg \
|
||||
file://enable-DEVMEM.cfg \
|
||||
file://enable-VERBOSE_USAGE.cfg \
|
||||
file://enable-DD_ALL_FEATURES.cfg \
|
||||
file://enable-TFTP_FULL_FEATURES.cfg \
|
||||
file://disable-TELNET.cfg \
|
||||
file://disable-FTP.cfg \
|
||||
file://tq-busybox-options.cfg \
|
||||
"
|
||||
|
||||
# necessary to prevent above change being reverted during "do_compile"
|
||||
# BUSYBOX_SPLIT_SUID = "0"
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# CONFIG_FTPGET is not set
|
||||
# CONFIG_FTPPUT is not set
|
||||
@@ -0,0 +1 @@
|
||||
# CONFIG_TELNET is not set
|
||||
@@ -0,0 +1,3 @@
|
||||
CONFIG_BEEP=y
|
||||
CONFIG_FEATURE_BEEP_FREQ=4000
|
||||
CONFIG_FEATURE_BEEP_LENGTH_MS=30
|
||||
@@ -0,0 +1,3 @@
|
||||
CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y
|
||||
CONFIG_FEATURE_DD_STATUS=y
|
||||
CONFIG_FEATURE_DD_IBS_OBS=y
|
||||
@@ -0,0 +1 @@
|
||||
CONFIG_DEVMEM=y
|
||||
@@ -0,0 +1,2 @@
|
||||
CONFIG_FEATURE_TFTP_BLOCKSIZE=y
|
||||
CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
|
||||
@@ -0,0 +1 @@
|
||||
CONFIG_FEATURE_VERBOSE_USAGE=y
|
||||
@@ -0,0 +1,89 @@
|
||||
# Fri Jan 7 14:49:22 2022
|
||||
CONFIG_FEATURE_CATN=y
|
||||
CONFIG_FEATURE_CATV=y
|
||||
CONFIG_EXPR_MATH_SUPPORT_64=y
|
||||
CONFIG_NICE=y
|
||||
CONFIG_NPROC=y
|
||||
CONFIG_SEQ=y
|
||||
CONFIG_TEST2=y
|
||||
CONFIG_FEATURE_TEST_64=y
|
||||
CONFIG_TIMEOUT=y
|
||||
CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_TAR_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_TAR_TO_COMMAND=y
|
||||
CONFIG_FEATURE_TAR_UNAME_GNAME=y
|
||||
CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_CP_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_CP_REFLINK=y
|
||||
CONFIG_FEATURE_DATE_ISOFMT=y
|
||||
CONFIG_FEATURE_DATE_NANO=y
|
||||
CONFIG_FEATURE_DF_FANCY=y
|
||||
CONFIG_FEATURE_FANCY_HEAD=y
|
||||
CONFIG_FEATURE_SYNC_FANCY=y
|
||||
CONFIG_TR=y
|
||||
CONFIG_FEATURE_TR_CLASSES=y
|
||||
CONFIG_FEATURE_TR_EQUIV=y
|
||||
CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_VI_DOT_CMD=y
|
||||
CONFIG_FEATURE_VI_READONLY=y
|
||||
CONFIG_FEATURE_VI_SETOPTS=y
|
||||
CONFIG_FEATURE_VI_SET=y
|
||||
CONFIG_FEATURE_VI_ASK_TERMINAL=y
|
||||
CONFIG_FEATURE_FIND_INUM=y
|
||||
CONFIG_FEATURE_FIND_DELETE=y
|
||||
CONFIG_FEATURE_FIND_LINKS=y
|
||||
CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
|
||||
CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
|
||||
CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
|
||||
CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
|
||||
CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y
|
||||
CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y
|
||||
CONFIG_FEATURE_ADDUSER_TO_GROUP=y
|
||||
CONFIG_FEATURE_CHECK_NAMES=y
|
||||
CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
|
||||
CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
|
||||
CONFIG_FEATURE_GPT_LABEL=y
|
||||
CONFIG_FEATURE_FDISK_ADVANCED=y
|
||||
CONFIG_FEATURE_MKSWAP_UUID=y
|
||||
CONFIG_FEATURE_MOUNT_FAKE=y
|
||||
CONFIG_FEATURE_MOUNT_VERBOSE=y
|
||||
CONFIG_FEATURE_MOUNT_HELPERS=y
|
||||
CONFIG_FEATURE_MOUNT_OTHERTAB=y
|
||||
CONFIG_FEATURE_SWAPONOFF_LABEL=y
|
||||
CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
|
||||
CONFIG_FEATURE_VOLUMEID_UBIFS=y
|
||||
CONFIG_FEATURE_DC_BIG=y
|
||||
CONFIG_FEATURE_BC_INTERACTIVE=y
|
||||
CONFIG_FEATURE_BC_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_LESS_TRUNCATE=y
|
||||
CONFIG_FEATURE_LESS_MARKS=y
|
||||
CONFIG_FEATURE_LESS_REGEXP=y
|
||||
CONFIG_FEATURE_LESS_WINCH=y
|
||||
CONFIG_FEATURE_LESS_ASK_TERMINAL=y
|
||||
CONFIG_FEATURE_LESS_DASHCMD=y
|
||||
CONFIG_FEATURE_LESS_LINENUMS=y
|
||||
CONFIG_FEATURE_LESS_RAW=y
|
||||
CONFIG_FEATURE_LESS_ENV=y
|
||||
CONFIG_FEATURE_IFCONFIG_SLIP=y
|
||||
CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
|
||||
CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
|
||||
CONFIG_FEATURE_NETSTAT_WIDE=y
|
||||
CONFIG_FEATURE_NETSTAT_PRG=y
|
||||
CONFIG_FEATURE_NSLOOKUP_BIG=y
|
||||
CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_PIDOF_SINGLE=y
|
||||
CONFIG_FEATURE_PIDOF_OMIT=y
|
||||
CONFIG_FEATURE_TOP_INTERACTIVE=y
|
||||
CONFIG_FEATURE_TOP_SMP_CPU=y
|
||||
CONFIG_FEATURE_TOP_DECIMALS=y
|
||||
CONFIG_FEATURE_TOP_SMP_PROCESS=y
|
||||
CONFIG_FEATURE_TOPMEM=y
|
||||
CONFIG_FEATURE_UPTIME_UTMP_SUPPORT=y
|
||||
CONFIG_FEATURE_SHOW_THREADS=y
|
||||
CONFIG_ASH_BASH_SOURCE_CURDIR=y
|
||||
CONFIG_FEATURE_SH_MATH=y
|
||||
CONFIG_FEATURE_SH_MATH_64=y
|
||||
CONFIG_FEATURE_SH_MATH_BASE=y
|
||||
CONFIG_UNIQ=y
|
||||
CONFIG_FEATURE_WC_LARGE=y
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 93 KiB |
@@ -0,0 +1,3 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
SPLASH_IMAGES = "file://psplash-tq-img.png;outsuffix=default"
|
||||
@@ -0,0 +1,83 @@
|
||||
From 326947e7b24ea4615e2971fc7cd48e6c1a9245df Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
|
||||
Date: Wed, 7 Aug 2024 12:01:24 +0200
|
||||
Subject: [PATCH] udev-builtin-net_id: add NAMING_DEVICETREE_PORT_ALIASES to
|
||||
check of_node of netdevs before their parents
|
||||
|
||||
The net_id builtin only checked the of_node of a netdev's parent device,
|
||||
not that of the netdev itself. While it is common that netdevs don't have
|
||||
an OF node assigned themselves, as they are derived from some parent
|
||||
device, this is not always the case. In particular when a single
|
||||
controller provides multiple ports that can be referenced indiviually in
|
||||
the Device Tree (both for aliases/MAC address assignment and phandle
|
||||
references), the correct of_node will be that of the netdev itself, not
|
||||
that of the parent, so it needs to be checked, too.
|
||||
|
||||
A new naming scheme flag NAMING_DEVICETREE_PORT_ALIASES is added to
|
||||
allow selecting the new behavior.
|
||||
|
||||
Upstream-Status: Backport [https://github.com/systemd/systemd/commit/24c2e04e9a3b53bc8a57ac4a7a89d8da8e4feb72]
|
||||
|
||||
The new naming scheme flag is not used by default in the backported
|
||||
patch; it must be enabled using the extra-net-naming-schemes build option.
|
||||
---
|
||||
diff --git a/src/shared/netif-naming-scheme.h b/src/shared/netif-naming-scheme.h
|
||||
index 3f7be08830..904a3b75ff 100644
|
||||
--- a/src/shared/netif-naming-scheme.h
|
||||
+++ b/src/shared/netif-naming-scheme.h
|
||||
@@ -38,9 +38,10 @@ typedef enum NamingSchemeFlags {
|
||||
NAMING_XEN_VIF = 1 << 13, /* Generate names for Xen netfront devices */
|
||||
NAMING_BRIDGE_MULTIFUNCTION_SLOT = 1 << 14, /* Use PCI hotplug slot information associated with bridge, but only if PCI device is multifunction.
|
||||
* This is disabled since v255, as it seems not to work at least for some setups. See issue #28929. */
|
||||
- NAMING_DEVICETREE_ALIASES = 1 << 15, /* Generate names from devicetree aliases */
|
||||
+ NAMING_DEVICETREE_ALIASES = 1 << 15, /* Generate names from devicetree aliases of a netdev's parent's OF node */
|
||||
NAMING_USB_HOST = 1 << 16, /* Generate names for usb host */
|
||||
NAMING_SR_IOV_R = 1 << 17, /* Use "r" suffix for SR-IOV VF representors */
|
||||
+ NAMING_DEVICETREE_PORT_ALIASES = 1 << 19, /* Include aliases of OF nodes of a netdev itself, not just its parent. See PR #33958. */
|
||||
|
||||
/* And now the masks that combine the features above */
|
||||
NAMING_V238 = 0,
|
||||
diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c
|
||||
index 91b40088f4..faf7dd4940 100644
|
||||
--- a/src/udev/udev-builtin-net_id.c
|
||||
+++ b/src/udev/udev-builtin-net_id.c
|
||||
@@ -781,7 +781,6 @@ static int names_platform(sd_device *dev, const char *prefix, bool test) {
|
||||
static int names_devicetree(sd_device *dev, const char *prefix, bool test) {
|
||||
_cleanup_(sd_device_unrefp) sd_device *aliases_dev = NULL, *ofnode_dev = NULL, *devicetree_dev = NULL;
|
||||
const char *ofnode_path, *ofnode_syspath, *devicetree_syspath;
|
||||
- sd_device *parent;
|
||||
int r;
|
||||
|
||||
assert(dev);
|
||||
@@ -794,14 +793,24 @@ static int names_devicetree(sd_device *dev, const char *prefix, bool test) {
|
||||
if (!streq(prefix, "en"))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
- /* check if our direct parent has an of_node */
|
||||
- r = sd_device_get_parent(dev, &parent);
|
||||
- if (r < 0)
|
||||
- return log_device_debug_errno(dev, r, "Failed to get parent device: %m");
|
||||
+ /* check if the device itself has an of_node */
|
||||
+ if (naming_scheme_has(NAMING_DEVICETREE_PORT_ALIASES)) {
|
||||
+ r = sd_device_new_child(&ofnode_dev, dev, "of_node");
|
||||
+ if (r < 0)
|
||||
+ log_device_debug_errno(dev, r, "Failed to get device of_node, ignoring: %m");
|
||||
+ }
|
||||
+ if (!ofnode_dev) {
|
||||
+ sd_device *parent;
|
||||
|
||||
- r = sd_device_new_child(&ofnode_dev, parent, "of_node");
|
||||
- if (r < 0)
|
||||
- return log_device_debug_errno(parent, r, "Failed to get 'of_node' child device: %m");
|
||||
+ /* check if our direct parent has an of_node as a fallback */
|
||||
+ r = sd_device_get_parent(dev, &parent);
|
||||
+ if (r < 0)
|
||||
+ return log_device_debug_errno(dev, r, "Failed to get parent device: %m");
|
||||
+
|
||||
+ r = sd_device_new_child(&ofnode_dev, parent, "of_node");
|
||||
+ if (r < 0)
|
||||
+ return log_device_debug_errno(parent, r, "Failed to get device of_node: %m");
|
||||
+ }
|
||||
|
||||
r = sd_device_get_syspath(ofnode_dev, &ofnode_syspath);
|
||||
if (r < 0)
|
||||
@@ -0,0 +1,9 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
# Copyright (c) 2024 TQ-Systems GmbH <oss@ew.tq-group.com>, D-82229 Seefeld, Germany.
|
||||
# Author: Matthias Schiffer
|
||||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
|
||||
|
||||
SRC_URI += "file://0001-udev-builtin-net_id-add-NAMING_DEVICETREE_PORT_ALIAS.patch"
|
||||
EXTRA_OEMESON += "-Dextra-net-naming-schemes=latest=v255+devicetree-port-aliases"
|
||||
@@ -0,0 +1,41 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
# Copyright (c) 2024 TQ-Systems GmbH <oss@ew.tq-group.com>, D-82229 Seefeld, Germany.
|
||||
# Author: Matthias Schiffer
|
||||
|
||||
SUMMARY = "Automatic mount of a data partition for TQ platforms"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||
|
||||
inherit allarch systemd update-rc.d
|
||||
|
||||
SRC_URI = "\
|
||||
file://tq-mount-data.service \
|
||||
file://tq-mount-data.sh \
|
||||
"
|
||||
TQ_DATA_MOUNT_TARGET ?= "/srv/data"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "tq-mount-data.service"
|
||||
|
||||
INITSCRIPT_NAME = "tq-mount-data.sh"
|
||||
INITSCRIPT_PARAMS = "start 05 S ."
|
||||
|
||||
RDEPENDS:${PN} += "util-linux-findmnt"
|
||||
|
||||
do_install() {
|
||||
install -Dm 755 "${WORKDIR}/tq-mount-data.sh" "${D}${libexecdir}/tq/mount-data.sh"
|
||||
sed -i -e "s,@TQ_DATA_MOUNT_TARGET@,${TQ_DATA_MOUNT_TARGET},g" "${D}${libexecdir}/tq/mount-data.sh"
|
||||
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
|
||||
install -d ${D}${sysconfdir}/init.d/
|
||||
ln -s ${libexecdir}/tq/mount-data.sh ${D}${sysconfdir}/init.d/tq-mount-data.sh
|
||||
fi
|
||||
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
||||
install -Dm 0644 "${WORKDIR}/tq-mount-data.service" "${D}${systemd_system_unitdir}/tq-mount-data.service"
|
||||
sed -i -e "s,@LIBEXECDIR@,${libexecdir},g" "${D}${systemd_system_unitdir}/tq-mount-data.service"
|
||||
fi
|
||||
|
||||
install -d "${D}${TQ_DATA_MOUNT_TARGET}"
|
||||
}
|
||||
FILES:${PN} += "${TQ_DATA_MOUNT_TARGET}"
|
||||
@@ -0,0 +1,17 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
# Copyright (c) 2024 TQ-Systems GmbH <oss@ew.tq-group.com>, D-82229 Seefeld, Germany.
|
||||
# Author: Matthias Schiffer
|
||||
|
||||
[Unit]
|
||||
Description=Data partition mount
|
||||
DefaultDependencies=no
|
||||
Before=sysinit.target
|
||||
|
||||
[Service]
|
||||
ExecStart=@LIBEXECDIR@/tq/mount-data.sh
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=sysinit.target
|
||||
@@ -0,0 +1,40 @@
|
||||
#!/bin/sh
|
||||
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
# Copyright (c) 2024 TQ-Systems GmbH <oss@ew.tq-group.com>, D-82229 Seefeld, Germany.
|
||||
# Author: Matthias Schiffer
|
||||
|
||||
set -e
|
||||
|
||||
TQ_DATA_MOUNT_TARGET='@TQ_DATA_MOUNT_TARGET@'
|
||||
|
||||
get_root_dev () {
|
||||
findmnt --evaluate --first-only --noheadings --output SOURCE --mountpoint /
|
||||
}
|
||||
|
||||
get_data_dev () {
|
||||
local root_dev
|
||||
root_dev=$(get_root_dev)
|
||||
case "${root_dev}" in
|
||||
# 2 and 3 are possible root partitions in our WKS files for RAUC
|
||||
/dev/*2|/dev/*3)
|
||||
# Data is partition 4
|
||||
echo "${root_dev}" | sed -e 's/.$/4/'
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
main () {
|
||||
local data_dev
|
||||
|
||||
data_dev=$(get_data_dev)
|
||||
|
||||
if [ -z "${data_dev}" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
mount "${data_dev}" "${TQ_DATA_MOUNT_TARGET}"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -0,0 +1,14 @@
|
||||
SUMMARY = "Additinal udev rules for TQ distros"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||
|
||||
inherit allarch
|
||||
|
||||
SRC_URI = "\
|
||||
file://persistent-storage-mtd.rules \
|
||||
"
|
||||
|
||||
do_install() {
|
||||
install -Dm 644 ${WORKDIR}/persistent-storage-mtd.rules \
|
||||
${D}${nonarch_base_libdir}/udev/rules.d/60-persistent-storage-mtd.rules
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
# do not edit this file, it will be overwritten on update
|
||||
|
||||
# persistent storage links: /dev/mtd/by-name
|
||||
|
||||
ACTION=="remove", GOTO="persistent_storage_mtd_end"
|
||||
SUBSYSTEM!="mtd", GOTO="persistent_storage_mtd_end"
|
||||
KERNEL!="mtd[0-9]*", GOTO="persistent_storage_mtd_end"
|
||||
KERNEL=="mtd[0-9]*ro", GOTO="persistent_storage_mtd_end"
|
||||
|
||||
ATTR{name}=="?*", SYMLINK+="mtd/by-name/$attr{name}"
|
||||
|
||||
LABEL="persistent_storage_mtd_end"
|
||||
Reference in New Issue
Block a user