From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 8F00115815E for ; Fri, 9 Feb 2024 16:19:30 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 2CC34E2A7B; Fri, 9 Feb 2024 16:19:26 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id D5337E2A6C for ; Fri, 9 Feb 2024 16:19:25 +0000 (UTC) Message-ID: Date: Fri, 9 Feb 2024 17:19:24 +0100 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [gentoo-dev] [PATCH 2/2] kernel-install.eclass: install vmlinu{x,z} symlink Content-Language: en-US, nl-NL To: gentoo-dev@lists.gentoo.org References: <576a69ac-8fea-4d58-b573-58812af5c25d@gentoo.org> From: Andrew Ammerlaan Autocrypt: addr=andrewammerlaan@gentoo.org; keydata= xsBNBF3n3cUBCAC6uoDZ0XzaO29l8AzUblXQ5rxZI7nbGEnfFqjEQCK3oEXxsDa9Ez1myx3M ir53Vyx64Iz1Bq/TOS/PttgguPpiLggCpTTD2vavp5SwFmg272+P8bUJVJF2mMRm0OR/YPiA B5dNfcoLqKIj+ZMOtrZ72B7agkUn+iDt8lB2fZ7XhfZMyQBXICYSe+EiJJmTuvIhHhOn7GCT VjpwGYCCSw3F/j2VPmJPUftz6Nb4oWaiaJ6ZwroS2ECYqZKeo+dXCsmB/LZWYqIFSSPILTLZ f1Hh/TklnQqkNVO+nY/B/o9RVYAhWJbl/F4VaKlRXemE+pDZIALlK8kt0IFU6liUOHHlABEB AAHNLUFuZHJldyBBbW1lcmxhYW4gPGFuZHJld2FtbWVybGFhbkBnZW50b28ub3JnPsLAlwQT AQgAQQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAIZARYhBAb/U0G9gF2wvH0HpqGfY2zU 7bzRBQJlNiYEBQkJL3u/AAoJEKGfY2zU7bzRUeYH/33eX3sOyo3++xcqR/KrTNodkgWAknPe Jl8BiYdIn7zEgif5Fz6Uu8IzjfDpPd8uR82sbV2uQWarrpNmnPrAACKuAuYN9vnuLZ+9UWz6 ybGqMm545+qsFtUTTzdveMPEWr2nr+payfxthK6OdgZU5ZseLxDS9KYmBeAC7RVnIWMVDn9n opmuFK5iGxIUvIbYIl/xrk2HPAIsh1ScLBy4z7r8PFmWT1XGC0Na6PJyEG2KiQXwjKxwsljQ 6mKEAkKOkbifD0CSO8eg56ccf8WYo0s/+SiYjBjI9SEhbgZbiUbpTSw3eT/g4V2SKX1CYs1z 717XjlMKzqBNaw+AzWgrk0TOwE0EXefdxQEIAJtT7965MCxOTic3mISWSI6Z3mFFYmUkxQt8 gBVsTAezOrkd6xEt/HnFPZqeGnbSiV8gMFPKv4RkaXxWfQYKm+9/12qJNEFdVop1rpe77lU2 h0elVXuWiWsNmwqEhQcs1mq/awzO81Lyob9Miai2qNQ9MBikmFAp9c4n8C42kPLVrTKPmemI 95gZ1Y830W+udYg1jNqLF2ucMDUX1M1U2EfazWI0pNCwPoKnOqAJS+VQbyxtJ1IlE3+9sk+6 hjlTTF+RDYGv5hUoWkmcXDM2X/Cl0XB4XYOWr17Wa6+WXC+80/iLxxolMqM4KfuIR5OizbqK 2CRAJY7la7TSv1lTD1cAEQEAAcLAfAQYAQgAJgIbDBYhBAb/U0G9gF2wvH0HpqGfY2zU7bzR BQJlNiHABQkJL3d7AAoJEKGfY2zU7bzRjDwH/1fp/87km2YYVgrfP1aWLjAA/TwcEVycRJQQ S9Q6xuzgD5AYhjzBSONoN46cwf+gla6xndY0lCawsZN7whtJ/DhqSZEfL0HgHkJ6T8FCXexf n1s6XmIAxqIrMmfsuOkAPLJIHzAAGzQX8DXcRSj1cIDUpa1Uy7ncVvI4EzJBRtJVJXIbl+53 NGauXU8ZuprPYkMSPuW3eHATFc0F5DhmlFUXh+HYYK+2QTO73TENMhngkrYcw63je5bRp/+f 72XFKlf1gXHK1ivg8nYueyUfrxZTBGKagusOiQeOao2I1uYcHoFhPYJrQWePMyZiYyB6PR0K DR4B/Ulo3v0eBXaaYzo= Organization: Gentoo Linux In-Reply-To: <576a69ac-8fea-4d58-b573-58812af5c25d@gentoo.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Archives-Salt: 264f94be-cac8-4264-828c-a1ff74e307a3 X-Archives-Hash: e08ba34766bb19a45be17c4b4dadcd1a From a06fd4447d34febaa2cca449c8f6979b91a2818e Mon Sep 17 00:00:00 2001 From: Andrew Ammerlaan Date: Wed, 7 Feb 2024 13:41:30 +0100 Subject: [PATCH] kernel-install.eclass: install vmlinu{x,z} symlink and also link generic initrd/uki.efi Signed-off-by: Andrew Ammerlaan --- eclass/kernel-install.eclass | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass index 78a498000790d..ac470c47d9365 100644 --- a/eclass/kernel-install.eclass +++ b/eclass/kernel-install.eclass @@ -572,6 +572,7 @@ kernel-install_pkg_preinst() { local dir_ver=${PV}${KV_LOCALVERSION} local kernel_dir=${ED}/usr/src/linux-${dir_ver} local relfile=${kernel_dir}/include/config/kernel.release + local image_path=$(dist-kernel_get_image_path) [[ ! -d ${kernel_dir} ]] && die "Kernel directory ${kernel_dir} not installed!" [[ ! -f ${relfile} ]] && @@ -598,6 +599,12 @@ kernel-install_pkg_preinst() { rm "${ED}/lib/modules/${release}"/{build,source} || die dosym "../../../src/linux-${dir_ver}" "/usr/lib/modules/${release}/build" dosym "../../../src/linux-${dir_ver}" "/usr/lib/modules/${release}/source" + for file in vmlinux vmlinuz; do + if [[ -e "${ED}/lib/modules/${release}/${file}" ]]; then + rm "${ED}/lib/modules/${release}/${file}" || die + dosym "../../../src/linux-${dir_ver}/${image_path}" "/usr/lib/modules/${release}/${file}" + fi + done fi } @@ -629,7 +636,7 @@ kernel-install_install_all() { local dir_ver=${1} local kernel_dir=${EROOT}/usr/src/linux-${dir_ver} local relfile=${kernel_dir}/include/config/kernel.release - local image_path=${kernel_dir}/$(dist-kernel_get_image_path) + local image_path=$(dist-kernel_get_image_path) local image_dir=${image_path%/*} local module_ver module_ver=$(<"${relfile}") || die @@ -638,15 +645,22 @@ kernel-install_install_all() { if use generic-uki; then # Populate placeholders kernel-install_extract_from_uki linux \ - "${image_dir}"/uki.efi \ - "${image_path}" + "${kernel_dir}/${image_dir}"/uki.efi \ + "${kernel_dir}/${image_path}" kernel-install_extract_from_uki initrd \ - "${image_dir}"/uki.efi \ - "${image_dir}"/initrd + "${kernel_dir}/${image_dir}"/uki.efi \ + "${kernel_dir}/${image_dir}"/initrd + if [[ -L ${EROOT}/lib && ${EROOT}/lib -ef ${EROOT}/usr/lib ]]; then + ln -sf "../../../src/linux-${dir_ver}/${image_dir}/initrd" "${EROOT}/usr/lib/modules/${module_ver}/initrd" || die + ln -sf "../../../src/linux-${dir_ver}/${image_dir}/uki.efi" "${EROOT}/usr/lib/modules/${module_ver}/uki.efi" || die + else + ln -sf "../../../usr/src/linux-${dir_ver}/${image_dir}/initrd" "${EROOT}/lib/modules/${module_ver}/initrd" || die + ln -sf "../../../usr/src/linux-${dir_ver}/${image_dir}/uki.efi" "${EROOT}/lib/modules/${module_ver}/uki.efi" || die + fi else # Remove placeholders, -f because these have already been removed # when doing emerge --config. - rm -f "${image_dir}"/{initrd,uki.efi} || die + rm -f "${kernel_dir}/${image_dir}"/{initrd,uki.efi} || die fi fi @@ -656,7 +670,7 @@ kernel-install_install_all() { nonfatal mount-boot_check_status || break nonfatal dist-kernel_install_kernel "${module_ver}" \ - "${image_path}" "${kernel_dir}/System.map" || break + "${kernel_dir}/${image_path}" "${kernel_dir}/System.map" || break success=1 break