mirror of
https://git.yoctoproject.org/poky
synced 2026-04-21 12:32:15 +02:00
wic: bootimg-partition: Select a preferred type if multi kernel images are installed
Automatically select one kernel type image based on a predefined precedence list if there are multi kernel images installed. (From OE-Core rev: d1d80566681d4cdc00aa3d4b5e4bcf5edb7132b7) Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
511b7a565d
commit
42643285cd
@@ -130,24 +130,28 @@ class BootimgPartitionPlugin(SourcePlugin):
|
||||
|
||||
if not custom_cfg:
|
||||
# The kernel types supported by the sysboot of u-boot
|
||||
kernel_types = ["uImage", "zImage", "Image", "vmlinux", "fitImage"]
|
||||
kernel_types = ["zImage", "Image", "fitImage", "uImage", "vmlinux"]
|
||||
has_dtb = False
|
||||
fdt_dir = '/'
|
||||
kernel_name = None
|
||||
|
||||
# Find the kernel image name, from the highest precedence to lowest
|
||||
for image in kernel_types:
|
||||
for task in cls.install_task:
|
||||
src, dst = task
|
||||
if re.match(image, src):
|
||||
kernel_name = os.path.join('/', dst)
|
||||
break
|
||||
if kernel_name:
|
||||
break
|
||||
|
||||
for task in cls.install_task:
|
||||
src, dst = task
|
||||
# Find the kernel image name
|
||||
for image in kernel_types:
|
||||
if re.match(image, src):
|
||||
if not kernel_name:
|
||||
kernel_name = os.path.join('/', dst)
|
||||
else:
|
||||
raise WicError('Multi kernel file founded')
|
||||
|
||||
# We suppose that all the dtb are in the same directory
|
||||
if re.search(r'\.dtb', src) and fdt_dir == '/':
|
||||
has_dtb = True
|
||||
fdt_dir = os.path.join(fdt_dir, os.path.dirname(dst))
|
||||
break
|
||||
|
||||
if not kernel_name:
|
||||
raise WicError('No kernel file founded')
|
||||
|
||||
Reference in New Issue
Block a user