From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6880180325712920576 X-Received: by 2002:a17:90a:902:: with SMTP id n2mr1138372pjn.57.1602682281807; Wed, 14 Oct 2020 06:31:21 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:90a:8046:: with SMTP id e6ls1376258pjw.3.canary-gmail; Wed, 14 Oct 2020 06:31:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyLEjXBlipF47xdnv4QHKf/VnBUBa/sJmqBQFgol3R+hy+rdoEuxKVDIy+9iDQmloHHS/2e X-Received: by 2002:a17:90a:17c9:: with SMTP id q67mr3628154pja.128.1602682281092; Wed, 14 Oct 2020 06:31:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1602682281; cv=none; d=google.com; s=arc-20160816; b=al7zx9jLMB/5MVJH35ylRAoC7ynf5a4X0KuzCDlik5rJeJNAYQeY4LFzsWl0DaDoUi WBttChEmCTFUlukRtwrSdURmO6NgxmlsAtXcLuzEUjM70Fphvqq8qRgeUGpd4Y4GtxUu EWuAs5+a+AZ6Su0GEjPNpcTFk97qxsyXGU3TvW5PwaUSFaE5UnU2rVgjKut0Lx1YccF8 aFOpBo7PuAxe26Y8uH2x/FbCwRVPqEpyiOqQ6e0w4qhHIH7ds5BUzwDm63NfWygJjJQ5 QdbwKLaBYc/0gdmN2VRY3zgIZknMJSA1XpAoy5stO6vm9iCY2lwgyrxVd2i9VEsvB1ob U7nQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:ironport-sdr:ironport-sdr; bh=wjaDhTXrOhZdTOGF3TFcrssgiUDPkJDz+K0CkSh7SUk=; b=CCN9Y3h6TbETBakvkoyWxNnBcamVNiZfwrUvIEk9rOnLAL4nCXvxznTWRp5E/BVrSn aqrSD1Qxl9omWtgS2CyZjX+wWOdzS4YrM8prkSwRFmb+3VBq38vzsGrauZV9rfi3IJn+ kGsNDzY7GQciBlHRZYPmBcWZIR4WPdYCjCO9/m2jyh600J9PlASaqIElMSFgNXXOf7hj elChiCLuhUT2DeaRmlyBgz1uVCf5kx0jyiA/a02rJr2OMrcMmuweP9MpcduMaHsHvMWc tUd6o58jfjD95fOJg+eOsCxafQ5ynYMgAdeqze/7gOsDuVT/GWxYmh+6KnwLyOvHH/cf 2bSA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of vijaikumar_kanagarajan@mentor.com designates 68.232.129.153 as permitted sender) smtp.mailfrom=Vijaikumar_Kanagarajan@mentor.com Return-Path: Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com. [68.232.129.153]) by gmr-mx.google.com with ESMTPS id i9si154075pjh.3.2020.10.14.06.31.20 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 Oct 2020 06:31:20 -0700 (PDT) Received-SPF: pass (google.com: domain of vijaikumar_kanagarajan@mentor.com designates 68.232.129.153 as permitted sender) client-ip=68.232.129.153; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of vijaikumar_kanagarajan@mentor.com designates 68.232.129.153 as permitted sender) smtp.mailfrom=Vijaikumar_Kanagarajan@mentor.com IronPort-SDR: kt7xxF1eI3GQX/FgAmPIjmbZKJp8QfbiYyt5E4yTynsjoX/3Zled6zJDzM80K5Oqnuw1djqqGc dX11QosYBNrAK3jKv+FYVs4pU2YlOh+LWFiddfyaGD49euw89udDhboCCU+hlIOg2zdwIyC4wN ANI3TiGog+KmH0kJptFIVkCj5vNsaC2TAR6zaxyPvwTAzgImeOwyDqGLLOrTtY3ct4plx2l6tl OjCXWgpjmmVdpR+GjWibUI7vT2qfvaCyJoXBRc+oqEuLbGq0xMz5+I4XR+aBWKQcqfxMSSKmcn RDY= X-IronPort-AV: E=Sophos;i="5.77,374,1596528000"; d="scan'208";a="56200163" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa1.mentor.iphmx.com with ESMTP; 14 Oct 2020 05:31:20 -0800 IronPort-SDR: 17XczvHXwZGif4lpEKfp5v1Odj804IgUb236NieHeR9stTntBHRWUZXr9I0vxOYA8cW4CKgdRO 8Xbu5FwC2cbznLapAu+oNMimrdRIrR/0rrlYQRj56RP9xLVHJ+SAfyaOwfYxjUnh2plThGU4xR XQ0jQvreN0kEWHxiv1xOU+dk46A69X2BX9r+O81T0YcrWaEsbtNl9hNNsxFJwHLBpw+FIX7iKF mAcblAKCcmkcMBQbWAfpZadA4L8jy6B2aygi1KUJTDW9GYxXpleLiD+9MoHStWxyd5dkqH6sgJ Qcs= From: Vijai Kumar K To: CC: Vijai Kumar K Subject: [PATCH v6 7/8] Fix legacy bios boot partition Date: Wed, 14 Oct 2020 19:00:41 +0530 Message-ID: <20201014133042.18753-3-Vijaikumar_Kanagarajan@mentor.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201014133042.18753-1-Vijaikumar_Kanagarajan@mentor.com> References: <20201014132729.18571-5-Vijaikumar_Kanagarajan@mentor.com> <20201014133042.18753-1-Vijaikumar_Kanagarajan@mentor.com> MIME-Version: 1.0 Content-Type: text/plain Return-Path: Vijaikumar_Kanagarajan@mentor.com X-ClientProxiedBy: SVR-ORW-MBX-06.mgc.mentorg.com (147.34.90.206) To svr-orw-mbx-01.mgc.mentorg.com (147.34.90.201) X-TUID: vhkoHYlV2ZFE In case of legacy bios, the kernel is required to be present in a seperate partition with necessary syslinux files. This was never mounted onto the target and standard kernel update via apt-get was impossible. Rename the existing kernel and initrd files in the syslinux partition to the standard debian naming format. Copy over System.map and config files to the partition and exclude the /boot in root partition. The latest wic automatically adds the necessary entry for /boot partition in fstab which automounts it during boot. Signed-off-by: Vijai Kumar K --- .../lib/wic/canned-wks/common-isar.wks.inc | 2 +- meta/classes/wic-img.bbclass | 3 +- .../wic/plugins/source/bootimg-pcbios-isar.py | 31 ++++++++++++++----- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/meta-isar/scripts/lib/wic/canned-wks/common-isar.wks.inc b/meta-isar/scripts/lib/wic/canned-wks/common-isar.wks.inc index c8ea4c2..cc38a01 100644 --- a/meta-isar/scripts/lib/wic/canned-wks/common-isar.wks.inc +++ b/meta-isar/scripts/lib/wic/canned-wks/common-isar.wks.inc @@ -1,3 +1,3 @@ # This file is included into 3 canned wks files from this directory part /boot --source bootimg-pcbios-isar --ondisk sda --label boot --active --align 1024 -part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 +part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --exclude-path=boot diff --git a/meta/classes/wic-img.bbclass b/meta/classes/wic-img.bbclass index 985137f..2275ebe 100644 --- a/meta/classes/wic-img.bbclass +++ b/meta/classes/wic-img.bbclass @@ -95,7 +95,8 @@ WIC_CREATE_EXTRA_ARGS ?= "" WICVARS += "\ BBLAYERS IMGDEPLOYDIR DEPLOY_DIR_IMAGE FAKEROOTCMD IMAGE_BASENAME IMAGE_BOOT_FILES \ IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR RECIPE_SYSROOT_NATIVE \ - ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS TRANSLATED_TARGET_ARCH" + ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS TRANSLATED_TARGET_ARCH \ + KERNEL_NAME KERNEL_FILE" # Isar specific vars used in our plugins WICVARS += "KERNEL_IMAGE INITRD_IMAGE DISTRO_ARCH" diff --git a/meta/scripts/lib/wic/plugins/source/bootimg-pcbios-isar.py b/meta/scripts/lib/wic/plugins/source/bootimg-pcbios-isar.py index 4d916d6..493615b 100644 --- a/meta/scripts/lib/wic/plugins/source/bootimg-pcbios-isar.py +++ b/meta/scripts/lib/wic/plugins/source/bootimg-pcbios-isar.py @@ -131,8 +131,13 @@ class BootimgPcbiosIsarPlugin(SourcePlugin): syslinux_conf += "DEFAULT boot\n" syslinux_conf += "LABEL boot\n" - kernel = get_bitbake_var("KERNEL_IMAGE") - initrd = get_bitbake_var("INITRD_IMAGE") + kernel_file = get_bitbake_var("KERNEL_FILE") + kernel_name = get_bitbake_var("KERNEL_NAME") + rootfs_dir = get_bitbake_var("IMAGE_ROOTFS") + kernel = os.path.basename(os.path.realpath(os.path.join(rootfs_dir, kernel_file))) + kernel_version = kernel.strip('-' + kernel_name).strip(kernel_file + '-') + initrd = "initrd.img-%s-%s" % (kernel_version, kernel_name) + syslinux_conf += "KERNEL " + kernel + "\n" syslinux_conf += "APPEND label=boot root=%s initrd=%s %s\n" % \ @@ -156,15 +161,25 @@ class BootimgPcbiosIsarPlugin(SourcePlugin): syslinux_dir = cls._get_syslinux_dir(bootimg_dir) staging_kernel_dir = kernel_dir - kernel = get_bitbake_var("KERNEL_IMAGE") - initrd = get_bitbake_var("INITRD_IMAGE") + kernel_file = get_bitbake_var("KERNEL_FILE") + kernel_name = get_bitbake_var("KERNEL_NAME") + rootfs_dir = rootfs_dir['ROOTFS_DIR'] + kernel = os.path.basename(os.path.realpath(os.path.join(rootfs_dir, kernel_file))) + kernel_version = kernel.strip('-' + kernel_name).strip(kernel_file + '-') + initrd = "initrd.img-%s-%s" % (kernel_version, kernel_name) + config = "config-%s-%s" % (kernel_version, kernel_name) + mapfile = "System.map-%s-%s" % (kernel_version, kernel_name) hdddir = "%s/hdd/boot" % cr_workdir - cmds = ("install -m 0644 %s/%s %s/%s" % - (staging_kernel_dir, kernel, hdddir, kernel), - "install -m 0644 %s/%s %s/%s" % - (staging_kernel_dir, initrd, hdddir, initrd), + cmds = ("install -m 0644 %s/%s/%s %s/%s" % + (rootfs_dir, "boot", kernel, hdddir, kernel), + "install -m 0644 %s/%s/%s %s/%s" % + (rootfs_dir, "boot", initrd, hdddir, initrd), + "install -m 0644 %s/%s/%s %s/%s" % + (rootfs_dir, "boot", config, hdddir, config), + "install -m 0644 %s/%s/%s %s/%s" % + (rootfs_dir, "boot", mapfile, hdddir, mapfile), "install -m 444 %s/modules/bios/ldlinux.c32 %s/ldlinux.c32" % (syslinux_dir, hdddir), "install -m 0644 %s/modules/bios/vesamenu.c32 %s/vesamenu.c32" % -- 2.17.1