[meta-intel] [PATCH 0/6] Runtime Machine Configuration and Distro

Jianxun Zhang jianxun.zhang at linux.intel.com
Tue Jul 12 17:07:47 PDT 2016


> On Jul 12, 2016, at 4:18 PM, Tom Zanussi <tom.zanussi at linux.intel.com> wrote:
> 
> On 07/12/2016 02:36 PM, Tom Zanussi wrote:
>> Hi Jianxun,
>> 
>> I'm just starting to look at this - it's a lot and will take awhile, but
>> first thing right off is that I'm having a problem building:
>> 
> 
> Also got this at the end:
> 
> WARNING: core-image-minimal-1.0-r0 do_image_complete: The license listed MIT was not in the licenses collected for recipe rmc-distro
I am not sure why it skipped below my nose, sorry. Will fix it in V2
> 
> Here's a patch that fixes the build error:
> 
> [PATCH] rmc: Update to use public repo
> 
> The repo the rmc recipe was pointing to was private - it's now public
> so remove the ssh protocol from the SRC_URI.
> 
> Signed-off-by: Tom Zanussi <tom.zanussi at linux.intel.com>
> ---
> common/recipes-bsp/rmc/rmc.inc | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/common/recipes-bsp/rmc/rmc.inc b/common/recipes-bsp/rmc/rmc.inc
> index c046e2e..bdf930d 100644
> --- a/common/recipes-bsp/rmc/rmc.inc
> +++ b/common/recipes-bsp/rmc/rmc.inc
> @@ -15,7 +15,7 @@ LICENSE = "MIT"
> 
> LIC_FILES_CHKSUM = "file://COPYING;md5=bcdd376d27b26bde6afadd67aa3c8b07"
> 
> -SRC_URI = "git://git@git.yoctoproject.org/rmc;protocol=ssh"
> +SRC_URI = "git://git.yoctoproject.org/rmc”

Thanks lot, Tom! There was a chicken-and-egg battle in my mind for if I should publish rmc first or submit patches prior to publish new project. I will roll this in V2
> 
> SRCREV = "f10c018fbaa19072c7281726e1457c73a409e1d1"
> 
> -- 
> 2.5.0
> 
> 
> 
>> $ bitbake core-image-minimal
>> Loading cache: 100%
>> |###########################################################################|
>> Time: 0:00:00
>> Loaded 1324 entries from dependency cache.
>> Parsing recipes: 100%
>> |#########################################################################|
>> Time: 0:00:00
>> Parsing of 884 .bb files complete (883 cached, 1 parsed). 1324 targets,
>> 51 skipped, 0 masked, 0 errors.
>> NOTE: Resolving any missing task queue dependencies
>> 
>> Build Configuration:
>> BB_VERSION        = "1.31.0"
>> BUILD_SYS         = "x86_64-linux"
>> NATIVELSBSTRING   = "Ubuntu-15.10"
>> TARGET_SYS        = "x86_64-poky-linux"
>> MACHINE           = "intel-corei7-64"
>> DISTRO            = "poky"
>> DISTRO_VERSION    = "2.1+snapshot-20160712"
>> TUNE_FEATURES     = "m64 corei7"
>> TARGET_FPU        = ""
>> meta
>> meta-poky
>> meta-yocto-bsp    = "master0:6bb3069eeff76373041f8da08418386fe5ef5897"
>> meta-intel        = "master0:9f40e8e6bc783d013229e38ce14909cc4d30263a"
>> 
>> Initialising tasks: 100%
>> |######################################################################|
>> Time: 0:00:05
>> NOTE: Executing SetScene Tasks
>> NOTE: Executing RunQueue Tasks
>> WARNING: rmc-1.0-r0 do_fetch: Failed to fetch URL
>> git://git@git.yoctoproject.org/rmc;protocol=ssh, attempting MIRRORS if
>> available
>> ERROR: rmc-1.0-r0 do_fetch: Fetcher failure: Fetch command failed with
>> exit code 128, output:
>> Cloning into bare repository
>> '/usr/local/dev/yocto/downloads/git2/git.yoctoproject.org.rmc'...
>> Permission denied (publickey).
>> fatal: Could not read from remote repository.
>> 
>> Please make sure you have the correct access rights
>> and the repository exists.
>> 
>> ERROR: rmc-1.0-r0 do_fetch: Function failed: Fetcher failure for URL:
>> 'git://git@git.yoctoproject.org/rmc;protocol=ssh'. Unable to fetch URL
>> from any source.
>> ERROR: Logfile of failure stored in:
>> /usr/local/dev/yocto/rmc-test/build/tmp/work/corei7-64-poky-linux/rmc/1.0-r0/temp/log.do_fetch.1274
>> ERROR: Task
>> /usr/local/dev/yocto/rmc-test/meta-intel/common/recipes-bsp/rmc/rmc.bb:do_fetch
>> (/usr/local/dev/yocto/rmc-test/meta-intel/common/recipes-bsp/rmc/rmc.bb:do_fetch)
>> failed with exit code '1'
>> NOTE: Tasks Summary: Attempted 509 tasks of which 0 didn't need to be
>> rerun and 1 failed.
>> 
>> Summary: 1 task failed:
>> 
>> /usr/local/dev/yocto/rmc-test/meta-intel/common/recipes-bsp/rmc/rmc.bb:do_fetch
>> Summary: There was 1 WARNING message shown.
>> Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
>> 
>> On 07/12/2016 12:59 PM, Jianxun Zhang wrote:
>>> This patch seriese introduces new RMC project and RMC distro that's
>>> developped based on RMC.
>>> 
>>> The test is done on several boards, including boards checked in
>>> examples. (poky:6bb3069; meta-intel: 9bb4622)
>>> 
>> 
>> So it seems that in order for me to test this, I need to do the build as
>> above, run the rmc tool on the target, get the fingerprint, and then
>> create a new layer with that new fingerprint in the correct directory
>> structure, rebuild, etc.
>> 
>> I see that you have a bunch of examples, but I don't see the example
>> layer you mention in the README.  It would make it much easier to test
>> if you didn't force the user to go through all that just to try it out.
>> Can you provide an example layer, maybe including all the boards in the
>> examples, as you mention in the README?
Well, there was a "rmc-example" dir with a bbappend side by side of rmc in recipe-bsp if this is what you mean.
But I was suggested to move examples into rmc and not to have a bbappend in the same layer.

 I feel such example with a bbappend file should be helpful for users.

