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) completed_process = subprocess.run(command_xbps_uhelper, capture_output=True, text=True)
return completed_process.stdout.strip() 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, 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. 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...") 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: if not kernel_versions or 'version_final_part' not in kernel_versions:
logger.error("=> ERROR: Could not obtain kernel version to copy the image.") logger.error("=> ERROR: Could not obtain kernel version to copy the image.")
raise ValueError("Could not obtain kernel version.") 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 return kernel_path_in_boot
def get_kernel_version_in_chroot(rootfs_path, target_architecture, iso_build_config): 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() 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') boot_dir = os.path.join(rootfs_path, 'boot')
logger.info(f"=> DEBUG: get_kernel_version_in_chroot checking directory: '{boot_dir}'")
try: try:
boot_files = os.listdir(boot_dir) boot_files = os.listdir(boot_dir)
logger.info(f"=> DEBUG: get_kernel_version_in_chroot found files: {boot_files}")
except FileNotFoundError: except FileNotFoundError:
logger.error(f"=> ERROR: /boot directory not found at: {boot_dir}") logger.error(f"=> ERROR: /boot directory not found at: {boot_dir}")
return None return None
kernel_version = None kernel_version = None
for filename in boot_files: for filename in boot_files:
logger.info(f"=> DEBUG: Checking filename: '{filename}'")
if target_arch.startswith('i686') or target_arch == 'x86_64': if target_arch.startswith('i686') or target_arch == 'x86_64':
if filename.startswith('vmlinuz-'): if filename.startswith('vmlinuz-'):
logger.info(f"=> DEBUG: Matched vmlinuz pattern for x86/i686: '{filename}'")
kernel_version = filename.replace('vmlinuz-', '') kernel_version = filename.replace('vmlinuz-', '')
break break
elif target_arch == 'aarch64': elif target_arch == 'aarch64':
if filename.startswith('vmlinux-'): if filename.startswith('vmlinux-'):
logger.info(f"=> DEBUG: Matched vmlinux pattern for aarch64: '{filename}'")
kernel_version = filename.replace('vmlinux-', '') kernel_version = filename.replace('vmlinux-', '')
break break
logger.info(f"=> DEBUG: kernel_version after loop: '{kernel_version}'")
if not kernel_version: if not kernel_version:
logger.error(f"=> ERROR: Kernel image not found in: {boot_dir}") logger.error(f"=> ERROR: Kernel image not found in: {boot_dir}")
return None 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_final_part': kernel_version,
'version_major_minor': ".".join(kernel_version.split('.')[:2]) 'version_major_minor': ".".join(kernel_version.split('.')[:2])
} }
logger.info(f"=> DEBUG: kernel_versions_dict: {kernel_versions_dict}")
return kernel_versions_dict return kernel_versions_dict
def get_kernel_module_dir_in_chroot(rootfs_path, kernel_version): 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", "/boot/initrd",
kernel_version_final_part, kernel_version_final_part,
] ]
logger.info("=> *** EXTRA CHECK: EXECUTING CORRECTED ISO_BUILDER.PY SCRIPT VERSION (BEFORE DRACUT!) ***")
try: try:
subprocess.run(dracut_command, check=True) subprocess.run(dracut_command, check=True)
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e: