From 2f13dea5d5ec0a7eac11ddb818cde977a18e2035 Mon Sep 17 00:00:00 2001 From: Zev Weiss Date: Sat, 29 Dec 2018 00:16:57 -0600 Subject: [PATCH 1/2] mkinitramfs: generate busybox paths instead of enumerating them explicitly Signed-off-by: Zev Weiss --- virtme/mkinitramfs.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/virtme/mkinitramfs.py b/virtme/mkinitramfs.py index baaefe9..58081e1 100644 --- a/virtme/mkinitramfs.py +++ b/virtme/mkinitramfs.py @@ -9,6 +9,7 @@ import io import os.path import shlex +import itertools from . import cpiowriter from . import modfinder from . import virtmods @@ -165,12 +166,12 @@ def mkinitramfs(out, config): cw.write_trailer() def find_busybox(root, is_native): - for path in ('usr/local/bin/busybox', 'usr/local/sbin/busybox', - 'usr/bin/busybox-static', - 'usr/bin/busybox', 'usr/sbin/busybox', - 'bin/busybox', 'sbin/busybox'): - if os.path.isfile(os.path.join(root, path)): - return os.path.join(root, path) + for p in itertools.product(['usr/local', 'usr', ''], + ['bin', 'sbin'], + ['', '-static']): + path = os.path.join(root, p[0], p[1], 'busybox' + p[2]) + if os.path.isfile(path): + return path if is_native: # Try the host's busybox, if any From da7b73b936e355d1dc6a7933895038d91a218412 Mon Sep 17 00:00:00 2001 From: Zev Weiss Date: Sat, 29 Dec 2018 00:20:34 -0600 Subject: [PATCH 2/2] mkinitramfs: add candidate suffix for static busybox Void Linux's busybox-static package, for example, installs it as 'busybox.static'. Signed-off-by: Zev Weiss --- virtme/mkinitramfs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/virtme/mkinitramfs.py b/virtme/mkinitramfs.py index 58081e1..51f6fc6 100644 --- a/virtme/mkinitramfs.py +++ b/virtme/mkinitramfs.py @@ -168,7 +168,7 @@ def mkinitramfs(out, config): def find_busybox(root, is_native): for p in itertools.product(['usr/local', 'usr', ''], ['bin', 'sbin'], - ['', '-static']): + ['', '-static', '.static']): path = os.path.join(root, p[0], p[1], 'busybox' + p[2]) if os.path.isfile(path): return path