diff mbox series

[meta-initramfs] dracut: update to 108

Message ID 20250923082547.893704-1-koen.kooi@oss.qualcomm.com
State Under Review
Headers show
Series [meta-initramfs] dracut: update to 108 | expand

Commit Message

Koen Kooi Sept. 23, 2025, 8:25 a.m. UTC
Drop stale patches, add a patch that enables stripping in an OE enviroment.

Upstream changelog:

* systemd-udevd:  99-systemd.rules added in two places ([a8c0a15c](https://github.com/dracut-ng/dracut-ng/commit/a8c0a15cf9b61b7f606e4162164b526eb58f620b))
* watchdog:  only install wdctl for the non-systemd case ([ad0fd3a8](https://github.com/dracut-ng/dracut-ng/commit/ad0fd3a8dfcb155290bc8b7ec9f83144daa3d9df))

*   add Debian/Ubuntu specific Dracut configuration ([cba1a2c2](https://github.com/dracut-ng/dracut-ng/commit/cba1a2c2cda9d2fb26fb694f59dac88bf1b0b725))
*   allow the use of $kernel in initrdname= config ([696397dd](https://github.com/dracut-ng/dracut-ng/commit/696397dd8d8b200549fba4b564f97b1864143093))
*   add support for removing a space separated list of files ([f8dfe3ee](https://github.com/dracut-ng/dracut-ng/commit/f8dfe3ee5b958262c38a821b15443893e400dba0))
*   make variable set check work with "set -u" ([ee8f4f9d](https://github.com/dracut-ng/dracut-ng/commit/ee8f4f9d3e011c829bda7a8b7ee19aef85dd6ffb))
*   support dracutsysrootdir being unset ([348888b8](https://github.com/dracut-ng/dracut-ng/commit/348888b8d9067a9e983650129b7a3ea64fb8430f))
*   tests are not packaged by default to simplify packaging ([e65a87cf](https://github.com/dracut-ng/dracut-ng/commit/e65a87cf0a14a5c7157ea4cfe56eb8639435eaa4))
*   set hostonly_cmdline config to no by default ([efaee447](https://github.com/dracut-ng/dracut-ng/commit/efaee4473680db78f4f3244ba952e783ea3b5aa9))
*   set hostonly config by default in configure ([62fdf59c](https://github.com/dracut-ng/dracut-ng/commit/62fdf59c94ef7ec2261d054384ceddff39c3643b))
* Makefile:  explicitly list configs to install ([f7416501](https://github.com/dracut-ng/dracut-ng/commit/f7416501a7465318682bf7c619c1f52bdb6b1b02))
* base:  add support for rd.driver.pre ([5ca76df3](https://github.com/dracut-ng/dracut-ng/commit/5ca76df3a29467404611443d75539a02824a0dfa))
* crypt-gpg:  handle multiple gpg pubkeys ([28ad7910](https://github.com/dracut-ng/dracut-ng/commit/28ad79106c7fc87ba7f5f6f0c86faeb4191c567e))
* dracut:
  *  drop DRACUT_PATH and rely on PATH ([2606f985](https://github.com/dracut-ng/dracut-ng/commit/2606f985d6f38c464a8485421683571e2df266dd))
  *  support SOURCE_DATE_EPOCH ([dfcfa6fb](https://github.com/dracut-ng/dracut-ng/commit/dfcfa6fbe8007e62f4f7977f69646710f0af6100))
  *  allow users to choose which dlopen dependencies they want ([96a91d04](https://github.com/dracut-ng/dracut-ng/commit/96a91d04ddf004071007870dc1cabab6b4c94f69))
  *  replace ldd with dracut-install --dry-run or header check ([e8b733f7](https://github.com/dracut-ng/dracut-ng/commit/e8b733f7c545b35511711ae6514065dce6530724))
  *  set systemdversion global var using pkg-config ([ed80f9f4](https://github.com/dracut-ng/dracut-ng/commit/ed80f9f42c2e92c9494ddaad9cfca0312319eec2))
* dracut-install:
  *  add --dry-run option to replace external ldd usage ([161153f9](https://github.com/dracut-ng/dracut-ng/commit/161153f901877f825f3e038367fee631eacac8f2))
  *  extend new ELF parsing code to replace ldd calls ([aac5c914](https://github.com/dracut-ng/dracut-ng/commit/aac5c914af84e8880fcc154ebb93a05c6b6855dc))
  *  parse ELF .note.dlopen entries for extra deps ([19b5faad](https://github.com/dracut-ng/dracut-ng/commit/19b5faad97971a6d906740de28cfe366a7fae687))
* initqueue:  factor out initqueue into its own module ([3daf6783](https://github.com/dracut-ng/dracut-ng/commit/3daf67830d8db3b12bc45eef9f8f29f606192db9))
* network-manager:  use upstream initrd services if available ([83dffc58](https://github.com/dracut-ng/dracut-ng/commit/83dffc58f606ad7ad47a32716ce240831d7f018f))
* resume:  do not depend on initqueue if systemd is used ([34457e07](https://github.com/dracut-ng/dracut-ng/commit/34457e070bc9d5c5bc622363eb7acf4767f16e46))
* rootfs-block-fallback:  factor out rootfallback into its own module ([2676f1a5](https://github.com/dracut-ng/dracut-ng/commit/2676f1a5fc9a090866d0b29bf161850a7e93e87e))
* watchdog:  do not depend on initqueue if systemd is used ([c8dbd9ec](https://github.com/dracut-ng/dracut-ng/commit/c8dbd9ecc8ea1983c6e51c1205939247a434c661))

*   load essential storage kernel modules in sloppy hostonly mode ([87304767](https://github.com/dracut-ng/dracut-ng/commit/87304767b16f45b7eacd1e5e622adab029e7902e))
*   increase deteminism by not relying on the default sorting from ls ([c9f6b867](https://github.com/dracut-ng/dracut-ng/commit/c9f6b8674e38b19c7666e30601bb5ed6a205b661))
*   network-manager dracut module no longer depends on systemd ([8f063e23](https://github.com/dracut-ng/dracut-ng/commit/8f063e23370e8953b6189990a1179517d2454c69))
*   support DRACUT_SYSTEMD being unset ([79ffbd28](https://github.com/dracut-ng/dracut-ng/commit/79ffbd28294818a36e515a441142125d70e3acbb))
*   support hostonly being unset ([c85c9324](https://github.com/dracut-ng/dracut-ng/commit/c85c93245bf48d1a47e12c30cdb4aa49ea2a585e))
*   support DRACUT_RESOLVE_LAZY being unset ([3d383ba4](https://github.com/dracut-ng/dracut-ng/commit/3d383ba4fa98993a423c849054cb1d51eff81b24))
*   loongarch architecture support ([38f44b35](https://github.com/dracut-ng/dracut-ng/commit/38f44b35d05587c601caea50d765b89be6f9305d))
*   let check_vol_slaves_all return 1 when checks on all slaves fail ([b117013b](https://github.com/dracut-ng/dracut-ng/commit/b117013b7829883f6b2b1d0fe12e8a7772a38029))
*   improve hostonly sloppy mode ([53537ae7](https://github.com/dracut-ng/dracut-ng/commit/53537ae77e49ab5ba157fdab544489db10ad8b1b), closes [#1321](https://github.com/dracut-ng/dracut-ng/issues/1321))
*   load more kernel modules in sloppy hostonly mode ([de862885](https://github.com/dracut-ng/dracut-ng/commit/de862885ec55bb19bfa3e3f1afd27577b7c5e309))
* Makefile:  remove test modules after renumbering ([80961ee0](https://github.com/dracut-ng/dracut-ng/commit/80961ee0b36ca3ff60cacd68986217506c305176))
* base:
  *  base module failure if root password is already set ([e4551d40](https://github.com/dracut-ng/dracut-ng/commit/e4551d403f9fd6e09bde401c16bb0974bce3a23a))
  *  dracut-lib.sh soft depends on poweroff/reboot/halt ([237108c3](https://github.com/dracut-ng/dracut-ng/commit/237108c332a4a738c29e9b5210cdd00b7922c6ce))
  *  support PREFIX being unset ([7bea9dfe](https://github.com/dracut-ng/dracut-ng/commit/7bea9dfed63207b1fb7b9fd5b5aab4b038727652))
  *  only create nobody user for nfs dracut module ([8934a8e5](https://github.com/dracut-ng/dracut-ng/commit/8934a8e50fc89f7f13539be027149b1246c2481d))
* dmsquash-live:  erofs collision with latest util-linux ([950475e8](https://github.com/dracut-ng/dracut-ng/commit/950475e848c9eec03b5283bfd1d8722c051edd2d))
* dracut:
  *  only call uname -r if it is safe to do ([3f4497ed](https://github.com/dracut-ng/dracut-ng/commit/3f4497ed842ba8be998893b441cc936e2721cd63))
  *  detect if systemd-detect-virt is available before calling it ([5d3298ea](https://github.com/dracut-ng/dracut-ng/commit/5d3298ea9ed8790e57514d1d0ea2117fb7af363b))
  *  consolidate reporting running in a container ([000f5dbf](https://github.com/dracut-ng/dracut-ng/commit/000f5dbfb6539d03fc90165d04de88b49ff6bedb))
  *  ensure hardlink deduplication is reproducible ([9fdf683f](https://github.com/dracut-ng/dracut-ng/commit/9fdf683f6d2f7c6ecbd98884f142de86bbea5a56))
  *  respect PKG_CONFIG env var instead of hardcoding pkg-config ([0ee92dbb](https://github.com/dracut-ng/dracut-ng/commit/0ee92dbba684e2c39b615a50b03ae5d15e3dc18e))
* dracut-init:  use sysroot when checking udev rule program existence ([c1000cda](https://github.com/dracut-ng/dracut-ng/commit/c1000cda35959b6f7dfb2e88cc657a846e44d841))
* dracut-init.sh:
  *  support DRACUT_NO_XATTR being unset ([d520252a](https://github.com/dracut-ng/dracut-ng/commit/d520252aae1553ecc4d368236287baf3a32040c9))
  *  initialize _files in inst_libdir_file ([2311abeb](https://github.com/dracut-ng/dracut-ng/commit/2311abeba53ec353f494240d7da9b24aad9e3d5e))
* dracut-initramfs-restore:  check for Debian initrd.img symlink ([f80128e9](https://github.com/dracut-ng/dracut-ng/commit/f80128e91aae68449e1006cc7a9d6fcf8eacea32))
* dracut-install:
  *  sort output of --modalias ([41e43068](https://github.com/dracut-ng/dracut-ng/commit/41e4306840959b88758aad6a768c613b0864c763))
  *  install all suppliers of a supplier's module ([80574db7](https://github.com/dracut-ng/dracut-ng/commit/80574db78cf7d0cf007d933cf950ac159f6de3b3))
  *  do not limit supplier handling to platform bus ([e35c5173](https://github.com/dracut-ng/dracut-ng/commit/e35c517310d7e5edb24c10bf5be7f597502197a2))
  *  add sysfs node parents' modules as dependencies ([3607cd8f](https://github.com/dracut-ng/dracut-ng/commit/3607cd8fcbe433802e70d7cc055b18f829cb3b3c))
  *  rework broken destination existence logic ([425e263b](https://github.com/dracut-ng/dracut-ng/commit/425e263be559c7a005579072f4051c047a1c1511))
  *  plug memory leak on kerneldir ([082b6b0a](https://github.com/dracut-ng/dracut-ng/commit/082b6b0a6e544865948f177126aac7d40c69b1ba))
  *  deadcode.DeadStores static analyzer warnings ([28041543](https://github.com/dracut-ng/dracut-ng/commit/28041543f661a918ce1eb97ce0b69b20cb891c9b))
* dracut-lib.sh:  initialize variables in getargs ([ef60bd71](https://github.com/dracut-ng/dracut-ng/commit/ef60bd7179505b49ef4c9fd077d7647e0161af2b))
* dracut-logger.sh:  initialize errmsg in dlog_init ([f35a8c7f](https://github.com/dracut-ng/dracut-ng/commit/f35a8c7f04c02cea063a8c0346c9993f120a8196))
* dracut.conf.d:  reserve namespace 50 to out-of-tree configurations ([d470b436](https://github.com/dracut-ng/dracut-ng/commit/d470b436aecceacd520d1629484e7365c9607183))
* dracut.sh:
  *  do not use uname to detect kernel version in a container ([2b2debd7](https://github.com/dracut-ng/dracut-ng/commit/2b2debd7947b7d5a357c1a89691a75dfd3565747))
  *  initialize variables that get exported ([50426818](https://github.com/dracut-ng/dracut-ng/commit/504268187b863d11a8c39e0a242aa77e688c8b0d))
  *  don't pass empty string as dir ([758f3eaf](https://github.com/dracut-ng/dracut-ng/commit/758f3eaf61ac210507715f4b5681e24f6dc4d3b0), closes [#1275](https://github.com/dracut-ng/dracut-ng/issues/1275))
* fcoe-uefi:  exit early on empty vlan ([555b6e1d](https://github.com/dracut-ng/dracut-ng/commit/555b6e1d685ce5960109aefe736ed3ebdf50a839))
* fips:  make sha512hmac an optional requirement ([3d319b55](https://github.com/dracut-ng/dracut-ng/commit/3d319b55a65d9be2c9a9dade3c23cd0f377416b7))
* generic.conf:  increase ordering for generic.conf ([d823fd86](https://github.com/dracut-ng/dracut-ng/commit/d823fd86d364dce3b26cd0cc441aa4c86a8db20c))
* i18n:  add $dracutsysrootdir to systemd-vconsole-setup.service path ([90956522](https://github.com/dracut-ng/dracut-ng/commit/90956522ba143125de9f060368cef83aa64e1a3e))
* livenet:  drop stray command call ([9135136d](https://github.com/dracut-ng/dracut-ng/commit/9135136d7dfca0deb8b0c618c43e3ffcc35b3090), closes [#1240](https://github.com/dracut-ng/dracut-ng/issues/1240))
* lsinitrd:  resolve initrd to real path ([22d93bc0](https://github.com/dracut-ng/dracut-ng/commit/22d93bc0cd5afd0d9170c6bdc8ba7ceac68b8eb5))
* man:  document what to expect running dracut non-root ([b853eba8](https://github.com/dracut-ng/dracut-ng/commit/b853eba87684d608637493f8c8214dda4ec96102))
* modules:
  *  free up range 00-09 to out of tree dracut modules ([1edcb076](https://github.com/dracut-ng/dracut-ng/commit/1edcb07619958f05727d3c30b72f7810b62c22a1))
  *  document known module dependencies ([2d98ddb5](https://github.com/dracut-ng/dracut-ng/commit/2d98ddb5d273348db32c248561560dc0975a0189))
  *  move more modules with unimportant ordering to 70 ([c439438d](https://github.com/dracut-ng/dracut-ng/commit/c439438d4f87f391db021b6037830a034f321dfd))
  *  all modules with 99 ordering should have a unique number ([2199846f](https://github.com/dracut-ng/dracut-ng/commit/2199846ffebca406a957b781509c42a42d101ba7))
* network-manager:  depend on dbus only when using systemd ([58baf861](https://github.com/dracut-ng/dracut-ng/commit/58baf861c68b1f233da4c89d1a8a398ac307cb6c))
* simpledrm:  add =drivers/gpu/drm/panel ([b7a2f8d0](https://github.com/dracut-ng/dracut-ng/commit/b7a2f8d0bdcc57ef7ad137fde657c4a359b7a824))
* systemd:
  *  systemd.volatile needs overlayfs kernel module ([e1452003](https://github.com/dracut-ng/dracut-ng/commit/e14520035286dbb4ee856cac2e05c1f21c6e148d))
  *  make checking for systemd availability consistent ([8e575556](https://github.com/dracut-ng/dracut-ng/commit/8e575556da2bc6d41265fdffd4c4bf7bd69ab71e))
* systemd-cryptsetup:  don't pull in fido2/pkcs11/tpm2-tss if omitted ([01b369a5](https://github.com/dracut-ng/dracut-ng/commit/01b369a5866853c8dc5c53c7d4d8613e5721be34))
* systemd-repart:
  *  allow partition format ([02201361](https://github.com/dracut-ng/dracut-ng/commit/02201361ac0e646f9367ec7f14b215795e89cf6a))
  *  copy systemd system drop-in configuration ([bb8bf124](https://github.com/dracut-ng/dracut-ng/commit/bb8bf124526f25ac698ef05bc95eb2fe625d69c7))
* systemd-sysext:
  *  install the required kernel modules ([7f524d3d](https://github.com/dracut-ng/dracut-ng/commit/7f524d3d24528a7261f0cce1e445ef464f5bf126))
  *  make non-hostonly non-host ([e42755c3](https://github.com/dracut-ng/dracut-ng/commit/e42755c342bdc15ae77be722f0ec2a8c23390be5))
* systemd-sysusers:
  *  maintain users and groups ([50285645](https://github.com/dracut-ng/dracut-ng/commit/50285645e617a537e69d4eb8f22dbe83c9b22665))
  *  remove (g)shadow created by systemd-sysusers ([97b5f91f](https://github.com/dracut-ng/dracut-ng/commit/97b5f91ff043b13b213438295675ff85e83dc6de), closes [#1242](https://github.com/dracut-ng/dracut-ng/issues/1242))
* systemd-udevd:  handle root=gpt-auto for systemd-v258 ([fa17b6fb](https://github.com/dracut-ng/dracut-ng/commit/fa17b6fb0e5a226a83588c2d8fdec5ff285f5eab))
* test:  renumber test modules to 70 ([99ed458b](https://github.com/dracut-ng/dracut-ng/commit/99ed458b5b1870c57e936a216149c9b7bb5b9f21))

Signed-off-by: Koen Kooi <koen.kooi@oss.qualcomm.com>
---
 ...all-split-ldd-command-arguments-for-.patch | 91 -------------------
 ...cut.sh-try-STRIP-for-strip_cmd-first.patch | 33 +++++++
 ...n-symlink-in-dracut-config-examples.patch} | 14 +--
 .../dracut/{dracut_106.bb => dracut_108.bb}   | 47 ++++++++--
 4 files changed, 79 insertions(+), 106 deletions(-)
 delete mode 100644 meta-initramfs/recipes-devtools/dracut/dracut/0001-feat-dracut-install-split-ldd-command-arguments-for-.patch
 create mode 100644 meta-initramfs/recipes-devtools/dracut/dracut/0001-feat-dracut.sh-try-STRIP-for-strip_cmd-first.patch
 rename meta-initramfs/recipes-devtools/dracut/dracut/{0001-fix-broken-symlink-in-dracut-config-examples.patch => 0002-fix-broken-symlink-in-dracut-config-examples.patch} (83%)
 rename meta-initramfs/recipes-devtools/dracut/{dracut_106.bb => dracut_108.bb} (59%)
diff mbox series

Patch

diff --git a/meta-initramfs/recipes-devtools/dracut/dracut/0001-feat-dracut-install-split-ldd-command-arguments-for-.patch b/meta-initramfs/recipes-devtools/dracut/dracut/0001-feat-dracut-install-split-ldd-command-arguments-for-.patch
deleted file mode 100644
index febdbdbddd..0000000000
--- a/meta-initramfs/recipes-devtools/dracut/dracut/0001-feat-dracut-install-split-ldd-command-arguments-for-.patch
+++ /dev/null
@@ -1,91 +0,0 @@ 
-From 38dea7dd671fd621b563377cfbd95e4783568c6e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
- <zboszor@gmail.com>
-Date: Fri, 7 Jun 2024 10:32:40 +0200
-Subject: [PATCH] feat(dracut-install): split ldd command arguments for
- execvp()
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This restores a not-so-subtle feature of previously executing ldd
-via popen(), i.e. the ability to use a cross-compiled sysroot.
-
-The ldd command may be passed in via the DRACUT_LDD environment
-variable, and the command may contain command line arguments.
-The number of such arguments are not known in advance.
-
-Split the command into executable and arguments and run it
-via execvp().
-
-Fixes: d010fa0d7f8ef42ad31729d027d2e4be6dd6e588
-Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
-Upstream-Status: Submitted [https://github.com/dracut-ng/dracut-ng/pull/339]
----
- src/install/dracut-install.c | 47 +++++++++++++++++++++++++++++++++++-
- 1 file changed, 46 insertions(+), 1 deletion(-)
-
-diff --git a/src/install/dracut-install.c b/src/install/dracut-install.c
-index e9708c45..724b27b5 100644
---- a/src/install/dracut-install.c
-+++ b/src/install/dracut-install.c
-@@ -559,10 +559,55 @@ static int resolve_deps(const char *src)
-         log_debug("%s %s", ldd, fullsrcpath);
-         pid_t ldd_pid;
-         if ((ldd_pid = fork()) == 0) {
-+                char **cmdline = NULL;
-+                int start, pos, idx = 0;
-+                /* Account for at least 2 elements plus the terminating NULL in cmdline */
-+                int args = 3;
-+
-+                /* Estimate the number of space-separated elements in the "ldd" string */
-+                pos = 0;
-+                while (isspace(ldd[pos]))
-+                        pos++;
-+                for (; ldd[pos]; pos++) {
-+                        if (isspace(ldd[pos])) {
-+                                if (pos)
-+                                        args++;
-+                                while (isspace(ldd[pos]))
-+                                        pos++;
-+                        }
-+                }
-+
-+                cmdline = malloc(args * sizeof(char *));
-+                memset(cmdline, 0, args * sizeof(char *));
-+
-+                pos = 0;
-+                while (isspace(ldd[pos]))
-+                        pos++;
-+                start = pos;
-+                for (; ldd[pos]; pos++) {
-+                        while (ldd[pos] && !isspace(ldd[pos]))
-+                                pos++;
-+
-+                        cmdline[idx] = malloc(pos - start + 1);
-+                        memcpy(cmdline[idx], ldd + start, pos - start);
-+                        cmdline[idx][pos - start] = 0;
-+                        idx++;
-+
-+                        if (!ldd[pos])
-+                                break;
-+
-+                        while (isspace(ldd[pos]))
-+                                pos++;
-+                        start = pos;
-+                }
-+
-+                cmdline[idx++] = fullsrcpath;
-+                cmdline[idx] = NULL;
-+
-                 dup2(fds[1], 1);
-                 dup2(fds[1], 2);
-                 putenv("LC_ALL=C");
--                execlp(ldd, ldd, fullsrcpath, (char *)NULL);
-+                execvp(cmdline[0], cmdline);
-                 _exit(errno == ENOENT ? 127 : 126);
-         }
-         close(fds[1]);
--- 
-2.45.2
-
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut/0001-feat-dracut.sh-try-STRIP-for-strip_cmd-first.patch b/meta-initramfs/recipes-devtools/dracut/dracut/0001-feat-dracut.sh-try-STRIP-for-strip_cmd-first.patch
new file mode 100644
index 0000000000..00d75ccff6
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/dracut/dracut/0001-feat-dracut.sh-try-STRIP-for-strip_cmd-first.patch
@@ -0,0 +1,33 @@ 
+From b8504fdbc6ac7b49aa0a9671267be8ac7affb2ee Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen.kooi@oss.qualcomm.com>
+Date: Thu, 19 Jun 2025 16:06:14 +0200
+Subject: [PATCH 1/2] feat: dracut.sh: try $STRIP for $strip_cmd first
+
+When using dracut in a cross enviroment, like OpenEmbedded, the host
+provided strip (or eu-strip) won't work, so try using the $STRIP
+variable from the shell environment first before falling back to path
+based lookups.
+
+Signed-off-by: Koen Kooi <koen.kooi@oss.qualcomm.com>
+Upstream-Status: Submitted [https://github.com/dracut-ng/dracut-ng/pull/1639]
+---
+ dracut.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index 45373efb..dbc5cd72 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -2262,7 +2262,8 @@ done
+ if [[ $do_strip == yes ]]; then
+     # Prefer strip from elfutils for package size
+     declare strip_cmd
+-    strip_cmd=$(command -v eu-strip)
++    strip_cmd="${STRIP}"
++    [ -z "$strip_cmd" ] && strip_cmd=$(command -v eu-strip)
+     [ -z "$strip_cmd" ] && strip_cmd="strip"
+ 
+     for p in "$strip_cmd" xargs find; do
+-- 
+2.47.3
+
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut/0001-fix-broken-symlink-in-dracut-config-examples.patch b/meta-initramfs/recipes-devtools/dracut/dracut/0002-fix-broken-symlink-in-dracut-config-examples.patch
similarity index 83%
rename from meta-initramfs/recipes-devtools/dracut/dracut/0001-fix-broken-symlink-in-dracut-config-examples.patch
rename to meta-initramfs/recipes-devtools/dracut/dracut/0002-fix-broken-symlink-in-dracut-config-examples.patch
index 7d0b65a161..e2c202a079 100644
--- a/meta-initramfs/recipes-devtools/dracut/dracut/0001-fix-broken-symlink-in-dracut-config-examples.patch
+++ b/meta-initramfs/recipes-devtools/dracut/dracut/0002-fix-broken-symlink-in-dracut-config-examples.patch
@@ -1,7 +1,7 @@ 
-From 8871c593973d9abfef45408575e5da887830f42e Mon Sep 17 00:00:00 2001
+From e01991f1d55d4d1327793790bad3724b89952704 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Thu, 22 May 2025 18:07:27 +0800
-Subject: [PATCH] fix broken symlink in dracut config examples
+Subject: [PATCH 2/2] fix broken symlink in dracut config examples
 
 Due to commit [1], it installs dracut config examples under /usr.
 But while enable_test=no, the symlink of test in dracut config is broken
@@ -28,17 +28,17 @@  Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
  1 file changed, 1 insertion(+)
 
 diff --git a/Makefile b/Makefile
-index d33aebbc..151d9f79 100644
+index 3a40594b..df7956ab 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -180,6 +180,7 @@ ifneq ($(enable_test),no)
- 	cp -arx test $(DESTDIR)$(pkglibdir)
+@@ -218,6 +218,7 @@ ifeq ($(enable_test),yes)
+ 	done
  else
- 	rm -rf $(DESTDIR)$(pkglibdir)/modules.d/80test*
+ 	rm -rf $(DESTDIR)$(pkglibdir)/modules.d/70test*
 +	rm -rf $(DESTDIR)$(pkglibdir)/dracut.conf.d/test*
  endif
  ifneq ($(enable_documentation),no)
  	for i in $(man1pages); do install -m 0644 $$i $(DESTDIR)$(mandir)/man1/$${i##*/}; done
 -- 
-2.34.1
+2.47.3
 
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_106.bb b/meta-initramfs/recipes-devtools/dracut/dracut_108.bb
similarity index 59%
rename from meta-initramfs/recipes-devtools/dracut/dracut_106.bb
rename to meta-initramfs/recipes-devtools/dracut/dracut_108.bb
index d59b357dc1..5c95abbf29 100644
--- a/meta-initramfs/recipes-devtools/dracut/dracut_106.bb
+++ b/meta-initramfs/recipes-devtools/dracut/dracut_108.bb
@@ -7,10 +7,11 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 PE = "1"
 
-SRCREV = "956c08774074ddc45b2f975e13d5c13d1fc36eff"
+PV = "108"
+SRCREV = "97c5568ec42abd5e6035f0cfa9d319ae6ae4e50a"
 SRC_URI = "git://github.com/dracut-ng/dracut-ng.git;protocol=http;branch=main \
-           file://0001-feat-dracut-install-split-ldd-command-arguments-for-.patch \
-           file://0001-fix-broken-symlink-in-dracut-config-examples.patch \
+           file://0001-feat-dracut.sh-try-STRIP-for-strip_cmd-first.patch \
+           file://0002-fix-broken-symlink-in-dracut-config-examples.patch \
            "
 
 DEPENDS += "kmod"
@@ -18,7 +19,6 @@  DEPENDS:append:libc-musl = " fts"
 
 inherit bash-completion pkgconfig
 
-
 EXTRA_OECONF = "--prefix=${prefix} \
                 --libdir=${nonarch_libdir} \
                 --datadir=${datadir} \
@@ -55,6 +55,32 @@  do_install() {
     fi
 }
 
+do_install:append:class-target () {
+    # Generate and install a config file listing where the DISTRO puts things, dracut
+    # is not always savvy enough to figure it out by itself
+    # Since this primarily fixes systemd issues, only install it when using systemd.
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        cat << EOF > ${B}/${DISTRO}.conf
+stdloglvl=3
+sysloglvl=5
+sysctlconfdir=${sysconfdir}/sysctl.d
+systemdutildir=${systemd_unitdir}
+systemdutilconfdir=${sysconfdir}/systemd
+systemdcatalog=${systemd_unitdir}catalog
+systemdntpunits=${systemd_unitdir}ntp-units.d
+systemdntpunitsconfdir=${sysconfdir}/systemd/ntp-units.d
+systemdportable=${systemd_unitdir}/portable
+systemdportableconfdir=${sysconfdir}/systemd/portable
+systemdsystemunitdir=${systemd_system_unitdir}
+systemdsystemconfdir=${sysconfdir}/systemd/system
+systemduser=${systemd_user_unitdir}
+systemduserconfdir=${sysconfdir}/systemd/user
+EOF
+        install -m 0644 ${B}/${DISTRO}.conf ${D}${libdir}/dracut/dracut.conf.d/
+    fi
+}
+
+
 FILES:${PN} += "${nonarch_libdir}/kernel \
                 ${nonarch_libdir}/dracut \
                 ${systemd_unitdir} \
@@ -63,11 +89,16 @@  FILES:${PN}-dbg += "${nonarch_libdir}/dracut/.debug"
 
 CONFFILES:${PN} += "${sysconfdir}/dracut.conf"
 
-RDEPENDS:${PN} = "findutils cpio util-linux-blkid util-linux-getopt util-linux bash ldd"
+# The native variant uses a non-ldd based method of getting library
+# dependencies, so ldd is only needed on the target
+RDEPENDS:${PN} = "findutils cpio util-linux-blkid util-linux-getopt util-linux bash"
+RDEPENDS:${PN}:append:class-target = " ldd"
 
 # This could be optimized a bit, but let's avoid non-booting systems :)
-RRECOMMENDS:${PN} = "kernel-modules \
-                     coreutils \
-                    "
+RRECOMMENDS:${PN}:class-target = "kernel-modules \
+                                  coreutils \
+                                 "
+
+BBCLASSEXTEND = "native nativesdk"
 
 CVE_STATUS[CVE-2010-4176] = "not-applicable-platform: Applies only to Fedora"