summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/lib/wic/utils/misc.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/scripts/lib/wic/utils/misc.py b/scripts/lib/wic/utils/misc.py
index 9d750694df..d886d75b95 100644
--- a/scripts/lib/wic/utils/misc.py
+++ b/scripts/lib/wic/utils/misc.py
@@ -17,6 +17,7 @@
17 17
18import os 18import os
19import time 19import time
20import wic.engine
20 21
21def build_name(kscfg, release=None, prefix=None, suffix=None): 22def build_name(kscfg, release=None, prefix=None, suffix=None):
22 """Construct and return an image name string. 23 """Construct and return an image name string.
@@ -56,3 +57,41 @@ def build_name(kscfg, release=None, prefix=None, suffix=None):
56 ret = prefix + name + suffix 57 ret = prefix + name + suffix
57 58
58 return ret 59 return ret
60
61def find_boot_config(scripts_path, boot_file):
62 """
63 Find a config file with the given name in the canned files dir.
64
65 Return False if not found
66 """
67 if os.path.exists(boot_file):
68 return boot_file
69
70 layers_canned_wks_dir = wic.engine.build_canned_image_list(scripts_path)
71 for canned_wks_dir in layers_canned_wks_dir:
72 for root, dirs, files in os.walk(canned_wks_dir):
73 for fname in files:
74 if fname == boot_file:
75 fullpath = os.path.join(canned_wks_dir, fname)
76 return fullpath
77
78 return None
79
80def get_custom_config(boot_file):
81 """
82 Get the custom configuration to be used for the bootloader.
83
84 Return None if the file can't be found.
85 """
86 scripts_path = os.path.abspath(os.path.dirname(__file__))
87 # Get the scripts path of poky
88 for x in range(0, 3):
89 scripts_path = os.path.dirname(scripts_path)
90
91 cfg_file = find_boot_config(scripts_path, boot_file)
92 if cfg_file:
93 with open(cfg_file, "r") as f:
94 config = f.read()
95 return config
96
97 return None