<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>9419</bug_id>
          
          <creation_ts>2016-04-07 21:08:16 +0000</creation_ts>
          <short_desc>Enabling systemd-boot to replace gummiboot</short_desc>
          <delta_ts>2016-06-03 17:43:49 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>BSPs</product>
          <component>bsps-meta-intel</component>
          <version>2.1</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>2.2 M1</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jianxun Zhang">jianxun.zhang</reporter>
          <assigned_to name="Jianxun Zhang">jianxun.zhang</assigned_to>
          <cc>liezhi.yang</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>ross.burton</cc>
    
    <cc>sgw</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Yes (doc changes required)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>60943</commentid>
    <comment_count>0</comment_count>
    <who name="Jianxun Zhang">jianxun.zhang</who>
    <bug_when>2016-04-07 21:08:16 +0000</bug_when>
    <thetext>This bug should be filed to OE since gummiboot recipe to be replaced is in OE. But I filed it to meta-intel initially for prototype, considering more document work and validation around a replacement of gummiboot in OE may not be a small and quick work.


The gummiboot project in OE is already dead and it has been merged into systemd project which is also partly enabled in OE. But we consider to make a standalone systems-boot outside systemd in yocto so that people can replace old gummiboot with this new systemd-boot without any dependency on systemd, when they just want a gummiboot-like boot loader.

If this task should be forward to OE, Document content for gummiboot should be updated. Otherwise, at least README files in meta-intel shall be updated with this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61461</commentid>
    <comment_count>1</comment_count>
      <attachid>3139</attachid>
    <who name="Jianxun Zhang">jianxun.zhang</who>
    <bug_when>2016-04-20 20:49:51 +0000</bug_when>
    <thetext>Created attachment 3139
[Draft][patch] enabling systemd-boot as a standalone bootloader

Saul,
Refer to the attached patch to meta-intel, I am not sure if I am on the right approach so please have a look on it. I don&apos;t it is ready to submission since I just made the progress today without much test.

I tried a minimal image for intel-corei7-64 machine on NUC. It looks working now from build to live-boot.

I will do more test and cleaning up but your feedback is necessary before my submission. Or you guys may want to have such change in OE eventually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61537</commentid>
    <comment_count>2</comment_count>
    <who name="Jianxun Zhang">jianxun.zhang</who>
    <bug_when>2016-04-21 21:21:12 +0000</bug_when>
    <thetext>Today I did more test against the draft patch on 32 bit machines including intel-quark. Basic boot is okay with minimal image.

