* [meta-ti][master/wrynose][PATCH 0/2] Fix NFS boot on K3 platforms with bsp-next kernel
@ 2026-06-02 10:48 Moteen Shah
2026-06-02 10:48 ` [meta-ti][master/wrynose][PATCH 1/2] k3.inc: Add CPSW modules to initramfs for bsp-next NFS boot Moteen Shah
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Moteen Shah @ 2026-06-02 10:48 UTC (permalink / raw)
To: meta-ti
Cc: reatmon, nm, u-kumar1, s-vadapalli, a-limaye, m-shah,
gehariprasath, denys
AM65_CPSW_NUSS and its dependencies changed from built-in (=y) to
loadable modules (=m) in linux-next. This breaks NFS boot because the
Ethernet driver is no longer available before the NFS root mount.
Patch 1 adds the CPSW module set to TI_CORE_INITRAMFS_KERNEL_MODULES
for bsp-next so udev can load them during early boot.
Patch 2 adds an initramfs-framework module (83-netsetup) that waits
for the Ethernet interface to appear after udev loads the modules and
then configures it via DHCP before the nfsrootfs module runs.
Bootlogs: https://gist.github.com/Jamm02/4b631f90f282030d367561c08503c9e1
Moteen Shah (2):
k3.inc: Add CPSW modules to initramfs for bsp-next NFS boot
initramfs: Add netsetup module for DHCP network configuration
meta-ti-bsp/conf/machine/include/k3.inc | 6 +++
.../initramfs-framework/83-netsetup | 54 +++++++++++++++++++
.../initramfs-framework_%.bbappend | 15 ++++++
.../packagegroup-ti-core-initramfs.bb | 2 +
4 files changed, 77 insertions(+)
create mode 100644 meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup
create mode 100644 meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread* [meta-ti][master/wrynose][PATCH 1/2] k3.inc: Add CPSW modules to initramfs for bsp-next NFS boot 2026-06-02 10:48 [meta-ti][master/wrynose][PATCH 0/2] Fix NFS boot on K3 platforms with bsp-next kernel Moteen Shah @ 2026-06-02 10:48 ` Moteen Shah 2026-06-02 10:48 ` [meta-ti][master/wrynose][PATCH 2/2] initramfs: Add netsetup module for DHCP network configuration Moteen Shah 2026-06-02 10:50 ` [meta-ti][master/wrynose][PATCH 0/2] Fix NFS boot on K3 platforms with bsp-next kernel PRC Automation 2 siblings, 0 replies; 7+ messages in thread From: Moteen Shah @ 2026-06-02 10:48 UTC (permalink / raw) To: meta-ti Cc: reatmon, nm, u-kumar1, s-vadapalli, a-limaye, m-shah, gehariprasath, denys AM65_CPSW_NUSS and its dependencies changed from built-in to loadable modules in linux-next. Add them to TI_CORE_INITRAMFS_KERNEL_MODULES so NFS boot continues to work on K3 platforms with the bsp-next kernel. Signed-off-by: Moteen Shah <m-shah@ti.com> --- meta-ti-bsp/conf/machine/include/k3.inc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta-ti-bsp/conf/machine/include/k3.inc b/meta-ti-bsp/conf/machine/include/k3.inc index 6833789c..726c071f 100644 --- a/meta-ti-bsp/conf/machine/include/k3.inc +++ b/meta-ti-bsp/conf/machine/include/k3.inc @@ -61,3 +61,9 @@ FALCON_INCLUDE = "" FALCON_INCLUDE:ti-falcon = "conf/machine/include/ti-falcon.inc" require ${FALCON_INCLUDE} + +# AM65_CPSW_NUSS and its direct Kconfig dependencies became loadable modules +# in linux-next (post 7.1). Include them in the initramfs so NFS boot works. +# TI staging kernels (6.6/6.12/6.18) still have CPSW built-in (=y). + +TI_CORE_INITRAMFS_KERNEL_MODULES:append:bsp-next = " kernel-module-ti-am65-cpsw-nuss kernel-module-k3-cppi-desc-pool kernel-module-davinci-mdio kernel-module-ti-cpsw-ale kernel-module-ti-cpsw-sl kernel-module-phylink kernel-module-mdio-bitbang kernel-module-phy-gmii-sel" -- 2.34.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [meta-ti][master/wrynose][PATCH 2/2] initramfs: Add netsetup module for DHCP network configuration 2026-06-02 10:48 [meta-ti][master/wrynose][PATCH 0/2] Fix NFS boot on K3 platforms with bsp-next kernel Moteen Shah 2026-06-02 10:48 ` [meta-ti][master/wrynose][PATCH 1/2] k3.inc: Add CPSW modules to initramfs for bsp-next NFS boot Moteen Shah @ 2026-06-02 10:48 ` Moteen Shah 2026-06-02 13:47 ` Denys Dmytriyenko 2026-06-02 10:50 ` [meta-ti][master/wrynose][PATCH 0/2] Fix NFS boot on K3 platforms with bsp-next kernel PRC Automation 2 siblings, 1 reply; 7+ messages in thread From: Moteen Shah @ 2026-06-02 10:48 UTC (permalink / raw) To: meta-ti Cc: reatmon, nm, u-kumar1, s-vadapalli, a-limaye, m-shah, gehariprasath, denys Add 83-netsetup, an initramfs-framework module that configures the network interface via DHCP before the NFS root mount. Needed when the Ethernet driver is a loadable module and the deferred probe chain requires time to settle after udev loads the modules. Also add dhcpcd to packagegroup-ti-core-initramfs to support DHCP configuration. Signed-off-by: Moteen Shah <m-shah@ti.com> --- .../initramfs-framework/83-netsetup | 54 +++++++++++++++++++ .../initramfs-framework_%.bbappend | 15 ++++++ .../packagegroup-ti-core-initramfs.bb | 2 + 3 files changed, 71 insertions(+) create mode 100644 meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup create mode 100644 meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend diff --git a/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup new file mode 100644 index 00000000..b71bc3b3 --- /dev/null +++ b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup @@ -0,0 +1,54 @@ +#!/bin/sh +# Configure network via DHCP before NFS root mount. Polls for an Ethernet +# interface with sleep 1 per iteration to allow the Ethernet driver deferred +# probe chain to settle after udev loads the modules. + +netsetup_enabled() { + [ "${bootparam_root}" = "/dev/nfs" ] || return 1 + return 0 +} + +netsetup_run() { + local iface timeout devtype + + # Extract interface from ip= kernel param (format: client:server:gw:mask:host:device:autoconf) + iface="" + case "${bootparam_ip}" in + dhcp|on|any|"") + ;; + *) + iface=$(echo "${bootparam_ip}" | cut -d: -f6) + ;; + esac + + udevadm trigger --action=add --subsystem-match=net + udevadm settle --timeout=10 + + # Poll up to 60 seconds for an Ethernet interface (ARPHRD_ETHER = type 1). + msg "netsetup: waiting for ethernet interface..." + timeout=60 + while [ "${timeout}" -gt 0 ]; do + if [ -n "${iface}" ] && [ -d "/sys/class/net/${iface}" ]; then + break + fi + for dev in /sys/class/net/*; do + [ -f "${dev}/type" ] || continue + devtype=$(cat "${dev}/type") + [ "${devtype}" = "1" ] || continue + iface=$(basename "${dev}") + break + done + [ -n "${iface}" ] && [ -d "/sys/class/net/${iface}" ] && break + sleep 1 + timeout=$((timeout - 1)) + done + + if [ -z "${iface}" ] || [ ! -d "/sys/class/net/${iface}" ]; then + msg "netsetup: no ethernet interface found after 60s, skipping DHCP" + return + fi + + msg "netsetup: configuring ${iface} via DHCP" + + dhcpcd --waitip "${iface}" +} diff --git a/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend new file mode 100644 index 00000000..c8955689 --- /dev/null +++ b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend @@ -0,0 +1,15 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SUMMARY:initramfs-module-netsetup = "initramfs support for DHCP network setup before NFS root mount" + +SRC_URI:append = " file://83-netsetup" + +PACKAGES =+ "initramfs-module-netsetup" + +RDEPENDS:initramfs-module-netsetup = "${PN}-base" + +FILES:initramfs-module-netsetup = "/init.d/83-netsetup" + +do_install:append() { + install -m 0755 ${UNPACKDIR}/83-netsetup ${D}/init.d/83-netsetup +} diff --git a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb index a9eff847..ede0639d 100644 --- a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb +++ b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb @@ -18,6 +18,8 @@ RDEPENDS:${PN} += "\ netbase \ base-files \ base-passwd \ + dhcpcd \ + initramfs-module-netsetup \ initramfs-framework-base \ initramfs-module-udev \ initramfs-module-nfsrootfs \ -- 2.34.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [meta-ti][master/wrynose][PATCH 2/2] initramfs: Add netsetup module for DHCP network configuration 2026-06-02 10:48 ` [meta-ti][master/wrynose][PATCH 2/2] initramfs: Add netsetup module for DHCP network configuration Moteen Shah @ 2026-06-02 13:47 ` Denys Dmytriyenko 2026-06-02 14:59 ` Ryan Eatmon 0 siblings, 1 reply; 7+ messages in thread From: Denys Dmytriyenko @ 2026-06-02 13:47 UTC (permalink / raw) To: m-shah Cc: meta-ti, reatmon, nm, u-kumar1, s-vadapalli, a-limaye, gehariprasath, denys On Tue, Jun 02, 2026 at 04:18:10PM +0530, Moteen Shah via lists.yoctoproject.org wrote: > Add 83-netsetup, an initramfs-framework module that configures the > network interface via DHCP before the NFS root mount. Needed when the > Ethernet driver is a loadable module and the deferred probe chain > requires time to settle after udev loads the modules. Also add dhcpcd > to packagegroup-ti-core-initramfs to support DHCP configuration. > > Signed-off-by: Moteen Shah <m-shah@ti.com> > --- > .../initramfs-framework/83-netsetup | 54 +++++++++++++++++++ > .../initramfs-framework_%.bbappend | 15 ++++++ > .../packagegroup-ti-core-initramfs.bb | 2 + > 3 files changed, 71 insertions(+) > create mode 100644 meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup > create mode 100644 meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend > > diff --git a/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup > new file mode 100644 > index 00000000..b71bc3b3 > --- /dev/null > +++ b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup > @@ -0,0 +1,54 @@ > +#!/bin/sh > +# Configure network via DHCP before NFS root mount. Polls for an Ethernet > +# interface with sleep 1 per iteration to allow the Ethernet driver deferred > +# probe chain to settle after udev loads the modules. > + > +netsetup_enabled() { > + [ "${bootparam_root}" = "/dev/nfs" ] || return 1 > + return 0 > +} > + > +netsetup_run() { > + local iface timeout devtype > + > + # Extract interface from ip= kernel param (format: client:server:gw:mask:host:device:autoconf) > + iface="" > + case "${bootparam_ip}" in > + dhcp|on|any|"") > + ;; > + *) > + iface=$(echo "${bootparam_ip}" | cut -d: -f6) > + ;; > + esac > + > + udevadm trigger --action=add --subsystem-match=net > + udevadm settle --timeout=10 > + > + # Poll up to 60 seconds for an Ethernet interface (ARPHRD_ETHER = type 1). > + msg "netsetup: waiting for ethernet interface..." > + timeout=60 > + while [ "${timeout}" -gt 0 ]; do > + if [ -n "${iface}" ] && [ -d "/sys/class/net/${iface}" ]; then > + break > + fi > + for dev in /sys/class/net/*; do > + [ -f "${dev}/type" ] || continue > + devtype=$(cat "${dev}/type") > + [ "${devtype}" = "1" ] || continue > + iface=$(basename "${dev}") > + break > + done > + [ -n "${iface}" ] && [ -d "/sys/class/net/${iface}" ] && break > + sleep 1 > + timeout=$((timeout - 1)) > + done > + > + if [ -z "${iface}" ] || [ ! -d "/sys/class/net/${iface}" ]; then > + msg "netsetup: no ethernet interface found after 60s, skipping DHCP" > + return > + fi > + > + msg "netsetup: configuring ${iface} via DHCP" > + > + dhcpcd --waitip "${iface}" > +} > diff --git a/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend > new file mode 100644 > index 00000000..c8955689 > --- /dev/null > +++ b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend > @@ -0,0 +1,15 @@ > +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" > + > +SUMMARY:initramfs-module-netsetup = "initramfs support for DHCP network setup before NFS root mount" This should probably be a standalone initramfs-module* recipe, instead of a bbappend. > +SRC_URI:append = " file://83-netsetup" > + > +PACKAGES =+ "initramfs-module-netsetup" > + > +RDEPENDS:initramfs-module-netsetup = "${PN}-base" > + > +FILES:initramfs-module-netsetup = "/init.d/83-netsetup" > + > +do_install:append() { > + install -m 0755 ${UNPACKDIR}/83-netsetup ${D}/init.d/83-netsetup > +} > diff --git a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb > index a9eff847..ede0639d 100644 > --- a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb > +++ b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb > @@ -18,6 +18,8 @@ RDEPENDS:${PN} += "\ > netbase \ > base-files \ > base-passwd \ > + dhcpcd \ > + initramfs-module-netsetup \ > initramfs-framework-base \ > initramfs-module-udev \ > initramfs-module-nfsrootfs \ > -- > 2.34.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [meta-ti][master/wrynose][PATCH 2/2] initramfs: Add netsetup module for DHCP network configuration 2026-06-02 13:47 ` Denys Dmytriyenko @ 2026-06-02 14:59 ` Ryan Eatmon 2026-06-02 17:34 ` Denys Dmytriyenko 0 siblings, 1 reply; 7+ messages in thread From: Ryan Eatmon @ 2026-06-02 14:59 UTC (permalink / raw) To: Denys Dmytriyenko, m-shah Cc: meta-ti, nm, u-kumar1, s-vadapalli, a-limaye, gehariprasath, denys On 6/2/2026 8:47 AM, Denys Dmytriyenko wrote: > On Tue, Jun 02, 2026 at 04:18:10PM +0530, Moteen Shah via lists.yoctoproject.org wrote: >> Add 83-netsetup, an initramfs-framework module that configures the >> network interface via DHCP before the NFS root mount. Needed when the >> Ethernet driver is a loadable module and the deferred probe chain >> requires time to settle after udev loads the modules. Also add dhcpcd >> to packagegroup-ti-core-initramfs to support DHCP configuration. >> >> Signed-off-by: Moteen Shah <m-shah@ti.com> >> --- >> .../initramfs-framework/83-netsetup | 54 +++++++++++++++++++ >> .../initramfs-framework_%.bbappend | 15 ++++++ >> .../packagegroup-ti-core-initramfs.bb | 2 + >> 3 files changed, 71 insertions(+) >> create mode 100644 meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup >> create mode 100644 meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend >> >> diff --git a/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup >> new file mode 100644 >> index 00000000..b71bc3b3 >> --- /dev/null >> +++ b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup >> @@ -0,0 +1,54 @@ >> +#!/bin/sh >> +# Configure network via DHCP before NFS root mount. Polls for an Ethernet >> +# interface with sleep 1 per iteration to allow the Ethernet driver deferred >> +# probe chain to settle after udev loads the modules. >> + >> +netsetup_enabled() { >> + [ "${bootparam_root}" = "/dev/nfs" ] || return 1 >> + return 0 >> +} >> + >> +netsetup_run() { >> + local iface timeout devtype >> + >> + # Extract interface from ip= kernel param (format: client:server:gw:mask:host:device:autoconf) >> + iface="" >> + case "${bootparam_ip}" in >> + dhcp|on|any|"") >> + ;; >> + *) >> + iface=$(echo "${bootparam_ip}" | cut -d: -f6) >> + ;; >> + esac >> + >> + udevadm trigger --action=add --subsystem-match=net >> + udevadm settle --timeout=10 >> + >> + # Poll up to 60 seconds for an Ethernet interface (ARPHRD_ETHER = type 1). >> + msg "netsetup: waiting for ethernet interface..." >> + timeout=60 >> + while [ "${timeout}" -gt 0 ]; do >> + if [ -n "${iface}" ] && [ -d "/sys/class/net/${iface}" ]; then >> + break >> + fi >> + for dev in /sys/class/net/*; do >> + [ -f "${dev}/type" ] || continue >> + devtype=$(cat "${dev}/type") >> + [ "${devtype}" = "1" ] || continue >> + iface=$(basename "${dev}") >> + break >> + done >> + [ -n "${iface}" ] && [ -d "/sys/class/net/${iface}" ] && break >> + sleep 1 >> + timeout=$((timeout - 1)) >> + done >> + >> + if [ -z "${iface}" ] || [ ! -d "/sys/class/net/${iface}" ]; then >> + msg "netsetup: no ethernet interface found after 60s, skipping DHCP" >> + return >> + fi >> + >> + msg "netsetup: configuring ${iface} via DHCP" >> + >> + dhcpcd --waitip "${iface}" >> +} >> diff --git a/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend >> new file mode 100644 >> index 00000000..c8955689 >> --- /dev/null >> +++ b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend >> @@ -0,0 +1,15 @@ >> +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" >> + >> +SUMMARY:initramfs-module-netsetup = "initramfs support for DHCP network setup before NFS root mount" > > This should probably be a standalone initramfs-module* recipe, instead of a > bbappend. Agreed. It's a little confusing to add a subpackage like that. We should create a new recipe and depend on that name to pull in this one file. The name you chose was fine, just move it out of the bbappend. > >> +SRC_URI:append = " file://83-netsetup" >> + >> +PACKAGES =+ "initramfs-module-netsetup" >> + >> +RDEPENDS:initramfs-module-netsetup = "${PN}-base" >> + >> +FILES:initramfs-module-netsetup = "/init.d/83-netsetup" >> + >> +do_install:append() { >> + install -m 0755 ${UNPACKDIR}/83-netsetup ${D}/init.d/83-netsetup >> +} >> diff --git a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb >> index a9eff847..ede0639d 100644 >> --- a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb >> +++ b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb >> @@ -18,6 +18,8 @@ RDEPENDS:${PN} += "\ >> netbase \ >> base-files \ >> base-passwd \ >> + dhcpcd \ >> + initramfs-module-netsetup \ >> initramfs-framework-base \ >> initramfs-module-udev \ >> initramfs-module-nfsrootfs \ >> -- >> 2.34.1 -- Ryan Eatmon reatmon@ti.com ----------------------------------------- Texas Instruments, Inc. - LCPD - MGTS ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [meta-ti][master/wrynose][PATCH 2/2] initramfs: Add netsetup module for DHCP network configuration 2026-06-02 14:59 ` Ryan Eatmon @ 2026-06-02 17:34 ` Denys Dmytriyenko 0 siblings, 0 replies; 7+ messages in thread From: Denys Dmytriyenko @ 2026-06-02 17:34 UTC (permalink / raw) To: Ryan Eatmon Cc: m-shah, meta-ti, nm, u-kumar1, s-vadapalli, a-limaye, gehariprasath, denys On Tue, Jun 02, 2026 at 09:59:15AM -0500, Ryan Eatmon wrote: > > > On 6/2/2026 8:47 AM, Denys Dmytriyenko wrote: > >On Tue, Jun 02, 2026 at 04:18:10PM +0530, Moteen Shah via lists.yoctoproject.org wrote: > >>Add 83-netsetup, an initramfs-framework module that configures the > >>network interface via DHCP before the NFS root mount. Needed when the > >>Ethernet driver is a loadable module and the deferred probe chain > >>requires time to settle after udev loads the modules. Also add dhcpcd > >>to packagegroup-ti-core-initramfs to support DHCP configuration. > >> > >>Signed-off-by: Moteen Shah <m-shah@ti.com> > >>--- > >> .../initramfs-framework/83-netsetup | 54 +++++++++++++++++++ > >> .../initramfs-framework_%.bbappend | 15 ++++++ > >> .../packagegroup-ti-core-initramfs.bb | 2 + > >> 3 files changed, 71 insertions(+) > >> create mode 100644 meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup > >> create mode 100644 meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend > >> > >>diff --git a/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup > >>new file mode 100644 > >>index 00000000..b71bc3b3 > >>--- /dev/null > >>+++ b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework/83-netsetup > >>@@ -0,0 +1,54 @@ > >>+#!/bin/sh > >>+# Configure network via DHCP before NFS root mount. Polls for an Ethernet > >>+# interface with sleep 1 per iteration to allow the Ethernet driver deferred > >>+# probe chain to settle after udev loads the modules. > >>+ > >>+netsetup_enabled() { > >>+ [ "${bootparam_root}" = "/dev/nfs" ] || return 1 > >>+ return 0 > >>+} > >>+ > >>+netsetup_run() { > >>+ local iface timeout devtype > >>+ > >>+ # Extract interface from ip= kernel param (format: client:server:gw:mask:host:device:autoconf) > >>+ iface="" > >>+ case "${bootparam_ip}" in > >>+ dhcp|on|any|"") > >>+ ;; > >>+ *) > >>+ iface=$(echo "${bootparam_ip}" | cut -d: -f6) > >>+ ;; > >>+ esac > >>+ > >>+ udevadm trigger --action=add --subsystem-match=net > >>+ udevadm settle --timeout=10 > >>+ > >>+ # Poll up to 60 seconds for an Ethernet interface (ARPHRD_ETHER = type 1). > >>+ msg "netsetup: waiting for ethernet interface..." > >>+ timeout=60 > >>+ while [ "${timeout}" -gt 0 ]; do > >>+ if [ -n "${iface}" ] && [ -d "/sys/class/net/${iface}" ]; then > >>+ break > >>+ fi > >>+ for dev in /sys/class/net/*; do > >>+ [ -f "${dev}/type" ] || continue > >>+ devtype=$(cat "${dev}/type") > >>+ [ "${devtype}" = "1" ] || continue > >>+ iface=$(basename "${dev}") > >>+ break > >>+ done > >>+ [ -n "${iface}" ] && [ -d "/sys/class/net/${iface}" ] && break > >>+ sleep 1 > >>+ timeout=$((timeout - 1)) > >>+ done > >>+ > >>+ if [ -z "${iface}" ] || [ ! -d "/sys/class/net/${iface}" ]; then > >>+ msg "netsetup: no ethernet interface found after 60s, skipping DHCP" > >>+ return > >>+ fi > >>+ > >>+ msg "netsetup: configuring ${iface} via DHCP" > >>+ > >>+ dhcpcd --waitip "${iface}" > >>+} > >>diff --git a/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend > >>new file mode 100644 > >>index 00000000..c8955689 > >>--- /dev/null > >>+++ b/meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend > >>@@ -0,0 +1,15 @@ > >>+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" > >>+ > >>+SUMMARY:initramfs-module-netsetup = "initramfs support for DHCP network setup before NFS root mount" > > > >This should probably be a standalone initramfs-module* recipe, instead of a > >bbappend. > > Agreed. It's a little confusing to add a subpackage like that. We > should create a new recipe and depend on that name to pull in this > one file. The name you chose was fine, just move it out of the > bbappend. There are numerous examples of existing initramfs-module-* recipes that extend initramfs-framework functionality, e.g.: https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb And don't forget about our own such recipe for LUKS with fTPM: https://git.yoctoproject.org/meta-ti/tree/meta-ti-bsp/dynamic-layers/tpm-layer/recipes-ti/initramfs/initramfs-module-luks-ftpm_1.0.bb > >>+SRC_URI:append = " file://83-netsetup" > >>+ > >>+PACKAGES =+ "initramfs-module-netsetup" > >>+ > >>+RDEPENDS:initramfs-module-netsetup = "${PN}-base" > >>+ > >>+FILES:initramfs-module-netsetup = "/init.d/83-netsetup" > >>+ > >>+do_install:append() { > >>+ install -m 0755 ${UNPACKDIR}/83-netsetup ${D}/init.d/83-netsetup > >>+} > >>diff --git a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb > >>index a9eff847..ede0639d 100644 > >>--- a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb > >>+++ b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb > >>@@ -18,6 +18,8 @@ RDEPENDS:${PN} += "\ > >> netbase \ > >> base-files \ > >> base-passwd \ > >>+ dhcpcd \ > >>+ initramfs-module-netsetup \ > >> initramfs-framework-base \ > >> initramfs-module-udev \ > >> initramfs-module-nfsrootfs \ > >>-- > >>2.34.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [meta-ti][master/wrynose][PATCH 0/2] Fix NFS boot on K3 platforms with bsp-next kernel 2026-06-02 10:48 [meta-ti][master/wrynose][PATCH 0/2] Fix NFS boot on K3 platforms with bsp-next kernel Moteen Shah 2026-06-02 10:48 ` [meta-ti][master/wrynose][PATCH 1/2] k3.inc: Add CPSW modules to initramfs for bsp-next NFS boot Moteen Shah 2026-06-02 10:48 ` [meta-ti][master/wrynose][PATCH 2/2] initramfs: Add netsetup module for DHCP network configuration Moteen Shah @ 2026-06-02 10:50 ` PRC Automation 2 siblings, 0 replies; 7+ messages in thread From: PRC Automation @ 2026-06-02 10:50 UTC (permalink / raw) To: Moteen Shah Cc: meta-ti, reatmon, nm, u-kumar1, s-vadapalli, a-limaye, gehariprasath, denys meta-ti / na / 20260602104810.1068959-1-m-shah PRC Results: FAIL ========================================================= check-yocto-patches: PASS ========================================================= Patches ---------------------------------------- All patches passed ========================================================= apply-yocto-patch: PASS ========================================================= master ===================== Summary: - Patch Series: [meta-ti][master/wrynose][PATCH 0/2] Fix NFS boot on K3 platforms with bsp-next kernel - Submitter: From: Moteen Shah <m-shah@ti.com> - Date: Date: Tue, 2 Jun 2026 16:18:08 +0530 - Num Patches: 2 - Mailing List (public inbox) Commit SHA: 1742f2f1f00ab0f1eeac41115904bf1cb8a4f3a3 Applied to: - Repository: lcpd-prc-meta-ti - Base Branch: master-next - Commit Author: LCPD Automation Script <lcpdbld@list.ti.com> - Commit Subject: CI/CD Auto-Merger: cicd.master.202605272200 - Commit SHA: efd871d4eb504ec366027fdf6d1f934d2844a04a Patches ---------------------------------------- All patches applied wrynose ===================== Summary: - Patch Series: [meta-ti][master/wrynose][PATCH 0/2] Fix NFS boot on K3 platforms with bsp-next kernel - Submitter: From: Moteen Shah <m-shah@ti.com> - Date: Date: Tue, 2 Jun 2026 16:18:08 +0530 - Num Patches: 2 - Mailing List (public inbox) Commit SHA: 1742f2f1f00ab0f1eeac41115904bf1cb8a4f3a3 Applied to: - Repository: lcpd-prc-meta-ti - Base Branch: wrynose-wip - Commit Author: Suhaas Joshi <s-joshi@ti.com> - Commit Subject: meta-ti: optee: Update to 4.10.0 tag - Commit SHA: 42558bf1f1b1ec3224a957e6ac51c7e7ec83b427 Patches ---------------------------------------- All patches applied ========================================================= check-yocto-repo: FAIL ========================================================= master ===================== FAIL WARN: .bbappend files might need a guard to make them check-layer compliant. (GUARD-1) meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend For details on the above errors/warnings visit: https://lists.yoctoproject.org/g/meta-ti/wiki/40887 wrynose ===================== FAIL WARN: .bbappend files might need a guard to make them check-layer compliant. (GUARD-1) meta-ti-bsp/recipes-core/initramfs-scripts/initramfs-framework_%.bbappend For details on the above errors/warnings visit: https://lists.yoctoproject.org/g/meta-ti/wiki/40887 ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-06-02 17:34 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-06-02 10:48 [meta-ti][master/wrynose][PATCH 0/2] Fix NFS boot on K3 platforms with bsp-next kernel Moteen Shah 2026-06-02 10:48 ` [meta-ti][master/wrynose][PATCH 1/2] k3.inc: Add CPSW modules to initramfs for bsp-next NFS boot Moteen Shah 2026-06-02 10:48 ` [meta-ti][master/wrynose][PATCH 2/2] initramfs: Add netsetup module for DHCP network configuration Moteen Shah 2026-06-02 13:47 ` Denys Dmytriyenko 2026-06-02 14:59 ` Ryan Eatmon 2026-06-02 17:34 ` Denys Dmytriyenko 2026-06-02 10:50 ` [meta-ti][master/wrynose][PATCH 0/2] Fix NFS boot on K3 platforms with bsp-next kernel PRC Automation
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.