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