Saul,
I think I am close to submission but still hope you can have a look first. I think we can take this as bootloader for RMC work in parallel.

Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61676</commentid>
    <comment_count>3</comment_count>
    <who name="Saul Wold">sgw</who>
    <bug_when>2016-04-26 02:13:05 +0000</bug_when>
    <thetext>(In reply to comment #2)
&gt; Today I did more test against the draft patch on 32 bit machines including
&gt; intel-quark. Basic boot is okay with minimal image.
&gt; 
&gt; Saul,
&gt; I think I am close to submission but still hope you can have a look first. I
&gt; think we can take this as bootloader for RMC work in parallel.
&gt; 
&gt; Thanks

This is great, but I would actually like to see it against oe-core, we can do the RMC work in meta-intel, but I would like the systemd-boot recipe in OE-core proper.

I found one missing DEPEND on intltool-native (which is in the orignal list) and Robert Yang is reporting that he needs coreutils-native when building on Ubuntu machine.

Please go ahead with an oe-core version and if you want me to reveiw it, that would be great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61699</commentid>
    <comment_count>4</comment_count>
    <who name="Jianxun Zhang">jianxun.zhang</who>
    <bug_when>2016-04-26 21:31:37 +0000</bug_when>
    <thetext>Saul,

I will try to migrate to OE, no problem. There is already systemd package in OE, my question is if it still look nice and justified when we put systemd and a new stand alone systemd-boot side by side, from fetch to deploy.

For example, they are based on same source package so we may want to have a common recipe to be updated for new revisions so that we won&apos;t need to update two recipes every time. (I don&apos;t know if having two recipes fetch same package is okay...)

The differentiation could happen at later steps from config to deployment.

For dependency, I tried &quot;bitbake systemd-boot&quot; to find out only the necessary packages in APPENDS. It works to build out boot loader only. That&apos;s why I didn&apos;t bother some packages.  This approach may not be very accurate, however.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61700</commentid>
    <comment_count>5</comment_count>
    <who name="Jianxun Zhang">jianxun.zhang</who>
    <bug_when>2016-04-26 22:06:38 +0000</bug_when>
    <thetext>Saul,
I think this would be a migration plan in OE:

() Implement systemd-boot piece so that EFI_PROVIDER=systemd-boot&quot; in conf is the only required step to developers. We could need another talk on how independent the systemd-boot can be from existing systemd. EFI stub will not be built. We only support gummiboot-like EFI app in OE.

() The existing approach in systemd to build out EFI bootloader and stub will be kept.  We just don&apos;t want to break any customer&apos;s temporary solution derived from this currently uncompleted support in OE.

() Update document to _replace_ gummiboot with new &quot;systemd-boot&quot; along with grub2,

() Migrate targets using gummiboot to systemd-boot in our scope, like intel-quark

() Submit another OE patch to invalid gummiboot build with an error message &quot; Gummiboot is dead, please consider to use systemd-boot, balabala...&quot;

() After 1~2 releases, finally purge gummiboot recipe and bbclass in OE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61723</commentid>
    <comment_count>6</comment_count>
    <who name="Saul Wold">sgw</who>
    <bug_when>2016-04-27 14:26:38 +0000</bug_when>
    <thetext>(In reply to comment #4)
&gt; Saul,
&gt; 
&gt; I will try to migrate to OE, no problem. There is already systemd package in
&gt; OE, my question is if it still look nice and justified when we put systemd
&gt; and a new stand alone systemd-boot side by side, from fetch to deploy.
&gt; 
Yes, we still want seperate recipes for systemd and systemd-boot, because as I said it&apos;s possible for systemd-boot to be used without systemd. They could be co-located in the same meta/recipes-core/systemd, but I think it makes more sense to have the bootloader recipe be co-located with the other BSP related recipes.

&gt; For example, they are based on same source package so we may want to have a
&gt; common recipe to be updated for new revisions so that we won&apos;t need to
&gt; update two recipes every time. (I don&apos;t know if having two recipes fetch
&gt; same package is okay...)
&gt; 
This can be done with a .inc that both include for pointing to the source location, but it may still require both recipes .bb files to be updated since the version is encoded in the file name.

&gt; The differentiation could happen at later steps from config to deployment.
&gt; 
&gt; For dependency, I tried &quot;bitbake systemd-boot&quot; to find out only the
&gt; necessary packages in APPENDS. It works to build out boot loader only.
&gt; That&apos;s why I didn&apos;t bother some packages.  This approach may not be very
&gt; accurate, however.
You mean DEPENDS here I think.

Correct that approach of iterative building can be hazardous, you need to understand what&apos;s needed, you might have already had something built or as pointed out different Host Distro OSes can have different native requirements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61724</commentid>
    <comment_count>7</comment_count>
    <who name="Saul Wold">sgw</who>
    <bug_when>2016-04-27 14:36:57 +0000</bug_when>
    <thetext>(In reply to comment #5)
&gt; Saul,
&gt; I think this would be a migration plan in OE:
&gt; 
&gt; () Implement systemd-boot piece so that EFI_PROVIDER=systemd-boot&quot; in conf
&gt; is the only required step to developers. We could need another talk on how
&gt; independent the systemd-boot can be from existing systemd. EFI stub will not
&gt; be built. We only support gummiboot-like EFI app in OE.
&gt; 
At this point correct, that might change later in the release cycle, something to be disccused later.

&gt; () The existing approach in systemd to build out EFI bootloader and stub
&gt; will be kept.  We just don&apos;t want to break any customer&apos;s temporary solution
&gt; derived from this currently uncompleted support in OE.
&gt;
Not sure I understand what you are saying here, if you are suggesting having systemd-boot be deployed from the systemd recipe, then no, systemd-boot should be a completely standalone recipe as you have prototyped it.

 
&gt; () Update document to _replace_ gummiboot with new &quot;systemd-boot&quot; along with
&gt; grub2,
&gt;
Correct
 
&gt; () Migrate targets using gummiboot to systemd-boot in our scope, like
&gt; intel-quark
&gt;
Correct
 
&gt; () Submit another OE patch to invalid gummiboot build with an error message
&gt; &quot; Gummiboot is dead, please consider to use systemd-boot, balabala...&quot;
&gt;
&gt; () After 1~2 releases, finally purge gummiboot recipe and bbclass in OE.
Not sure about these two vs just removing it and let the commit message tell the tale.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61833</commentid>
    <comment_count>8</comment_count>
      <attachid>3163</attachid>
    <who name="Jianxun Zhang">jianxun.zhang</who>
    <bug_when>2016-04-29 22:28:38 +0000</bug_when>
    <thetext>Created attachment 3163
[OE] enabling systemd-boot as a standalone bootloader

Basic tested on x86 32 and 64 bit, with and without systemd in DISTRO_FEATURES. Need to  check intel-quark later. Still need more test to see if change impacts systemd itself.

Todo:
Document
self-test support of new systemd-boot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62027</commentid>
    <comment_count>9</comment_count>
    <who name="Jianxun Zhang">jianxun.zhang</who>
    <bug_when>2016-05-06 21:06:55 +0000</bug_when>
    <thetext>http://lists.openembedded.org/pipermail/openembedded-core/2016-May/121026.html
http://lists.openembedded.org/pipermail/openembedded-core/2016-May/121027.html

Patch has been submitted to OE core for review. I will create other two tickets to track the following up once patch is accepted.

() new oe-selftest cases in bugzilla, and test script to support systemd-boot.

() documentation change

() replace gummiboot for intel-quark and any machine using it with systemd-boot.

() cleanup gummiboot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62127</commentid>
    <comment_count>10</comment_count>
    <who name="Jianxun Zhang">jianxun.zhang</who>
    <bug_when>2016-05-11 20:11:19 +0000</bug_when>
    <thetext>Update estimation. I will create new tickets for further steps in plan since they require some effort.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62636</commentid>
    <comment_count>11</comment_count>
    <who name="Jianxun Zhang">jianxun.zhang</who>
    <bug_when>2016-06-03 17:40:21 +0000</bug_when>
    <thetext>Patch is in poky master now.

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=c71f5ab37416629793b9f826480d440d67531791

I have opened two tickets as following up.

https://bugzilla.yoctoproject.org/show_bug.cgi?id=9706
https://bugzilla.yoctoproject.org/show_bug.cgi?id=9707</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3139</attachid>
            <date>2016-04-20 20:49:51 +0000</date>
            <delta_ts>2016-04-29 22:28:38 +0000</delta_ts>
            <desc>[Draft][patch] enabling systemd-boot as a standalone bootloader</desc>
            <filename>0001-systemd-boot-Enabling-EFI-bootloader-in-systemd.patch</filename>
            <type>text/plain</type>
            <size>8166</size>
            <attacher name="Jianxun Zhang">jianxun.zhang</attacher>
            
              <data encoding="base64">RnJvbSA5NWJlNDdiNzc3ODZmNzFiNDc1MWE2NDk1YTIzNmMzZTUzYTUyMjgzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKaWFueHVuIFpoYW5nIDxqaWFueHVuLnpoYW5nQGxpbnV4Lmlu
dGVsLmNvbT4KRGF0ZTogV2VkLCAyMCBBcHIgMjAxNiAxMzoyNjoyMSAtMDcwMApTdWJqZWN0OiBb
UEFUQ0hdIHN5c3RlbWQtYm9vdDogRW5hYmxpbmcgRUZJIGJvb3Rsb2FkZXIgaW4gc3lzdGVtZAoK
VGhlIEVGSSBib290bG9hZGVyICJzeXN0ZW1kLWJvb3QiIGlzIGd1bW1pYm9vdCBhYnNvcmJlZCBp
bnRvCnN5c3RlbWQgcHJvamVjdC4gVGhlIG9sZCBndW1taWJvb3QgcHJvamVjdCBoYXMgYmVlbiBk
ZWFkLgoKVGhpcyBwYXRjaCBlbmFibGVzIHN5c3RlbWQtYm9vdCBhcyBhIHN0YW5kYWxvbmUgYm9v
dGxvYWRlciBmb3IKc3lzdGVtcyB3aGVyZSBwZW9wbGUgb25seSB3YW50IGEgZ3VtbWlib290LWxp
a2UgYm9vdGxvYWRlcgpidXQgZG9uJ3Qgd2FudCB0byBoYXZlIG90aGVyIHBpZWNlcyBvciBkZXBl
bmRlbmN5IGluIHN5c3RlbWQuCgpXaGF0J3MgaW4gT0UgaXMgYSBzeXN0ZW1kIHdpdGhvdXQgYSBj
b21wbGV0ZWRseSBlbmFibGluZyBmb3IKaXRzIGJvb3Rsb2FkZXIgYW5kIGEgZ3VtbWl0IHByb2pl
Y3Qgc3RpbGwgYmFzZWQgb24gdGhlIG9ic29sZXRlCmd1bW1pYm9vdCBwcm9qZWN0LgoKVGhpcyB3
b3JrIGlzIGRlcml2ZWQgZnJvbSB0aGUgYWJvdmUgcGllY2VzIGluIE9FOgpjb21taXQgdGlwOiBl
ZTI1ZDBlMzk4N2Q3NzMyYTJlNDZlMTY0MDY5M2I0Y2Y0MTlhOWZjCgpQbGVhc2UgcmVmZXIgdG8g
dGhlIGhpc3RvcnkgdXAgdG8gdGhlIHRpcCB0byBnZXQgYXV0aG9yc2hpcCBhbmQKY3JlZGl0IGlu
Zm9ybWF0aW9uIG9mIHRoZSBvcmlnaW5hbCB3b3JrLgoKVG8gaW5jbHVkZSB0aGUgbmV3IGJvb3Rs
b2FkZXIgaW4geW91ciBidWlsZCwgYWRkCkVGSV9QUk9WSURFUiA9ICJzeXN0ZW1kLWJvb3QiCmlu
IHlvdXIgbWFjaGluZSBjb25mIGZpbGUuCgpTaWduZWQtb2ZmLWJ5OiBKaWFueHVuIFpoYW5nIDxq
aWFueHVuLnpoYW5nQGxpbnV4LmludGVsLmNvbT4KLS0tCiBjbGFzc2VzL3N5c3RlbWQtYm9vdC5i
YmNsYXNzICAgICAgICAgICAgICAgICAgICB8IDEyMyArKysrKysrKysrKysrKysrKysrKysrKysK
IGNvbW1vbi9yZWNpcGVzLWJzcC9zeXN0ZW1kLWJvb3Qvc3lzdGVtZC1ib290LmJiIHwgIDU3ICsr
KysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDE4MCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgY2xhc3Nlcy9zeXN0ZW1kLWJvb3QuYmJjbGFzcwogY3JlYXRlIG1vZGUgMTAwNjQ0
IGNvbW1vbi9yZWNpcGVzLWJzcC9zeXN0ZW1kLWJvb3Qvc3lzdGVtZC1ib290LmJiCgpkaWZmIC0t
Z2l0IGEvY2xhc3Nlcy9zeXN0ZW1kLWJvb3QuYmJjbGFzcyBiL2NsYXNzZXMvc3lzdGVtZC1ib290
LmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZkMDEyMgotLS0g
L2Rldi9udWxsCisrKyBiL2NsYXNzZXMvc3lzdGVtZC1ib290LmJiY2xhc3MKQEAgLTAsMCArMSwx
MjMgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0IEludGVsIENvcnBvcmF0aW9uCisjCisjIFJlbGVh
c2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUKQorCisjIHN5c3RlbWQt
Ym9vdC5iYmNsYXNzIC0gU28tY2FsbGVkICJzeXN0ZW1kLWJvb3QiIGhlcmUgaXMgZXNzZW50aWFs
bHkgdGhlIGd1bW1pYm9vdCBhYnNvcmJlZCBpbnRvIHN5c3RlbWQuCisjICAgICAgICAgICAgICAg
ICAgICAgICAgVGhlIG9yaWdpbmFsIHN0YW5kYWxvbmUgZ3VtbWlib290IHByb2plY3QgaGFzIGJl
ZW4gZGVhZCB3aXRoIG5vIG1vcmUgbWFpbnRhaW5lbmNlLgorIyAgICAgICAgICAgICAgICAgICAg
ICAgIEFjdHVhbGx5LCBhcyBhIHN0YXJ0IHBvaW50LCB3ZSByZXBsYWNlIGFsbCBndW1taXRib290
IG9jY3VyZW5jZXMgd2l0aCBzeXN0ZW1kLWJvb3QKKyMgICAgICAgICAgICAgICAgICAgICAgICBp
biBndW1taWJvb3QuYmJjbGFzcyB0byBoYXZlIGEgYmFzZSB2ZXJzaW9uIG9mIHRoaXMgc3lzdGVt
ZC1ib290LmJiY2xhc3MKKyMKKyMgU2V0IEVGSV9QUk9WSURFUiA9ICJzeXN0ZW1kLWJvb3QiIHRv
IHVzZSBzeXN0ZW1kLWJvb3Qgb24geW91ciBsaXZlIGltYWdlcyBpbnN0ZWFkIG9mIGdydWItZWZp
CisjIChpbWFnZXMgYnVpbHQgYnkgaW1hZ2UtbGl2ZS5iYmNsYXNzIG9yIGltYWdlLXZtLmJiY2xh
c3MpCisKK2RvX2Jvb3RpbWdbZGVwZW5kc10gKz0gIiR7TUxQUkVGSVh9c3lzdGVtZC1ib290OmRv
X2RlcGxveSIKK2RvX2Jvb3RkaXJlY3RkaXNrW2RlcGVuZHNdICs9ICIke01MUFJFRklYfXN5c3Rl
bWQtYm9vdDpkb19kZXBsb3kiCisKK0VGSURJUiA9ICIvRUZJL0JPT1QiCisKK1NZU1RFTURfQk9P
VF9DRkcgPz0gIiR7U30vbG9hZGVyLmNvbmYiCitTWVNURU1EX0JPT1RfRU5UUklFUyA/PSAiIgor
U1lTVEVNRF9CT09UX1RJTUVPVVQgPz0gIjEwIgorCisjIE5lZWQgVVVJRCB1dGlsaXR5IGNvZGUu
Citpbmhlcml0IGZzLXV1aWQKKworZWZpX3BvcHVsYXRlKCkgeworICAgICAgICBERVNUPSQxCisK
KyAgICAgICAgRUZJX0lNQUdFPSJzeXN0ZW1kLWJvb3RpYTMyLmVmaSIKKyAgICAgICAgREVTVF9F
RklfSU1BR0U9ImJvb3RpYTMyLmVmaSIKKyAgICAgICAgaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0g
Ing4Nl82NCIgXTsgdGhlbgorICAgICAgICAgICAgRUZJX0lNQUdFPSJzeXN0ZW1kLWJvb3R4NjQu
ZWZpIgorICAgICAgICAgICAgREVTVF9FRklfSU1BR0U9ImJvb3R4NjQuZWZpIgorICAgICAgICBm
aQorCisgICAgICAgIGluc3RhbGwgLWQgJHtERVNUfSR7RUZJRElSfQorICAgICAgICAjIHN5c3Rl
bWQtYm9vdCByZXF1aXJlcyB0aGVzZSBwYXRocyBmb3IgY29uZmlndXJhdGlvbiBmaWxlcworICAg
ICAgICAjIHRoZXkgYXJlIG5vdCBjdXN0b21pemFibGUgc28gbm8gcG9pbnQgaW4gbmV3IHZhcnMK
KyAgICAgICAgaW5zdGFsbCAtZCAke0RFU1R9L2xvYWRlcgorICAgICAgICBpbnN0YWxsIC1kICR7
REVTVH0vbG9hZGVyL2VudHJpZXMKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7REVQTE9ZX0RJ
Ul9JTUFHRX0vJHtFRklfSU1BR0V9ICR7REVTVH0ke0VGSURJUn0vJHtERVNUX0VGSV9JTUFHRX0K
KyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U1lTVEVNRF9CT09UX0NGR30gJHtERVNUfS9sb2Fk
ZXIvbG9hZGVyLmNvbmYKKyAgICAgICAgZm9yIGkgaW4gJHtTWVNURU1EX0JPT1RfRU5UUklFU307
IGRvCisgICAgICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtpfSAke0RFU1R9L2xvYWRlci9lbnRy
aWVzCisgICAgICAgIGRvbmUKK30KKworZWZpX2lzb19wb3B1bGF0ZSgpIHsKKyAgICAgICAgaXNv
X2Rpcj0kMQorICAgICAgICBlZmlfcG9wdWxhdGUgJGlzb19kaXIKKyAgICAgICAgbWtkaXIgLXAg
JHtFRklJTUdESVJ9LyR7RUZJRElSfQorICAgICAgICBjcCAkaXNvX2Rpci8ke0VGSURJUn0vKiAk
e0VGSUlNR0RJUn0ke0VGSURJUn0KKyAgICAgICAgY3AgJGlzb19kaXIvdm1saW51eiAke0VGSUlN
R0RJUn0KKyAgICAgICAgRUZJUEFUSD0kKGVjaG8gIiR7RUZJRElSfSIgfCBzZWQgJ3MvXC8vXFwv
ZycpCisgICAgICAgIGVjaG8gImZzMDoke0VGSVBBVEh9XFwke0RFU1RfRUZJX0lNQUdFfSIgPiAk
e0VGSUlNR0RJUn0vc3RhcnR1cC5uc2gKKyAgICAgICAgaWYgWyAtZiAiJGlzb19kaXIvaW5pdHJk
IiBdIDsgdGhlbgorICAgICAgICAgICAgY3AgJGlzb19kaXIvaW5pdHJkICR7RUZJSU1HRElSfQor
ICAgICAgICBmaQorfQorCitlZmlfaGRkaW1nX3BvcHVsYXRlKCkgeworICAgICAgICBlZmlfcG9w
dWxhdGUgJDEKK30KKworcHl0aG9uIGJ1aWxkX2VmaV9jZmcoKSB7CisgICAgcyA9IGQuZ2V0VmFy
KCJTIiwgVHJ1ZSkKKyAgICBsYWJlbHMgPSBkLmdldFZhcignTEFCRUxTJywgVHJ1ZSkKKyAgICBp
ZiBub3QgbGFiZWxzOgorICAgICAgICBiYi5kZWJ1ZygxLCAiTEFCRUxTIG5vdCBkZWZpbmVkLCBu
b3RoaW5nIHRvIGRvIikKKyAgICAgICAgcmV0dXJuCisKKyAgICBpZiBsYWJlbHMgPT0gW106Cisg
ICAgICAgIGJiLmRlYnVnKDEsICJObyBsYWJlbHMsIG5vdGhpbmcgdG8gZG8iKQorICAgICAgICBy
ZXR1cm4KKworICAgIGNmaWxlID0gZC5nZXRWYXIoJ1NZU1RFTURfQk9PVF9DRkcnLCBUcnVlKQor
ICAgIHRyeToKKyAgICAgICAgIGNmZ2ZpbGUgPSBvcGVuKGNmaWxlLCAndycpCisgICAgZXhjZXB0
IE9TRXJyb3I6CisgICAgICAgIHJhaXNlIGJiLmJ1aWxkLmZ1bmNGYWlsZWQoJ1VuYWJsZSB0byBv
cGVuICVzJyAlIChjZmlsZSkpCisKKyAgICBjZmdmaWxlLndyaXRlKCcjIEF1dG9tYXRpY2FsbHkg
Y3JlYXRlZCBieSBPRVxuJykKKyAgICBjZmdmaWxlLndyaXRlKCdkZWZhdWx0ICVzXG4nICUgKGxh
YmVscy5zcGxpdCgpWzBdKSkKKyAgICB0aW1lb3V0ID0gZC5nZXRWYXIoJ1NZU1RFTURfQk9PVF9U
SU1FT1VUJywgVHJ1ZSkKKyAgICBpZiB0aW1lb3V0OgorICAgICAgICBjZmdmaWxlLndyaXRlKCd0
aW1lb3V0ICVzXG4nICUgdGltZW91dCkKKyAgICBlbHNlOgorICAgICAgICBjZmdmaWxlLndyaXRl
KCd0aW1lb3V0IDEwXG4nKQorICAgIGNmZ2ZpbGUuY2xvc2UoKQorCisgICAgZm9yIGxhYmVsIGlu
IGxhYmVscy5zcGxpdCgpOgorICAgICAgICBsb2NhbGRhdGEgPSBkLmNyZWF0ZUNvcHkoKQorCisg
ICAgICAgIG92ZXJyaWRlcyA9IGxvY2FsZGF0YS5nZXRWYXIoJ09WRVJSSURFUycsIFRydWUpCisg
ICAgICAgIGlmIG5vdCBvdmVycmlkZXM6CisgICAgICAgICAgICByYWlzZSBiYi5idWlsZC5GdW5j
RmFpbGVkKCdPVkVSUklERVMgbm90IGRlZmluZWQnKQorCisgICAgICAgIGVudHJ5ZmlsZSA9ICIl
cy8lcy5jb25mIiAlIChzLCBsYWJlbCkKKyAgICAgICAgZC5hcHBlbmRWYXIoIlNZU1RFTURfQk9P
VF9FTlRSSUVTIiwgIiAiICsgZW50cnlmaWxlKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBl
bnRyeWNmZyA9IG9wZW4oZW50cnlmaWxlLCAidyIpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgor
ICAgICAgICAgICAgcmFpc2UgYmIuYnVpbGQuZnVuY0ZhaWxlZCgnVW5hYmxlIHRvIG9wZW4gJXMn
ICUgKGVudHJ5ZmlsZSkpCisgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsIGxh
YmVsICsgJzonICsgb3ZlcnJpZGVzKQorICAgICAgICBiYi5kYXRhLnVwZGF0ZV9kYXRhKGxvY2Fs
ZGF0YSkKKworICAgICAgICBlbnRyeWNmZy53cml0ZSgndGl0bGUgJXNcbicgJSBsYWJlbCkKKyAg
ICAgICAgZW50cnljZmcud3JpdGUoJ2xpbnV4IC92bWxpbnV6XG4nKQorCisgICAgICAgIGFwcGVu
ZCA9IGxvY2FsZGF0YS5nZXRWYXIoJ0FQUEVORCcsIFRydWUpCisgICAgICAgIGluaXRyZCA9IGxv
Y2FsZGF0YS5nZXRWYXIoJ0lOSVRSRCcsIFRydWUpCisKKyAgICAgICAgaWYgaW5pdHJkOgorICAg
ICAgICAgICAgZW50cnljZmcud3JpdGUoJ2luaXRyZCAvaW5pdHJkXG4nKQorICAgICAgICBsYiA9
IGxhYmVsCisgICAgICAgIGlmIGxhYmVsID09ICJpbnN0YWxsIjoKKyAgICAgICAgICAgIGxiID0g
Imluc3RhbGwtZWZpIgorICAgICAgICBlbnRyeWNmZy53cml0ZSgnb3B0aW9ucyBMQUJFTD0lcyAn
ICUgbGIpCisgICAgICAgIGlmIGFwcGVuZDoKKyAgICAgICAgICAgIGFwcGVuZCA9IHJlcGxhY2Vf
cm9vdGZzX3V1aWQoZCwgYXBwZW5kKQorICAgICAgICAgICAgZW50cnljZmcud3JpdGUoJyVzJyAl
IGFwcGVuZCkKKyAgICAgICAgZW50cnljZmcud3JpdGUoJ1xuJykKKyAgICAgICAgZW50cnljZmcu
Y2xvc2UoKQorfQpkaWZmIC0tZ2l0IGEvY29tbW9uL3JlY2lwZXMtYnNwL3N5c3RlbWQtYm9vdC9z
eXN0ZW1kLWJvb3QuYmIgYi9jb21tb24vcmVjaXBlcy1ic3Avc3lzdGVtZC1ib290L3N5c3RlbWQt
Ym9vdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjMzZTQxCi0tLSAv
ZGV2L251bGwKKysrIGIvY29tbW9uL3JlY2lwZXMtYnNwL3N5c3RlbWQtYm9vdC9zeXN0ZW1kLWJv
b3QuYmIKQEAgLTAsMCArMSw1NyBAQAorU1VNTUFSWSA9ICJFRkkgYm9vdGxvYWRlciBpbiBzeXN0
ZW1kIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2Fy
ZS9zeXN0ZW1kIgorCitERVNDUklQVElPTiA9ICJUaGUgRUZJIGJvb3Rsb2FkZXIgaW4gc3lzdGVt
ZCBpcyBlc3NlbnRpYWxseSB0aGUgZ3VtbWlib290IGFic29yYmVkIGludG8gc3lzdGVtZC4gXAor
VGhlIG9yaWdpbmFsIHN0YW5kYWxvbmUgZ3VtbWlib290IHByb2plY3QgaGFzIGJlZW4gZGVhZCB3
aXRoIG5vIG1vcmUgbWFpbnRhaW5lbmNlLiBcCitJbiBzcGl0ZSBvZiBzeXN0ZW1kIGFscmVhZHkg
aW4gT0UsIHRoaXMgd29yayBlbmFibGVzIGJvb3Rsb2FkZXIgaW4gc3lzdGVtZCwgc28tY2FsbGVk
IHN5c3RlbWQtYm9vdCBcCitoZXJlLCBhcyBhIHN0YW5kYWxvbmUgYm9vdGxvYWRlciB0byBhY2hp
ZXZlIHdoYXQgb2xkIGd1bW1pYm9vdCBwcm92aWRlcyB3aGVuIHBlb3BsZSBvbmx5IHdhbnQgXAor
dG8gaGF2ZSBhIGd1bW1pYm9vdC1saWtlIGJvb3Rsb2FkZXIgYnV0IGRvbid0IHdhbnQgdG8gaGF2
ZSBzeXN0ZW1kIGluIHRoZWlyIHRhcmdldCBzeXN0ZW1zLiBcCitUaGlzIHJlY2lwZSBpcyBhY3R1
YWxseSBhIHN0cmlwcGVkIHZlcnNpb24gZnJvbSBzeXN0ZW1kIHJlY2lwZSBpbiBPRSwgY29tYmlu
ZWQgd2l0aCBndW1taWJvb3QgcmVjaXBlIgorCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEi
CitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLkdQTDI7bWQ1PTc1MTQxOTI2MGFh
OTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VO
U0UuTEdQTDIuMTttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKKyMgVG8g
YmUgY2xlYW5lZCB1cDoKKyMgREVQRU5EUyA9ICJrbW9kIGRvY2Jvb2stc2dtbC1kdGQtNC4xLW5h
dGl2ZSBpbnRsdG9vbC1uYXRpdmUgZ3BlcmYtbmF0aXZlIGFjbCByZWFkbGluZSBsaWJjYXAgbGli
Y2dyb3VwIHFlbXUtbmF0aXZlIHV0aWwtbGludXgiCisjIGluaGVyaXQgdXNlcmFkZCBwa2djb25m
aWcgYXV0b3Rvb2xzIHBlcmxuYXRpdmUgdXBkYXRlLXJjLmQgdXBkYXRlLWFsdGVybmF0aXZlcyBx
ZW11IHN5c3RlbWQgcHRlc3QgZ2V0dGV4dCBiYXNoLWNvbXBsZXRpb24KK0RFUEVORFMgPSAibGli
Y2FwIHV0aWwtbGludXggZ251LWVmaSIKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0
ZXh0Citpbmhlcml0IGRlcGxveQorCitTUkNSRVYgPSAiNzE0YzYyYjQ2Mzc5YWJiNzU1OGM1NDQ2
NjU1MjJhY2E5MTY5MWUxMCIKKworUFYgPSAiMjI5K2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0g
ImdpdDovL2dpdGh1Yi5jb20vc3lzdGVtZC9zeXN0ZW1kLmdpdDtwcm90b2NvbD1naXQiCisKK1Mg
PSAiJHtXT1JLRElSfS9naXQiCisKK0xERkxBR1NfYXBwZW5kX2xpYmMtdWNsaWJjID0gIiAtbHJ0
IC1sc3NwX25vbnNoYXJlZCAtbHNzcCAiCisKK0VYVFJBX09FQ09ORiA9ICIgLS1lbmFibGUtZ251
ZWZpIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWVmaS1pbmNsdWRlZGlyPSR7U1RBR0lOR19J
TkNESVJ9IFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWVmaS1sZHNkaXI9JHtTVEFHSU5HX0xJ
QkRJUn0gXAorICAgICAgICAgICAgICAgICAtLXdpdGgtZWZpLWxpYmRpcj0ke1NUQUdJTkdfTElC
RElSfSBcCisgICAgICAgICAgICAgICAiCisjIEltcG9ydGVkIGZyb20gZ3VtbWlib290CitUVU5F
X0NDQVJHU19yZW1vdmUgPSAiLW1mcG1hdGg9c3NlIgorCitkb19jb21waWxlKCkgeworCVNZU1RF
TURfQk9PVF9FRklfQVJDSD0iaWEzMiIKKwlpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAieDg2XzY0
IiBdOyB0aGVuCisJCVNZU1RFTURfQk9PVF9FRklfQVJDSD0ieDY0IgorCWZpCisKKwlvZV9ydW5t
YWtlIHN5c3RlbWQtYm9vdCR7U1lTVEVNRF9CT09UX0VGSV9BUkNIfS5lZmkKK30KKworZG9faW5z
dGFsbCgpIHsKKwkjIEJ5cGFzcyBzeXN0ZW1kIGluc3RhbGxhdGlvbiB3aXRoIGEgTk9QCisJOgor
fQorCitkb19kZXBsb3kgKCkgeworCWluc3RhbGwgJHtCfS9zeXN0ZW1kLWJvb3QqLmVmaSAke0RF
UExPWURJUn0KK30KK2FkZHRhc2sgZGVwbG95IGJlZm9yZSBkb19idWlsZCBhZnRlciBkb19jb21w
aWxlCi0tIAoxLjkuMQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3163</attachid>
            <date>2016-04-29 22:28:38 +0000</date>
            <delta_ts>2016-04-29 22:28:38 +0000</delta_ts>
            <desc>[OE] enabling systemd-boot as a standalone bootloader</desc>
            <filename>0001-systemd-support-systemd-boot-as-a-stand-alone-EFI-bo.patch</filename>
            <type>application/octet-stream</type>
            <size>10193</size>
            <attacher name="Jianxun Zhang">jianxun.zhang</attacher>
            
              <data encoding="base64">RnJvbSA2M2EwYTAzZjU1NTg3M2ZhNzYyZjBlMGQzMjI4MTI0MDBiYjE0NTYxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKaWFueHVuIFpoYW5nIDxqaWFueHVuLnpoYW5nQGxpbnV4Lmlu
dGVsLmNvbT4KRGF0ZTogVGh1LCAyOCBBcHIgMjAxNiAxMzo1MToyNCAtMDcwMApTdWJqZWN0OiBb
UEFUQ0hdIHN5c3RlbWQ6IHN1cHBvcnQgc3lzdGVtZC1ib290IGFzIGEgc3RhbmQgYWxvbmUgRUZJ
IGJvb3Rsb2FkZXIKClRoZSAic3lzdGVtZC1ib290IiBpcyBndW1taWJvb3Qgbm93IGluY2x1ZGVk
IGludG8gc3lzdGVtZCBwcm9qZWN0LgpUaGUgb2xkIGd1bW1pYm9vdCBwcm9qZWN0IHN1cHBvcnRl
ZCBpbiBPRSBpcyBkZWFkLgoKT3VyIGludGVudGlvbiBpcyB0byBnZXQgYSBndW1taWJvb3QtbGlr
ZSBFRkkgYm9vdGxvYWRlciB3aXRob3V0Cm11Y2ggZGVwZW5kZW5jeSBvbiBzeXN0ZW1kIGFuZCBp
dHMgc3ViLWZlYXR1cmVzLgoKVGhpcyB3b3JrIGlzIGxhcmdlbHkgZGVyaXZlZCBmcm9tIHRoZSBl
eGlzdGluZyBiYmNsYXNzIGFuZCByZWNpcGVzCm9mIGd1bW1pYm9vdCBhbmQgc3lzdGVtZC4KKGNv
bW1pdCB0aXA6IGVlMjVkMGUzOTg3ZDc3MzJhMmU0NmUxNjQwNjkzYjRjZjQxOWE5ZmMpCgpQbGVh
c2UgcmVmZXIgdG8gdGhlIGhpc3RvcnkgdXAgdG8gdGhlIHRpcCBmb3IgYXV0aG9yc2hpcCBhbmQK
Y3JlZGl0IGluZm9ybWF0aW9uIGZvciB0aGUgb3JpZ2luYWwgd29ya3MuCgpUbyBlbmFibGUgdGhl
IHN5c3RlbWQtYm9vdCBpbiBidWlsZCwgYWRkIHRoaXMgbGluZQoKRUZJX1BST1ZJREVSID0gInN5
c3RlbWQtYm9vdCIKCmluIHlvdXIgbWFjaGluZSBjb25mIGZpbGUuCgpTaWduZWQtb2ZmLWJ5OiBK
aWFueHVuIFpoYW5nIDxqaWFueHVuLnpoYW5nQGxpbnV4LmludGVsLmNvbT4KLS0tCiBtZXRhL2Ns
YXNzZXMvc3lzdGVtZC1ib290LmJiY2xhc3MgICAgICAgICAgICAgfCAxMjQgKysrKysrKysrKysr
KysrKysrKysrKysrKysKIG1ldGEvcmVjaXBlcy1ic3Avc3lzdGVtZC1ib290L3N5c3RlbWQtYm9v
dC5iYiB8ICAzNCArKysrKysrCiBtZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQuaW5j
ICAgICAgICAgfCAgMjcgKysrKysrCiBtZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWRf
MjI5LmJiICAgICAgfCAgMjggKy0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDE4NyBpbnNlcnRpb25z
KCspLCAyNiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhL2NsYXNzZXMvc3lz
dGVtZC1ib290LmJiY2xhc3MKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhL3JlY2lwZXMtYnNwL3N5
c3RlbWQtYm9vdC9zeXN0ZW1kLWJvb3QuYmIKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhL3JlY2lw
ZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQuaW5jCgpkaWZmIC0tZ2l0IGEvbWV0YS9jbGFzc2VzL3N5
c3RlbWQtYm9vdC5iYmNsYXNzIGIvbWV0YS9jbGFzc2VzL3N5c3RlbWQtYm9vdC5iYmNsYXNzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5M2U4ZDcKLS0tIC9kZXYvbnVsbAor
KysgYi9tZXRhL2NsYXNzZXMvc3lzdGVtZC1ib290LmJiY2xhc3MKQEAgLTAsMCArMSwxMjQgQEAK
KyMgQ29weXJpZ2h0IChDKSAyMDE2IEludGVsIENvcnBvcmF0aW9uCisjCisjIFJlbGVhc2VkIHVu
ZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUKQorCisjIHN5c3RlbWQtYm9vdC5i
YmNsYXNzIC0gVGhlICJzeXN0ZW1kLWJvb3QiIGlzIGVzc2VudGlhbGx5IHRoZSBndW1taWJvb3Qg
bWVyZ2VkIGludG8gc3lzdGVtZC4KKyMgICAgICAgICAgICAgICAgICAgICAgICBUaGUgb3JpZ2lu
YWwgc3RhbmRhbG9uZSBndW1taWJvb3QgcHJvamVjdCBpcyBkZWFkIHdpdGhvdXQgZnVydGhlcgor
IyAgICAgICAgICAgICAgICAgICAgICAgIG1haW50YWluZW5jZS4gQXMgYSBzdGFydCBwb2ludCwg
d2UgcmVwbGFjZSBhbGwgZ3VtbWl0Ym9vdCBvY2N1cmVuY2VzCisjICAgICAgICAgICAgICAgICAg
ICAgICAgd2l0aCBzeXN0ZW1kLWJvb3QgaW4gZ3VtbWlib290LmJiY2xhc3MgdG8gaGF2ZSBhIGJh
c2UgdmVyc2lvbiBvZiB0aGlzCisjICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtZC1ib290
LmJiY2xhc3MuCisjCisjIFNldCBFRklfUFJPVklERVIgPSAic3lzdGVtZC1ib290IiB0byB1c2Ug
c3lzdGVtZC1ib290IG9uIHlvdXIgbGl2ZSBpbWFnZXMgaW5zdGVhZCBvZiBncnViLWVmaQorIyAo
aW1hZ2VzIGJ1aWx0IGJ5IGltYWdlLWxpdmUuYmJjbGFzcyBvciBpbWFnZS12bS5iYmNsYXNzKQor
Citkb19ib290aW1nW2RlcGVuZHNdICs9ICIke01MUFJFRklYfXN5c3RlbWQtYm9vdDpkb19kZXBs
b3kiCitkb19ib290ZGlyZWN0ZGlza1tkZXBlbmRzXSArPSAiJHtNTFBSRUZJWH1zeXN0ZW1kLWJv
b3Q6ZG9fZGVwbG95IgorCitFRklESVIgPSAiL0VGSS9CT09UIgorCitTWVNURU1EX0JPT1RfQ0ZH
ID89ICIke1N9L2xvYWRlci5jb25mIgorU1lTVEVNRF9CT09UX0VOVFJJRVMgPz0gIiIKK1NZU1RF
TURfQk9PVF9USU1FT1VUID89ICIxMCIKKworIyBOZWVkIFVVSUQgdXRpbGl0eSBjb2RlLgoraW5o
ZXJpdCBmcy11dWlkCisKK2VmaV9wb3B1bGF0ZSgpIHsKKyAgICAgICAgREVTVD0kMQorCisgICAg
ICAgIEVGSV9JTUFHRT0ic3lzdGVtZC1ib290aWEzMi5lZmkiCisgICAgICAgIERFU1RfRUZJX0lN
QUdFPSJib290aWEzMi5lZmkiCisgICAgICAgIGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJ4ODZf
NjQiIF07IHRoZW4KKyAgICAgICAgICAgIEVGSV9JTUFHRT0ic3lzdGVtZC1ib290eDY0LmVmaSIK
KyAgICAgICAgICAgIERFU1RfRUZJX0lNQUdFPSJib290eDY0LmVmaSIKKyAgICAgICAgZmkKKwor
ICAgICAgICBpbnN0YWxsIC1kICR7REVTVH0ke0VGSURJUn0KKyAgICAgICAgIyBzeXN0ZW1kLWJv
b3QgcmVxdWlyZXMgdGhlc2UgcGF0aHMgZm9yIGNvbmZpZ3VyYXRpb24gZmlsZXMKKyAgICAgICAg
IyB0aGV5IGFyZSBub3QgY3VzdG9taXphYmxlIHNvIG5vIHBvaW50IGluIG5ldyB2YXJzCisgICAg
ICAgIGluc3RhbGwgLWQgJHtERVNUfS9sb2FkZXIKKyAgICAgICAgaW5zdGFsbCAtZCAke0RFU1R9
L2xvYWRlci9lbnRyaWVzCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke0RFUExPWV9ESVJfSU1B
R0V9LyR7RUZJX0lNQUdFfSAke0RFU1R9JHtFRklESVJ9LyR7REVTVF9FRklfSU1BR0V9CisgICAg
ICAgIGluc3RhbGwgLW0gMDY0NCAke1NZU1RFTURfQk9PVF9DRkd9ICR7REVTVH0vbG9hZGVyL2xv
YWRlci5jb25mCisgICAgICAgIGZvciBpIGluICR7U1lTVEVNRF9CT09UX0VOVFJJRVN9OyBkbwor
ICAgICAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7aX0gJHtERVNUfS9sb2FkZXIvZW50cmllcwor
ICAgICAgICBkb25lCit9CisKK2VmaV9pc29fcG9wdWxhdGUoKSB7CisgICAgICAgIGlzb19kaXI9
JDEKKyAgICAgICAgZWZpX3BvcHVsYXRlICRpc29fZGlyCisgICAgICAgIG1rZGlyIC1wICR7RUZJ
SU1HRElSfS8ke0VGSURJUn0KKyAgICAgICAgY3AgJGlzb19kaXIvJHtFRklESVJ9LyogJHtFRklJ
TUdESVJ9JHtFRklESVJ9CisgICAgICAgIGNwICRpc29fZGlyL3ZtbGludXogJHtFRklJTUdESVJ9
CisgICAgICAgIEVGSVBBVEg9JChlY2hvICIke0VGSURJUn0iIHwgc2VkICdzL1wvL1xcL2cnKQor
ICAgICAgICBlY2hvICJmczA6JHtFRklQQVRIfVxcJHtERVNUX0VGSV9JTUFHRX0iID4gJHtFRklJ
TUdESVJ9L3N0YXJ0dXAubnNoCisgICAgICAgIGlmIFsgLWYgIiRpc29fZGlyL2luaXRyZCIgXSA7
IHRoZW4KKyAgICAgICAgICAgIGNwICRpc29fZGlyL2luaXRyZCAke0VGSUlNR0RJUn0KKyAgICAg
ICAgZmkKK30KKworZWZpX2hkZGltZ19wb3B1bGF0ZSgpIHsKKyAgICAgICAgZWZpX3BvcHVsYXRl
ICQxCit9CisKK3B5dGhvbiBidWlsZF9lZmlfY2ZnKCkgeworICAgIHMgPSBkLmdldFZhcigiUyIs
IFRydWUpCisgICAgbGFiZWxzID0gZC5nZXRWYXIoJ0xBQkVMUycsIFRydWUpCisgICAgaWYgbm90
IGxhYmVsczoKKyAgICAgICAgYmIuZGVidWcoMSwgIkxBQkVMUyBub3QgZGVmaW5lZCwgbm90aGlu
ZyB0byBkbyIpCisgICAgICAgIHJldHVybgorCisgICAgaWYgbGFiZWxzID09IFtdOgorICAgICAg
ICBiYi5kZWJ1ZygxLCAiTm8gbGFiZWxzLCBub3RoaW5nIHRvIGRvIikKKyAgICAgICAgcmV0dXJu
CisKKyAgICBjZmlsZSA9IGQuZ2V0VmFyKCdTWVNURU1EX0JPT1RfQ0ZHJywgVHJ1ZSkKKyAgICB0
cnk6CisgICAgICAgICBjZmdmaWxlID0gb3BlbihjZmlsZSwgJ3cnKQorICAgIGV4Y2VwdCBPU0Vy
cm9yOgorICAgICAgICByYWlzZSBiYi5idWlsZC5mdW5jRmFpbGVkKCdVbmFibGUgdG8gb3BlbiAl
cycgJSAoY2ZpbGUpKQorCisgICAgY2ZnZmlsZS53cml0ZSgnIyBBdXRvbWF0aWNhbGx5IGNyZWF0
ZWQgYnkgT0VcbicpCisgICAgY2ZnZmlsZS53cml0ZSgnZGVmYXVsdCAlc1xuJyAlIChsYWJlbHMu
c3BsaXQoKVswXSkpCisgICAgdGltZW91dCA9IGQuZ2V0VmFyKCdTWVNURU1EX0JPT1RfVElNRU9V
VCcsIFRydWUpCisgICAgaWYgdGltZW91dDoKKyAgICAgICAgY2ZnZmlsZS53cml0ZSgndGltZW91
dCAlc1xuJyAlIHRpbWVvdXQpCisgICAgZWxzZToKKyAgICAgICAgY2ZnZmlsZS53cml0ZSgndGlt
ZW91dCAxMFxuJykKKyAgICBjZmdmaWxlLmNsb3NlKCkKKworICAgIGZvciBsYWJlbCBpbiBsYWJl
bHMuc3BsaXQoKToKKyAgICAgICAgbG9jYWxkYXRhID0gZC5jcmVhdGVDb3B5KCkKKworICAgICAg
ICBvdmVycmlkZXMgPSBsb2NhbGRhdGEuZ2V0VmFyKCdPVkVSUklERVMnLCBUcnVlKQorICAgICAg
ICBpZiBub3Qgb3ZlcnJpZGVzOgorICAgICAgICAgICAgcmFpc2UgYmIuYnVpbGQuRnVuY0ZhaWxl
ZCgnT1ZFUlJJREVTIG5vdCBkZWZpbmVkJykKKworICAgICAgICBlbnRyeWZpbGUgPSAiJXMvJXMu
Y29uZiIgJSAocywgbGFiZWwpCisgICAgICAgIGQuYXBwZW5kVmFyKCJTWVNURU1EX0JPT1RfRU5U
UklFUyIsICIgIiArIGVudHJ5ZmlsZSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZW50cnlj
ZmcgPSBvcGVuKGVudHJ5ZmlsZSwgInciKQorICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAg
ICAgICAgIHJhaXNlIGJiLmJ1aWxkLmZ1bmNGYWlsZWQoJ1VuYWJsZSB0byBvcGVuICVzJyAlIChl
bnRyeWZpbGUpKQorICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCBsYWJlbCAr
ICc6JyArIG92ZXJyaWRlcykKKyAgICAgICAgYmIuZGF0YS51cGRhdGVfZGF0YShsb2NhbGRhdGEp
CisKKyAgICAgICAgZW50cnljZmcud3JpdGUoJ3RpdGxlICVzXG4nICUgbGFiZWwpCisgICAgICAg
IGVudHJ5Y2ZnLndyaXRlKCdsaW51eCAvdm1saW51elxuJykKKworICAgICAgICBhcHBlbmQgPSBs
b2NhbGRhdGEuZ2V0VmFyKCdBUFBFTkQnLCBUcnVlKQorICAgICAgICBpbml0cmQgPSBsb2NhbGRh
dGEuZ2V0VmFyKCdJTklUUkQnLCBUcnVlKQorCisgICAgICAgIGlmIGluaXRyZDoKKyAgICAgICAg
ICAgIGVudHJ5Y2ZnLndyaXRlKCdpbml0cmQgL2luaXRyZFxuJykKKyAgICAgICAgbGIgPSBsYWJl
bAorICAgICAgICBpZiBsYWJlbCA9PSAiaW5zdGFsbCI6CisgICAgICAgICAgICBsYiA9ICJpbnN0
YWxsLWVmaSIKKyAgICAgICAgZW50cnljZmcud3JpdGUoJ29wdGlvbnMgTEFCRUw9JXMgJyAlIGxi
KQorICAgICAgICBpZiBhcHBlbmQ6CisgICAgICAgICAgICBhcHBlbmQgPSByZXBsYWNlX3Jvb3Rm
c191dWlkKGQsIGFwcGVuZCkKKyAgICAgICAgICAgIGVudHJ5Y2ZnLndyaXRlKCclcycgJSBhcHBl
bmQpCisgICAgICAgIGVudHJ5Y2ZnLndyaXRlKCdcbicpCisgICAgICAgIGVudHJ5Y2ZnLmNsb3Nl
KCkKK30KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ic3Avc3lzdGVtZC1ib290L3N5c3RlbWQt
Ym9vdC5iYiBiL21ldGEvcmVjaXBlcy1ic3Avc3lzdGVtZC1ib290L3N5c3RlbWQtYm9vdC5iYgpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMDdjNmU0Ci0tLSAvZGV2L251bGwK
KysrIGIvbWV0YS9yZWNpcGVzLWJzcC9zeXN0ZW1kLWJvb3Qvc3lzdGVtZC1ib290LmJiCkBAIC0w
LDAgKzEsMzQgQEAKK3JlcXVpcmUgcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC5pbmMKKwor
REVQRU5EUyA9ICJsaWJjYXAgdXRpbC1saW51eCBnbnUtZWZpIgorCitpbmhlcml0IGF1dG90b29s
cyBwa2djb25maWcgZ2V0dGV4dAoraW5oZXJpdCBkZXBsb3kKKworRVhUUkFfT0VDT05GID0gIiAt
LWVuYWJsZS1nbnVlZmkgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtZWZpLWluY2x1ZGVkaXI9
JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgICAtLXdpdGgtZWZpLWxkc2Rpcj0k
e1NUQUdJTkdfTElCRElSfSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1lZmktbGliZGlyPSR7
U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICIKKworIyBJbXBvcnRlZCBmcm9tIGd1
bW1pYm9vdCByZWNpcGUKK1RVTkVfQ0NBUkdTX3JlbW92ZSA9ICItbWZwbWF0aD1zc2UiCisKK2Rv
X2NvbXBpbGUoKSB7CisJU1lTVEVNRF9CT09UX0VGSV9BUkNIPSJpYTMyIgorCWlmIFsgIiR7VEFS
R0VUX0FSQ0h9IiA9ICJ4ODZfNjQiIF07IHRoZW4KKwkJU1lTVEVNRF9CT09UX0VGSV9BUkNIPSJ4
NjQiCisJZmkKKworCW9lX3J1bm1ha2Ugc3lzdGVtZC1ib290JHtTWVNURU1EX0JPT1RfRUZJX0FS
Q0h9LmVmaQorfQorCitkb19pbnN0YWxsKCkgeworCSMgQnlwYXNzIHN5c3RlbWQgaW5zdGFsbGF0
aW9uIHdpdGggYSBOT1AKKwk6Cit9CisKK2RvX2RlcGxveSAoKSB7CisJaW5zdGFsbCAke0J9L3N5
c3RlbWQtYm9vdCouZWZpICR7REVQTE9ZRElSfQorfQorYWRkdGFzayBkZXBsb3kgYmVmb3JlIGRv
X2J1aWxkIGFmdGVyIGRvX2NvbXBpbGUKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1jb3JlL3N5
c3RlbWQvc3lzdGVtZC5pbmMgYi9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQuaW5j
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmZDhkY2MKLS0tIC9kZXYvbnVs
bAorKysgYi9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQuaW5jCkBAIC0wLDAgKzEs
MjcgQEAKK1NVTU1BUlkgPSAiQSBTeXN0ZW0gYW5kIHNlcnZpY2UgbWFuYWdlciIKK0hPTUVQQUdF
ID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvc3lzdGVtZCIKKwor
REVTQ1JJUFRJT04gPSAic3lzdGVtZCBpcyBhIHN5c3RlbSBhbmQgc2VydmljZSBtYW5hZ2VyIGZv
ciBMaW51eCwgY29tcGF0aWJsZSB3aXRoIFwKK1N5c1YgYW5kIExTQiBpbml0IHNjcmlwdHMuIHN5
c3RlbWQgcHJvdmlkZXMgYWdncmVzc2l2ZSBwYXJhbGxlbGl6YXRpb24gXAorY2FwYWJpbGl0aWVz
LCB1c2VzIHNvY2tldCBhbmQgRC1CdXMgYWN0aXZhdGlvbiBmb3Igc3RhcnRpbmcgc2VydmljZXMs
IFwKK29mZmVycyBvbi1kZW1hbmQgc3RhcnRpbmcgb2YgZGFlbW9ucywga2VlcHMgdHJhY2sgb2Yg
cHJvY2Vzc2VzIHVzaW5nIFwKK0xpbnV4IGNncm91cHMsIHN1cHBvcnRzIHNuYXBzaG90dGluZyBh
bmQgcmVzdG9yaW5nIG9mIHRoZSBzeXN0ZW0gXAorc3RhdGUsIG1haW50YWlucyBtb3VudCBhbmQg
YXV0b21vdW50IHBvaW50cyBhbmQgaW1wbGVtZW50cyBhbiBcCitlbGFib3JhdGUgdHJhbnNhY3Rp
b25hbCBkZXBlbmRlbmN5LWJhc2VkIHNlcnZpY2UgY29udHJvbCBsb2dpYy4gSXQgY2FuIFwKK3dv
cmsgYXMgYSBkcm9wLWluIHJlcGxhY2VtZW50IGZvciBzeXN2aW5pdC4iCisKK0xJQ0VOU0UgPSAi
R1BMdjIgJiBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UuR1BM
MjttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgXAorICAgICAgICAgICAgICAg
ICAgICBmaWxlOi8vTElDRU5TRS5MR1BMMi4xO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhi
MzY0NTE2YyIKKworUEUgPSAiMSIKKworU1JDUkVWID0gIjcxNGM2MmI0NjM3OWFiYjc1NThjNTQ0
NjY1NTIyYWNhOTE2OTFlMTAiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zeXN0ZW1k
L3N5c3RlbWQuZ2l0O3Byb3RvY29sPWdpdCIKKworUFYgPSAiMjI5K2dpdCR7U1JDUFZ9IgorCitT
ID0gIiR7V09SS0RJUn0vZ2l0IgorCitMREZMQUdTX2FwcGVuZF9saWJjLXVjbGliYyA9ICIgLWxy
dCAtbHNzcF9ub25zaGFyZWQgLWxzc3AgIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWNvcmUv
c3lzdGVtZC9zeXN0ZW1kXzIyOS5iYiBiL21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVt
ZF8yMjkuYmIKaW5kZXggYzIzYzc0OS4uMWRlZTFmMiAxMDA2NDQKLS0tIGEvbWV0YS9yZWNpcGVz
LWNvcmUvc3lzdGVtZC9zeXN0ZW1kXzIyOS5iYgorKysgYi9tZXRhL3JlY2lwZXMtY29yZS9zeXN0
ZW1kL3N5c3RlbWRfMjI5LmJiCkBAIC0xLDM0ICsxLDE0IEBACi1TVU1NQVJZID0gIkEgU3lzdGVt
IGFuZCBzZXJ2aWNlIG1hbmFnZXIiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9w
Lm9yZy93aWtpL1NvZnR3YXJlL3N5c3RlbWQiCi0KLURFU0NSSVBUSU9OID0gInN5c3RlbWQgaXMg
YSBzeXN0ZW0gYW5kIHNlcnZpY2UgbWFuYWdlciBmb3IgTGludXgsIGNvbXBhdGlibGUgd2l0aCBc
Ci1TeXNWIGFuZCBMU0IgaW5pdCBzY3JpcHRzLiBzeXN0ZW1kIHByb3ZpZGVzIGFnZ3Jlc3NpdmUg
cGFyYWxsZWxpemF0aW9uIFwKLWNhcGFiaWxpdGllcywgdXNlcyBzb2NrZXQgYW5kIEQtQnVzIGFj
dGl2YXRpb24gZm9yIHN0YXJ0aW5nIHNlcnZpY2VzLCBcCi1vZmZlcnMgb24tZGVtYW5kIHN0YXJ0
aW5nIG9mIGRhZW1vbnMsIGtlZXBzIHRyYWNrIG9mIHByb2Nlc3NlcyB1c2luZyBcCi1MaW51eCBj
Z3JvdXBzLCBzdXBwb3J0cyBzbmFwc2hvdHRpbmcgYW5kIHJlc3RvcmluZyBvZiB0aGUgc3lzdGVt
IFwKLXN0YXRlLCBtYWludGFpbnMgbW91bnQgYW5kIGF1dG9tb3VudCBwb2ludHMgYW5kIGltcGxl
bWVudHMgYW4gXAotZWxhYm9yYXRlIHRyYW5zYWN0aW9uYWwgZGVwZW5kZW5jeS1iYXNlZCBzZXJ2
aWNlIGNvbnRyb2wgbG9naWMuIEl0IGNhbiBcCi13b3JrIGFzIGEgZHJvcC1pbiByZXBsYWNlbWVu
dCBmb3Igc3lzdmluaXQuIgotCi1MSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCi1MSUNfRklM
RVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLkdQTDI7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5Zjdh
YmFhYmFhODgyYmJlIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UuTEdQTDIu
MTttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCityZXF1aXJlIHN5c3RlbWQu
aW5jCiAKIFBST1ZJREVTID0gInVkZXYiCiAKLVBFID0gIjEiCi0KIERFUEVORFMgPSAia21vZCBk
b2Nib29rLXNnbWwtZHRkLTQuMS1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIGdwZXJmLW5hdGl2ZSBh
Y2wgcmVhZGxpbmUgbGliY2FwIGxpYmNncm91cCBxZW11LW5hdGl2ZSB1dGlsLWxpbnV4IgogCiBT
RUNUSU9OID0gImJhc2Uvc2hlbGwiCiAKIGluaGVyaXQgdXNlcmFkZCBwa2djb25maWcgYXV0b3Rv
b2xzIHBlcmxuYXRpdmUgdXBkYXRlLXJjLmQgdXBkYXRlLWFsdGVybmF0aXZlcyBxZW11IHN5c3Rl
bWQgcHRlc3QgZ2V0dGV4dCBiYXNoLWNvbXBsZXRpb24KIAotU1JDUkVWID0gIjcxNGM2MmI0NjM3
OWFiYjc1NThjNTQ0NjY1NTIyYWNhOTE2OTFlMTAiCi0KLVBWID0gIjIyOStnaXQke1NSQ1BWfSIK
LQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3N5c3RlbWQvc3lzdGVtZC5naXQ7cHJvdG9j
b2w9Z2l0IFwKK1NSQ19VUkkgKz0gIiBcCiAgICAgICAgICAgIGZpbGU6Ly90b3VjaHNjcmVlbi5y
dWxlcyBcCiAgICAgICAgICAgIGZpbGU6Ly8wMC1jcmVhdGUtdm9sYXRpbGUuY29uZiBcCiAgICAg
ICAgICAgIGZpbGU6Ly9pbml0IFwKQEAgLTYwLDEwICs0MCw2IEBAIFNSQ19VUklfYXBwZW5kX2xp
YmMtdWNsaWJjID0gIlwKICIKIFNSQ19VUklfYXBwZW5kX3FlbXVhbGwgPSAiIGZpbGU6Ly8wMDAx
LWNvcmUtZGV2aWNlLmMtQ2hhbmdlLXRoZS1kZWZhdWx0LWRldmljZS10aW1lb3V0LXRvLTIucGF0
Y2giCiAKLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLUxERkxBR1NfYXBwZW5kX2xpYmMtdWNsaWJj
ID0gIiAtbHJ0IC1sc3NwX25vbnNoYXJlZCAtbHNzcCAiCi0KIEdUS0RPQ19ET0NESVIgPSAiJHtT
fS9kb2NzLyIKIAogUEFDS0FHRUNPTkZJRyA/Pz0gInh6IFwKLS0gCjEuOS4xCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>