new commit

This commit is contained in:
Manuel 2025-04-29 15:29:13 +00:00
parent f54d77f13c
commit e28271286c

View File

@ -54,14 +54,15 @@ def execute_xbps_uhelper_chroot(rootfs_path, xbps_uhelper_args, iso_build_config
completed_process = subprocess.run(command_xbps_uhelper, capture_output=True, text=True)
return completed_process.stdout.strip()
def copy_kernel_image(rootfs_path, boot_path, iso_build_config):
def copy_kernel_image(rootfs_path, boot_path, target_architecture, iso_build_config):
"""
Copies the kernel image file (vmlinuz or vmlinux) from the ROOTFS to the ISO's BOOT directory,
renaming it to 'vmlinuz' (x86_64, i686) or 'vmlinux' (aarch64) and using the correct kernel version.
"""
logger.info("=> Copying kernel image to the ISO BOOT directory...")
kernel_versions = get_kernel_version_in_chroot(rootfs_path, iso_build_config)
kernel_versions = get_kernel_version_in_chroot(rootfs_path, target_architecture, iso_build_config)
if not kernel_versions or 'version_final_part' not in kernel_versions:
logger.error("=> ERROR: Could not obtain kernel version to copy the image.")
raise ValueError("Could not obtain kernel version.")
@ -108,38 +109,25 @@ def copy_kernel_image(rootfs_path, boot_path, iso_build_config):
return kernel_path_in_boot
def get_kernel_version_in_chroot(rootfs_path, target_architecture, iso_build_config):
logger.info("=> DEBUG: Entering get_kernel_version_in_chroot...")
target_arch = target_architecture.lower()
logger.info(f"=> DEBUG: get_kernel_version_in_chroot using target_arch: '{target_arch}'")
boot_dir = os.path.join(rootfs_path, 'boot')
logger.info(f"=> DEBUG: get_kernel_version_in_chroot checking directory: '{boot_dir}'")
try:
boot_files = os.listdir(boot_dir)
logger.info(f"=> DEBUG: get_kernel_version_in_chroot found files: {boot_files}")
except FileNotFoundError:
logger.error(f"=> ERROR: /boot directory not found at: {boot_dir}")
return None
kernel_version = None
for filename in boot_files:
logger.info(f"=> DEBUG: Checking filename: '{filename}'")
if target_arch.startswith('i686') or target_arch == 'x86_64':
if filename.startswith('vmlinuz-'):
logger.info(f"=> DEBUG: Matched vmlinuz pattern for x86/i686: '{filename}'")
kernel_version = filename.replace('vmlinuz-', '')
break
elif target_arch == 'aarch64':
if filename.startswith('vmlinux-'):
logger.info(f"=> DEBUG: Matched vmlinux pattern for aarch64: '{filename}'")
kernel_version = filename.replace('vmlinux-', '')
break
logger.info(f"=> DEBUG: kernel_version after loop: '{kernel_version}'")
if not kernel_version:
logger.error(f"=> ERROR: Kernel image not found in: {boot_dir}")
return None
@ -150,7 +138,6 @@ def get_kernel_version_in_chroot(rootfs_path, target_architecture, iso_build_con
'version_final_part': kernel_version,
'version_major_minor': ".".join(kernel_version.split('.')[:2])
}
logger.info(f"=> DEBUG: kernel_versions_dict: {kernel_versions_dict}")
return kernel_versions_dict
def get_kernel_module_dir_in_chroot(rootfs_path, kernel_version):
@ -187,7 +174,6 @@ def create_initramfs(rootfs_path, boot_path, target_architecture, xbps_commands,
"/boot/initrd",
kernel_version_final_part,
]
logger.info("=> *** EXTRA CHECK: EXECUTING CORRECTED ISO_BUILDER.PY SCRIPT VERSION (BEFORE DRACUT!) ***")
try:
subprocess.run(dracut_command, check=True)
except subprocess.CalledProcessError as e: