mirror of
https://git.yoctoproject.org/poky
synced 2026-04-28 15:32:27 +02:00
wic bootimg-efi.py: keep timestamps and add debug prints
Keep timestamps etc to help build reproducibility. Add prints to see what is being copied to ESP partition. (From OE-Core rev: cedcd25c5e3cd002dd34651c182193731d7c964b) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
ceaff21850
commit
c50552a2a5
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user