<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hello,<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">I&#8217;ve been trying to get the security stuff in meta-secure-core working so I can upgrade from one version of the OS I&#8217;m creating, right now called LewisOS, to a new version, just by being able to run &#8220;rpm -U&#8221; or &#8220;dnf upgrade&#8221; commands. &nbsp;I
 can run &#8220;dnf upgrade&#8221; successfully against non kernel related packages, but the kernel, initramfs and systemd-boot RPMs always fail with the same error, no matter what I try.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">I am using Zeus for my builds.&nbsp; I am using an older commit for LewisOS version X, 8a518a2054bdd349d7661ee4872590fc8750313f, dated 2019 Dec 30, of the meta-secure-core GIT repo.&nbsp; I am using 8302e3c479154157667e22e9d7c5461c966b4586, dated
 2020 Jan 19, of the meta-secure-core GIT repo for LewisOS version Y.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">My machine is intel-corei7-64.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">I&#8217;ll just stick with systemd-boot RPM for this email.&nbsp; LewisOS version X installs systemd-boot-243&#43;0&#43;efb536d0cb-r0.corei7_64_intell_common.&nbsp; LewisOS version Y contains systemd-boot-243.2-r0.corei7_64_intel_common.&nbsp; When I try to upgrade
 systemd-boot, I get the following error message:<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">=== Start upgrade messages ===<o:p></o:p></p>
