On 03/31/2016 09:19 AM, Robert Yang wrote:
On 03/31/2016 02:39 AM, Patrick Ohly wrote:
On Wed, 2016-03-30 at 17:12 +0800, Robert Yang wrote:
On 03/30/2016 04:45 PM, Patrick Ohly wrote:
Hello Saul!
I noticed that you changed meta-intel.inc from extending INITRD to
INITRD_LIVE:
meta-intel rev: cdbf029110327a51c0
This address a boot issue based on using the new bootimg code that
makes a distiction between Live and VM type of image so they can
co-exisit.
# for the early boot time kernel microcode loading support,
# merge the microcode data in the final initrd image.
-INITRD_prepend = "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode',
'${DEPLOY_DIR_IMAGE}/microcode.cpio ', '', d)}"
+INITRD_LIVE_prepend = "${@bb.utils.contains('MACHINE_FEATURES',
'intel-ucode', '${DEPLOY_DIR_IMAGE}/microcode.cpio ', '', d)}"
In Ostro OS, we are not using bootimg. Our own code still uses INITRD,
which means that we no longer including the microcode.cpio in our
initramfs.
I think that if you don't use booimg (live), but use vm (virtual machine) image,
AFAIK, INITRD is a must for live image (hddimg, iso), but optional for vm image,
if you are sure that only vm is needed, then you can change the line to:
INITRD_VM_prepend = "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode',
'${DEPLOY_DIR_IMAGE}/microcode.cpio ', '', d)}"
Now it gets even more confusing, with a third INITRD variant thrown into
the mix.
Is it explained somewhere what these variables mean and when one is
supposed to use which variable?
No, we should update the doc.
INITRD_LIVE = "live boot CD"
INITRD_VM = "virtual machine"
INITRD = "real hardware"
Something like that?
You can't use INITRD if you want to build live and vm, otherwise, either
of them will break. You can go on using INITRD, but there would be warnings.
Either way, was the commit added to ensure that the live boot CD
continues to use microcode, or was it added to ensure that VM images do
not use it? Saul?
INITRD_VM = "microcode.cpio" means the microcode.cpio will only be used
by VM images. And if:
INITRD_LIVE = "microcode.cpio" means the microdode.cpio will only be used
by live images.
More info:
The vm image(hdddirect, vmdk, qcow2, vdi) and live image (hddimg, iso)
couldn't be built together because the following vars settings are
conflicted, for example:
- SYSLINUX_ROOT (/dev/sda2 vs /dev/ram0)
- LABELS (boot vs boot install)
- INITRD (None vs live install)
- SYSLINUX_CFG (see above)
The user should use SYSLINUX_ROOT_VM or SYSLINUX_ROOT_LIVE clearly to avoid the
confusion, the similar to LABELS, INITRD, SYSLINUX_CFG.
// Robert
--
_______________________________________________
meta-intel mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-intel