@@ -43,16 +43,18 @@ class BootimgEFIPlugin(SourcePlugin):
if initrd:
initrds = initrd.split(';')
for rd in initrds:
- cp_cmd = "cp %s/%s %s" % (bootimg_dir, rd, hdddir)
- exec_cmd(cp_cmd, True)
+ cp_cmd = "cp -v -p %s/%s %s" % (bootimg_dir, rd, hdddir)
+ out = exec_cmd(cp_cmd, True)
+ logger.debug("initrd files:\n%s" % (out))
else:
logger.debug("Ignoring missing initrd")
if dtb:
if ';' in dtb:
raise WicError("Only one DTB supported, exiting")
- cp_cmd = "cp %s/%s %s" % (bootimg_dir, dtb, hdddir)
- exec_cmd(cp_cmd, True)
+ cp_cmd = "cp -v -p %s/%s %s" % (bootimg_dir, dtb, hdddir)
+ out = exec_cmd(cp_cmd, True)
+ logger.debug("dtb files:\n%s" % (out))
@classmethod
def do_configure_grubefi(cls, hdddir, creator, cr_workdir, source_params):
@@ -150,6 +152,7 @@ class BootimgEFIPlugin(SourcePlugin):
"%s/hdd/boot/loader/loader.conf", cr_workdir)
cfg = open("%s/hdd/boot/loader/loader.conf" % cr_workdir, "w")
cfg.write(loader_conf)
+ logger.debug("loader.conf:\n%s" % (loader_conf))
cfg.close()
configfile = creator.ks.bootloader.configfile
@@ -401,30 +404,33 @@ class BootimgEFIPlugin(SourcePlugin):
exec_native_cmd(objcopy_cmd, native_sysroot)
else:
if source_params.get('install-kernel-into-boot-dir') != 'false':
- install_cmd = "install -m 0644 %s/%s %s/%s" % \
+ install_cmd = "install -v -p -m 0644 %s/%s %s/%s" % \
(staging_kernel_dir, kernel, hdddir, kernel)
- exec_cmd(install_cmd)
+ out = exec_cmd(install_cmd)
+ logger.debug("Installed kernel files:\n%s" % out)
if get_bitbake_var("IMAGE_EFI_BOOT_FILES"):
for src_path, dst_path in cls.install_task:
- install_cmd = "install -m 0644 -D %s %s" \
+ install_cmd = "install -v -p -m 0644 -D %s %s" \
% (os.path.join(kernel_dir, src_path),
os.path.join(hdddir, dst_path))
- exec_cmd(install_cmd)
+ out = exec_cmd(install_cmd)
+ logger.debug("Installed IMAGE_EFI_BOOT_FILES:\n%s" % out)
try:
if source_params['loader'] == 'grub-efi':
shutil.copyfile("%s/hdd/boot/EFI/BOOT/grub.cfg" % cr_workdir,
"%s/grub.cfg" % cr_workdir)
for mod in [x for x in os.listdir(kernel_dir) if x.startswith("grub-efi-")]:
- cp_cmd = "cp %s/%s %s/EFI/BOOT/%s" % (kernel_dir, mod, hdddir, mod[9:])
+ cp_cmd = "cp -v -p %s/%s %s/EFI/BOOT/%s" % (kernel_dir, mod, hdddir, mod[9:])
exec_cmd(cp_cmd, True)
shutil.move("%s/grub.cfg" % cr_workdir,
"%s/hdd/boot/EFI/BOOT/grub.cfg" % cr_workdir)
elif source_params['loader'] == 'systemd-boot':
for mod in [x for x in os.listdir(kernel_dir) if x.startswith("systemd-")]:
- cp_cmd = "cp %s/%s %s/EFI/BOOT/%s" % (kernel_dir, mod, hdddir, mod[8:])
- exec_cmd(cp_cmd, True)
+ cp_cmd = "cp -v -p %s/%s %s/EFI/BOOT/%s" % (kernel_dir, mod, hdddir, mod[8:])
+ out = exec_cmd(cp_cmd, True)
+ logger.debug("systemd-boot files:\n%s" % out)
elif source_params['loader'] == 'uefi-kernel':
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
if not kernel:
@@ -445,8 +451,9 @@ class BootimgEFIPlugin(SourcePlugin):
raise WicError("UEFI stub kernel is incompatible with target %s" % target)
for mod in [x for x in os.listdir(kernel_dir) if x.startswith(kernel)]:
- cp_cmd = "cp %s/%s %s/EFI/BOOT/%s" % (kernel_dir, mod, hdddir, kernel_efi_image)
- exec_cmd(cp_cmd, True)
+ cp_cmd = "cp -v -p %s/%s %s/EFI/BOOT/%s" % (kernel_dir, mod, hdddir, kernel_efi_image)
+ out = exec_cmd(cp_cmd, True)
+ logger.debug("uefi-kernel files:\n%s" % out)
else:
raise WicError("unrecognized bootimg-efi loader: %s" %
source_params['loader'])
@@ -455,13 +462,15 @@ class BootimgEFIPlugin(SourcePlugin):
startup = os.path.join(kernel_dir, "startup.nsh")
if os.path.exists(startup):
- cp_cmd = "cp %s %s/" % (startup, hdddir)
- exec_cmd(cp_cmd, True)
+ cp_cmd = "cp -v -p %s %s/" % (startup, hdddir)
+ out = exec_cmd(cp_cmd, True)
+ logger.debug("startup files:\n%s" % out)
for paths in part.include_path or []:
for path in paths:
- cp_cmd = "cp -r %s %s/" % (path, hdddir)
+ cp_cmd = "cp -v -p -r %s %s/" % (path, hdddir)
exec_cmd(cp_cmd, True)
+ logger.debug("include_path files:\n%s" % out)
du_cmd = "du -bks %s" % hdddir
out = exec_cmd(du_cmd)
@@ -489,12 +498,14 @@ class BootimgEFIPlugin(SourcePlugin):
label = part.label if part.label else "ESP"
- dosfs_cmd = "mkdosfs -n %s -i %s -C %s %d" % \
+ dosfs_cmd = "mkdosfs -v -n %s -i %s -C %s %d" % \
(label, part.fsuuid, bootimg, blocks)
exec_native_cmd(dosfs_cmd, native_sysroot)
+ logger.debug("mkdosfs:\n%s" % (str(out)))
- mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (bootimg, hdddir)
- exec_native_cmd(mcopy_cmd, native_sysroot)
+ mcopy_cmd = "mcopy -v -p -i %s -s %s/* ::/" % (bootimg, hdddir)
+ out = exec_native_cmd(mcopy_cmd, native_sysroot)
+ logger.debug("mcopy:\n%s" % (str(out)))
chmod_cmd = "chmod 644 %s" % bootimg
exec_cmd(chmod_cmd)
Keep timestamps etc to help build reproducibility. Add prints to see what is being copied to ESP partition. Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> --- scripts/lib/wic/plugins/source/bootimg-efi.py | 49 ++++++++++++------- 1 file changed, 30 insertions(+), 19 deletions(-)