<p class="MsoNormal">root@intel-corei7-64:/var/opt/repos/os# rpm -q systemd-boot<o:p></o:p></p>
<p class="MsoNormal">systemd-boot-243&#43;0&#43;efb536d0cb-r0.corei7_64_intel_common<o:p></o:p></p>
<p class="MsoNormal">root@intel-corei7-64:/var/opt/repos/os# rpm -qp systemd-boot-243.2-r0.corei7_64_intel_common.rpm<o:p></o:p></p>
<p class="MsoNormal">systemd-boot-243.2-r0.corei7_64_intel_common<o:p></o:p></p>
<p class="MsoNormal">root@intel-corei7-64:/var/opt/repos/os# rpm -Uhv systemd-boot-243.2-r0.corei7_64_intel_common.rpm<o:p></o:p></p>
<p class="MsoNormal">Verifying&#8230;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ######################################## [100%]<o:p></o:p></p>
<p class="MsoNormal">Preparing&#8230;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ######################################## [100%]<o:p></o:p></p>
<p class="MsoNormal">Updating / installing&#8230;<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp; 1:systemd-boot-243.2-r0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ######################################## [ 50%]<o:p></o:p></p>
<p class="MsoNormal">error: ima: could not apply signature on &#8216;/boot/EFI/BOOT/bootx64.efi;5e49ad05&#8217;: Operation not supported<o:p></o:p></p>
<p class="MsoNormal">error: Plugin ima: hook fsm_file_prepare failed<o:p></o:p></p>
<p class="MsoNormal">error: unpacking of archive failed on file /boot/EFI/BOOT/bootx64.efi;5e49ad05: cpio: (error 0x2)<o:p></o:p></p>
<p class="MsoNormal">error: systemd-boot-243.2-r0.corei7_64_intel_common: install failed<o:p></o:p></p>
<p class="MsoNormal">error: systemd-boot-243&#43;0&#43;efb536d0cb-r0.corei7_64_intel_common: erase skipped<o:p></o:p></p>
<p class="MsoNormal">=== End upgrade messages ===<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">The above error messages also appear when I try updating kernel-image-bzimage, kernel-initramfs and systemd-bootconf.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">I have the following in my bblayers.conf file:<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">=== Start bblayers.conf ===<o:p></o:p></p>
<p class="MsoNormal"># LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf<o:p></o:p></p>
<p class="MsoNormal"># changes incompatibly<o:p></o:p></p>
<p class="MsoNormal">LCONF_VERSION = &quot;7&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">BBPATH = &quot;${TOPDIR}&quot;<o:p></o:p></p>
<p class="MsoNormal">BBFILES ?= &quot;&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">BBLAYERS ?= &quot; \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-stryker/meta-lewisos-distro \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-stryker/meta-lewisos-common \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-stryker/meta-lewisos-edge \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/oe-core/meta \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-openembedded/meta-python \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-openembedded/meta-perl \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-openembedded/meta-filesystems \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-openembedded/meta-oe \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-openembedded/meta-networking \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-openembedded/meta-webserver \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-intel \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-virtualization \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-cloud-services \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-cloud-services/meta-openstack \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-secure-core/meta \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-secure-core/meta-signing-key \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-secure-core/meta-tpm \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-secure-core/meta-tpm2 \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-secure-core/meta-efi-secure-boot \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-secure-core/meta-integrity \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-secure-core/meta-encrypted-storage \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-secure-core/meta-ids \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; ${HOME}/meta-secure-core/meta-intel-sgx \<o:p></o:p></p>
<p class="MsoNormal">&nbsp; &quot;<o:p></o:p></p>
<p class="MsoNormal">=== End bblayers.conf ===<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Here is my local.conf file<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">=== Start local.conf ===<o:p></o:p></p>
<p class="MsoNormal">MACHINE ?= &quot;intel-corei7-64&quot;<o:p></o:p></p>
<p class="MsoNormal">DL_DIR ?= &quot;/var/opt/openembedded-linux/downloads&quot;<o:p></o:p></p>
<p class="MsoNormal">SSTATE_DIR ?= &quot;/var/opt/openembedded-linux/sstate-cache&quot;<o:p></o:p></p>
<p class="MsoNormal">PACKAGE_CLASSES ?= &quot;package_rpm&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"># Extra image configuration defaults<o:p></o:p></p>
<p class="MsoNormal">#<o:p></o:p></p>
<p class="MsoNormal"># The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated<o:p></o:p></p>
<p class="MsoNormal"># images.<o:p></o:p></p>
<p class="MsoNormal"># There are other application targets that can be used here too, see<o:p></o:p></p>
<p class="MsoNormal"># meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.<o:p></o:p></p>
<p class="MsoNormal"># We default to enabling the debugging tweaks.<o:p></o:p></p>
<p class="MsoNormal">EXTRA_IMAGE_FEATURES ?= &quot;debug-tweaks&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">USER_CLASSES ?= &quot;buildstats image-mklibs image-prelink&quot;<o:p></o:p></p>
<p class="MsoNormal">PATCHRESOLVE = &quot;noop&quot;<o:p></o:p></p>
<p class="MsoNormal">BB_DISKMON_DIRS ??= &quot;\<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; STOPTASKS,${TMPDIR},1G,100K \<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; STOPTASKS,${DL_DIR},1G,100K \<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; STOPTASKS,${SSTATE_DIR},1G,100K \<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; STOPTASKS,/tmp,100M,100K \<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; ABORT,${TMPDIR},100M,1K \<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; ABORT,${DL_DIR},100M,1K \<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; ABORT,${SSTATE_DIR},100M,1K \<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; ABORT,/tmp,10M,1K&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">PACKAGECONFIG_append_pn-qemu-native = &quot; sdl&quot;<o:p></o:p></p>
<p class="MsoNormal">PACKAGECONFIG_append_pn-nativesdk-qemu = &quot; sdl&quot;<o:p></o:p></p>
<p class="MsoNormal">CONF_VERSION = &quot;1&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">DISTRO = &quot;lewisos&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"># The following 2 lines are to generate an ISO.<o:p></o:p></p>
<p class="MsoNormal">IMAGE_FSTYPES &#43;= &quot;live&quot;<o:p></o:p></p>
<p class="MsoNormal">NOISO = &quot;0&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"># The following line is needed to help address issues with updating the OS.<o:p></o:p></p>
<p class="MsoNormal"># It prevents a lot of messages regarding file/directory ownership issues.<o:p></o:p></p>
<p class="MsoNormal">DIRFILES = &quot;1&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"># The BBMASK directive below is to prevent the kernel-initramfs.bbappend<o:p></o:p></p>
<p class="MsoNormal"># from meta-secure-core from being used.&nbsp; We have customized the bb file.<o:p></o:p></p>
<p class="MsoNormal"># So, don't want any changes to it.<o:p></o:p></p>
<p class="MsoNormal">BBMASK &#43;= &quot;meta-secure-core/meta-efi-secure-boot/recipes-core/images/kernel-initramfs.bbappend&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"># INITRAMFS_IMAGE must be defined here.&nbsp; It cannot be defined in an image<o:p></o:p></p>
<p class="MsoNormal"># recipe.&nbsp; If it is only defined in an image recipe, the build fails to<o:p></o:p></p>
<p class="MsoNormal"># sign packages.<o:p></o:p></p>
<p class="MsoNormal">INITRAMFS_IMAGE = &quot;secure-core-image-initramfs&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"># Similarly, the kernel-image-bzimage must be defined here.&nbsp; When it was<o:p></o:p></p>
<p class="MsoNormal"># set in the image recipe, got complaints about no buildable providers.<o:p></o:p></p>
<p class="MsoNormal"># Weird.<o:p></o:p></p>
<p class="MsoNormal">IMAGE_INSTALL &#43;= &quot;kernel-image-bzimage&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"># These DISTRO_FEATURES must remain here.&nbsp; When I tried to put them into<o:p></o:p></p>
<p class="MsoNormal"># the lewisos.conf distro configuration file, the build of the stryker-edge<o:p></o:p></p>
<p class="MsoNormal"># image failed.&nbsp; Got old errors.&nbsp; Apparently some of the bbappends were<o:p></o:p></p>
<p class="MsoNormal"># not picked up properly when these were defined in the distro config<o:p></o:p></p>
<p class="MsoNormal"># file.&nbsp; Not sure why.<o:p></o:p></p>
<p class="MsoNormal">DISTRO_FEATURES_NATIVE_append &#43;= &quot;systemd ima tpm tpm2 efi-secure-boot luks&quot;<o:p></o:p></p>
<p class="MsoNormal">DISTRO_FEATURES_append &#43;= &quot;systemd ima tpm tpm2 efi-secure-boot luks modsign pam intel-sgx&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">MACHINE_FEATURES_NATIVE_append &#43;= &quot;efi&quot;<o:p></o:p></p>
<p class="MsoNormal">MACHINE_FEATURES_append &#43;= &quot;efi&quot;<o:p></o:p></p>
<p class="MsoNormal">DEBUG_FLAGS_forcevariable = &quot;&quot;<o:p></o:p></p>
<p class="MsoNormal">USER_CLASSES_remove = &quot;image-prelink&quot;<o:p></o:p></p>
<p class="MsoNormal">=== End local.conf ===<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Here is my lewisos.conf distro configuration file.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">=== Start lewisos.conf ===<o:p></o:p></p>
<p class="MsoNormal"># Lewisos distribution configuration file<o:p></o:p></p>
<p class="MsoNormal">DISTRO = &quot;lewisos&quot;<o:p></o:p></p>
<p class="MsoNormal">DISTRO_NAME = &quot;Lewis test distribution&quot;<o:p></o:p></p>
<p class="MsoNormal">DISTRO_VERSION = &quot;0.1.3-ou&quot;<o:p></o:p></p>
<p class="MsoNormal">MAINTAINER = &quot;mako.device@stryker.com&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">IMAGE_VERSION_SUFFIX = &quot;-${DISTRO_VERSION}&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"># Want to use systemd as the init manager<o:p></o:p></p>
<p class="MsoNormal">DISTRO_FEATURES_append = &quot; systemd&quot;<o:p></o:p></p>
<p class="MsoNormal">VIRTUAL-RUNTIME_init_manager = &quot;systemd&quot;<o:p></o:p></p>
<p class="MsoNormal">VIRTUAL-RUNTIME_initscripts = &quot;systemd-compat-units&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"># Need virtualization<o:p></o:p></p>
<p class="MsoNormal">DISTRO_FEATURES_append = &quot; virtualization&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"># Add support for wireless<o:p></o:p></p>
<p class="MsoNormal">DISTRO_FEATURES_append = &quot; wifi&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"># Add support for disk encryption, secure boot and access to TPM<o:p></o:p></p>
<p class="MsoNormal"># Needed for both the product build, and for native<o:p></o:p></p>
<p class="MsoNormal"># From the meta-secure-core layer<o:p></o:p></p>
<p class="MsoNormal"># DISTRO_FEATURES_append = &quot; ima tpm tpm2 efi-secure-boot luks modsign pam intel-sgx&quot;<o:p></o:p></p>
<p class="MsoNormal"># DISTRO_FEATURES_NATIVE_append = &quot; ima tpm tpm2 efi-secure-boot luks&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"># Remove undesirable features<o:p></o:p></p>
<p class="MsoNormal">DISTRO_FEATURES_BACKFILL_CONSIDERED &#43;= &quot;nfs&quot;<o:p></o:p></p>
<p class="MsoNormal">DISTRO_FEATURES_BACKFILL_CONSIDERED &#43;= &quot;sysvinit&quot;<o:p></o:p></p>
<p class="MsoNormal">DISTRO_FEATURES_BACKFILL_CONSIDERED &#43;= &quot;zeroconf&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"># Set up for signing RPMs<o:p></o:p></p>
<p class="MsoNormal"># Inherit the sign_rpm_ext and user-key-store classes from the meta-secure-core<o:p></o:p></p>
<p class="MsoNormal"># layer.&nbsp; They provide some additional functionality.<o:p></o:p></p>
<p class="MsoNormal"># If not using the meta-secure-core layer, uncomment the sign_rpm line and<o:p></o:p></p>
<p class="MsoNormal"># comment out the sign_rpm_ext and user-key-store lines.<o:p></o:p></p>
<p class="MsoNormal"># INHERIT &#43;= &quot;sign_rpm&quot;<o:p></o:p></p>
<p class="MsoNormal">INHERIT &#43;= &quot;sign_rpm_ext&quot;<o:p></o:p></p>
<p class="MsoNormal">INHERIT &#43;= &quot;user-key-store&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"># NOTE: The two RPM_GPG lines cannot have spaces in their values.&nbsp; It causes<o:p></o:p></p>
<p class="MsoNormal"># the build to fail since the scripts cannot handle the space.<o:p></o:p></p>
<p class="MsoNormal">RPM_GPG_NAME = &quot;xxxxxxxx&quot;<o:p></o:p></p>
<p class="MsoNormal">RPM_GPG_PASSPHRASE = &quot;yyyyyyyy&quot;<o:p></o:p></p>
<p class="MsoNormal">=== End lewisos.conf ===<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">And here is my bbappend for linux-intel<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">=== Start linux-intel_%.bbappend ===<o:p></o:p></p>
<p class="MsoNormal">FILESEXTRAPATHS_prepend := &quot;${THISDIR}/${PN}:&quot;<o:p></o:p></p>
<p class="MsoNormal">SRC_URI &#43;= &quot;file://kernel_baseline.scc&quot;<o:p></o:p></p>
<p class="MsoNormal">KERNEL_IMAGEDEST = &quot;boot/${DISTRO}-${DISTRO_VERSION}&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">FILES_kernel-image-bzimage = &quot;/boot/${PV}/bzImage-${KERNEL_VERSION_NAME}&quot;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">python do_package_prepend () {<o:p></o:p></p>
<p class="MsoNormal">&nbsp;&nbsp;&nbsp; os.remove(d.getVar('D') &#43; '/' &#43; d.getVar('KERNEL_IMAGEDEST') &#43; '/bzImage')<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">require recipes-kernel/linux/linux-yocto-integrity.inc<o:p></o:p></p>
<p class="MsoNormal">=== End linux-intel_%.bbappend ===<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">I&#8217;m removing symbolic links and putting the kernel and initramfs in version specific directories because the /boot partition is vfat, which doesn&#8217;t support symbolic links, and if I kept the names as something like bzImage, then &#8220;dnf upgrade&#8221;
 would complain about multiple RPMs trying to own the same file.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">What am I missing?&nbsp; Where did I make a mistake?&nbsp; Does the meta-secure-core, or Openembedded/Yocto in general support upgrading from version X to version Y of an OS using just some command like &#8220;dnf upgrade&#8221;?<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">If you need more information, please let me know.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">As one last piece of info, if I remove &#8220;ima&#8221; from DISTRO_FEATURES, the build hangs when trying to sign the RPMs.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Thank you<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Lewis Muhlenkamp<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
Follow this link to read our <a href="https://www.stryker.com/content/stryker/gb/en/legal/global-policy-statement.html/">
Privacy Statement</a>
</body>
</html>