>> 
>> Thanks,
>> 
>> Tom
>> 
>> 
>>> Some people may have checked implementation before, but I have done
>>> a lot refactoring since this week. Now RMC project and RMC distro
>>> are splitted and bbclasses are provided for reuse in other clients.
>>> These should be the biggest change you didn't see in old code.
>>> 
>>> The last patch in the series adds examples and a new document
>>> README.rmc.distro in meta-intel. I think it could make original
>>> README too lengthy if we put everyting in README, but let me know
>>> if a single readme is still preferred.
>>> 
>>> README.rmc.distro is designed to be the interfce to new users (and
>>> myself). Information of RMC project can be obtained from rmc
>>> recipes, bbclass and RMC project's README. I should have left traces
>>> to these information in code.
>>> 
>>> Known issues:
>>> RMC tool crashes on a NUC gen 4 but doesn't on another sample. Other
>>> boards work as expected (nuc gen 6, minnowmax, T100,).
>>> 
>>> Default "install"  boot option could be seen although RMC distro
>>> always has its own installer effective. This could confuse users when
>>> both of install and "RMC install" options show up on the board.
>>> 
>>> 
>>> Jianxun Zhang (6):
>>>  rmc: Add Runtime Machine Configuration (RMC) project
>>>  gnu-efi: Add GUID for SMBIOS 3 entry point structure
>>>  systemd-boot: load board-specific entry and kernel cmdline
>>>  EFI installer: deploy board-specific data and kernel cmdline
>>>  rmc: add recipe and bbclass for feature "rmc distro"
>>>  rmc: document and examples for rmc distro feature
>>> 
>>> README.rmc.distro                                  | 261 +++++++++++++++++
>>> classes/rmc-distro.bbclass                         |  49 ++++
>>> classes/rmc-native.bbclass                         |  92 ++++++
>>> ...d-GUID-for-SMBIOS-3-entry-point-structure.patch |  30 ++
>>> common/recipes-bsp/gnu-efi/gnu-efi_%.bbappend      |   2 +
>>> .../rmc/boards/T100-32bit/BOOTENTRY.CONFIG         |   2 +
>>> .../rmc/boards/T100-32bit/T100-32bit.fp            | Bin 0 -> 116 bytes
>>> common/recipes-bsp/rmc/boards/T100-32bit/boot.conf |   4 +
>>> .../recipes-bsp/rmc/boards/T100-32bit/install.conf |   4 +
>>> .../rmc/boards/minnowmax/BOOTENTRY.CONFIG          |   1 +
>>> common/recipes-bsp/rmc/boards/minnowmax/boot.conf  |   4 +
>>> .../recipes-bsp/rmc/boards/minnowmax/minnowmax.fp  | Bin 0 -> 143 bytes
>>> .../rmc/boards/minnowmaxB3/BOOTENTRY.CONFIG        |   1 +
>>> .../recipes-bsp/rmc/boards/minnowmaxB3/boot.conf   |   4 +
>>> .../rmc/boards/minnowmaxB3/minnowmaxB3.fp          | Bin 0 -> 148 bytes
>>> .../rmc/boards/nucgen6/BOOTENTRY.CONFIG            |   2 +
>>> .../rmc/boards/nucgen6/INSTALLER.CONFIG            |   6 +
>>> common/recipes-bsp/rmc/boards/nucgen6/KBOOTPARAM   |   1 +
>>> common/recipes-bsp/rmc/boards/nucgen6/boot.conf    |   4 +
>>> common/recipes-bsp/rmc/boards/nucgen6/install.conf |   4 +
>>> common/recipes-bsp/rmc/boards/nucgen6/mylib.conf   |   7 +
>>> common/recipes-bsp/rmc/boards/nucgen6/nuc6.fp      | Bin 0 -> 149 bytes
>>> common/recipes-bsp/rmc/rmc-distro.bb               |  28 ++
>>> common/recipes-bsp/rmc/rmc-native.bb               |   7 +
>>> common/recipes-bsp/rmc/rmc.bb                      |  21 ++
>>> common/recipes-bsp/rmc/rmc.inc                     |  22 ++
>>> .../recipes-bsp/systemd-boot/systemd-boot.bbappend |  20 ++
>>> ...d-boot-Link-RMC-libraries-into-bootloader.patch |  29 ++
>>> ...d-board-specific-boot-entries-from-RMC-da.patch | 239 ++++++++++++++++
>>> ...pport-global-kernel-command-line-fragment.patch |  64 +++++
>>> .../initrdscripts/files/init-install-efi.sh        | 315 +++++++++++++++++++++
>>> .../initramfs-live-install-efi_%.bbappend          |   1 +
>>> 32 files changed, 1224 insertions(+)
>>> create mode 100644 README.rmc.distro
>>> create mode 100644 classes/rmc-distro.bbclass
>>> create mode 100644 classes/rmc-native.bbclass
>>> create mode 100644 common/recipes-bsp/gnu-efi/gnu-efi/0001-Add-GUID-for-SMBIOS-3-entry-point-structure.patch
>>> create mode 100644 common/recipes-bsp/gnu-efi/gnu-efi_%.bbappend
>>> create mode 100644 common/recipes-bsp/rmc/boards/T100-32bit/BOOTENTRY.CONFIG
>>> create mode 100644 common/recipes-bsp/rmc/boards/T100-32bit/T100-32bit.fp
>>> create mode 100644 common/recipes-bsp/rmc/boards/T100-32bit/boot.conf
>>> create mode 100644 common/recipes-bsp/rmc/boards/T100-32bit/install.conf
>>> create mode 100644 common/recipes-bsp/rmc/boards/minnowmax/BOOTENTRY.CONFIG
>>> create mode 100644 common/recipes-bsp/rmc/boards/minnowmax/boot.conf
>>> create mode 100644 common/recipes-bsp/rmc/boards/minnowmax/minnowmax.fp
>>> create mode 100644 common/recipes-bsp/rmc/boards/minnowmaxB3/BOOTENTRY.CONFIG
>>> create mode 100644 common/recipes-bsp/rmc/boards/minnowmaxB3/boot.conf
>>> create mode 100644 common/recipes-bsp/rmc/boards/minnowmaxB3/minnowmaxB3.fp
>>> create mode 100644 common/recipes-bsp/rmc/boards/nucgen6/BOOTENTRY.CONFIG
>>> create mode 100644 common/recipes-bsp/rmc/boards/nucgen6/INSTALLER.CONFIG
>>> create mode 100644 common/recipes-bsp/rmc/boards/nucgen6/KBOOTPARAM
>>> create mode 100644 common/recipes-bsp/rmc/boards/nucgen6/boot.conf
>>> create mode 100644 common/recipes-bsp/rmc/boards/nucgen6/install.conf
>>> create mode 100644 common/recipes-bsp/rmc/boards/nucgen6/mylib.conf
>>> create mode 100644 common/recipes-bsp/rmc/boards/nucgen6/nuc6.fp
>>> create mode 100644 common/recipes-bsp/rmc/rmc-distro.bb
>>> create mode 100644 common/recipes-bsp/rmc/rmc-native.bb
>>> create mode 100644 common/recipes-bsp/rmc/rmc.bb
>>> create mode 100644 common/recipes-bsp/rmc/rmc.inc
>>> create mode 100644 common/recipes-bsp/systemd-boot/systemd-boot.bbappend
>>> create mode 100644 common/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-libraries-into-bootloader.patch
>>> create mode 100644 common/recipes-bsp/systemd-boot/systemd-boot/0002-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch
>>> create mode 100644 common/recipes-bsp/systemd-boot/systemd-boot/0003-sd-boot-Support-global-kernel-command-line-fragment.patch
>>> create mode 100644 common/recipes-core/initrdscripts/files/init-install-efi.sh
>>> create mode 100644 common/recipes-core/initrdscripts/initramfs-live-install-efi_%.bbappend
>>> 
>> 
> 



More information about the meta-intel mailing list