From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::102f; helo=mail-pj1-x102f.google.com; envelope-from=suichen6@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=vRqJ1kQi; dkim-atps=neutral Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495Y4S74dczDqmd for ; Tue, 21 Apr 2020 03:05:56 +1000 (AEST) Received: by mail-pj1-x102f.google.com with SMTP id np9so123015pjb.4 for ; Mon, 20 Apr 2020 10:05:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:mime-version:date:from:subject:thread-topic:to :content-transfer-encoding; bh=t2uEeo4DomGPLwyGxWAJUnvV1aK32Pf7KHDfY5DVRco=; b=vRqJ1kQivfO0p9ygCiGDobTI5wHdVQgQr/ueXyNiwYE7xKwhPNt4IPZF/S3hOreqx5 23WJf/lRY9CpQ5i8eCiD2Da3GMscCO/Om06DSXUxoWpp8sUM3XHs+XRI+MYu2QWN5VcQ 3KhZICK/a+lTJkRcfdCU6OvswOWoXBcohghxuyhr/Yswea8QYijBr/PFO8G62PWHqwCC G1IOzLYR1swxuzk0TOzv18/NLVrRlBbpOxTlmBJ8ulTCMM+lCysqzvTaOPRiPxbiHVr3 vyMpDiUxh09Chsv9X2VxBvpUg6xD0TbBcP8ZjwoPdEKE/W2NdvUba0yRjnONXFJwpMN3 Lmzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:mime-version:date:from:subject :thread-topic:to:content-transfer-encoding; bh=t2uEeo4DomGPLwyGxWAJUnvV1aK32Pf7KHDfY5DVRco=; b=Cc4iyXxg+DqbQHLHskawdBsiaRJ5SYpLYuWFB2uNmMmX1PGkPBKFwxy9/RD1Blai1Y cjrc0lCBY1JLF0kMYySJOTO9D2yzFPtlVqxNsIfgbJi5koY4wqNZAEAb8u6yrAmj2OhP OgXiRo4rf4ANAF9aglTbUWiSvckFfyMK88e+WbVpiNQka4QafX62gysa8s+poY9lh+d6 prVduvusyuF0itBf3f9WMsVi5WyrmM7SIPFetTqk1DedvG1dQOGPKk4ZlCcleCeBzd2s gkijXpAG5IT94XoZpPBVVXSMM5wDGyVyesZ8WZYiCL9rKDk8NVPE43+7mG4zYEQ5Ilkh YvXw== X-Gm-Message-State: AGi0Pub7NRafH6ODpIqW2xZA7jVECF2IfuWPJOFLknVzg0h5dn20jXmO 2bHjHqE9Ww/pMSCSKNdE6lgeNOUpr6k= X-Google-Smtp-Source: APiQypItvJB4uSO2sTkNHN42sDWZBjhjzqd0lCJMGq+wEI12J57ET50L1bQnucF0jF2gjrWNWzUBSQ== X-Received: by 2002:a17:90a:1da6:: with SMTP id v35mr485505pjv.44.1587402352556; Mon, 20 Apr 2020 10:05:52 -0700 (PDT) Received: from smtp.gmail.com ([2601:647:4c00:3a60:a0f6:a1ab:fa9a:2606]) by smtp.gmail.com with ESMTPSA id l137sm30274pfd.107.2020.04.20.10.05.51 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Apr 2020 10:05:51 -0700 (PDT) Message-ID: <5e9dd66f.1c69fb81.45fc6.0118@mx.google.com> MIME-Version: 1.0 Date: Mon, 20 Apr 2020 10:05:48 -0700 From: Sui Chen Subject: Re: Call for Gardening Tasks Thread-Topic: Re: Call for Gardening Tasks To: "openbmc@lists.ozlabs.org" Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="utf-8" X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Apr 2020 17:06:01 -0000

> On Apr 11, 2= 020, at 8:15 AM, Andrew Geissler <geissonator at gmail.com> wrote:

> Systemd Visualization<= /span>

> Another complicated = area of OpenBMC is our systemd targets and services. Building on the upstre= am tools to visualize our systemd targets and services would be useful to n= ew people.

 

+1 to visualization, and I have a few thou= ghts on this ---

My lacking a mental model of how an OpenBMC s= ystem works had been my pain point in the first few months working with Ope= nBMC (I=E2=80=99m a bit new to this area), so after learning the minimal se= t of survival skills I did something similar to what you mentioned =E2=80= =93 visualizing the messages passed between different dbus peers (and conve= niently, IPMI traffic, as IPMI-related dbus messages exposing all IPMI payl= oad comprise most of the dbus traffic on that particular system I was worki= ng on.)

 

I think packet analysis tools suc= h as Wireshark and graphics frame analysis tools such as RenderDoc, or syst= em event-based Windows Performance tool like GPUView provide great examples= of what people might expect to achieve with a visualization tool: capture,= inspect and (sometimes) playback, across multiple layers in the software/h= ardware stack. Many similar existing tools process sequences of events, and= in this case of BMCs, the events could be dbus messages. I found a prototy= pe visualizer made at work greatly helpful in explaining to new team member= s some basic concepts and the IPMI stack on the BMC.

<= p class=3DMsoNormal>&nbs= p;

The IPMI stack is interesting because it=E2=80=99s one noticeabl= e workload on the particular BMC system I had been working on; in my curren= t limited understanding, having lots of I/O capability to connect to hundre= ds of sensors is one of the many features that set apart a BMC chip and a s= imilarly powerful smartphone chip, and the broad use of dbus is what sets a= part OpenBMC and the desktop Linux distro I had been using. I heard optimiz= ation is best done workload by workload, perhaps this rationale applies to = visualization too?

 

I realize I was mostly = talking about visualizing the run-time state of the system rather than buil= d-time, but we could visualize the run-time aspect of systemd units too sin= ce I have seen many times a dbus message eventually triggering a systemd ta= rget to acutate the system, so it would be good to consider both dbus and s= ystemd (and maybe other parts of the system?) to have a more holistic view = of the BMC=E2=80=99s operations.

=  

<= p class=3DMsoNormal>Thanks

Sui

= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=outlook.com (client-ip=40.92.254.107; helo=apc01-pu1-obe.outbound.protection.outlook.com; envelope-from=zhouyuanqing8@outlook.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=outlook.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=outlook.com header.i=@outlook.com header.a=rsa-sha256 header.s=selector1 header.b=Ziqt4ks5; dkim-atps=neutral Received: from APC01-PU1-obe.outbound.protection.outlook.com (mail-oln040092254107.outbound.protection.outlook.com [40.92.254.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 49661z4NDQzDqM5 for ; Wed, 22 Apr 2020 00:50:46 +1000 (AEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IykTvFANiU9Jm/NRpA2PAjsSMz3xt4TVTCMeXPVjwbhA07GHpRDItml6RbdwKwTpahNGRnyFUscEh7ENTSVy2OV6stPmfBh7yY3t0z7xjXb/46zCmwvJ4mMCxPKUcng19Y958eb+posH6cjWqAcQt/WIJYpnjLqrjXZqQqfGKGpd8DqFftirm4qBa9XtlOzbL+DxYZTpT8pUJBcvNvjAcMR7p4LYvSPwTEVpsVZeUxGjrtd4AV96Yhxca1A/w/1BrTLfvG3cwqVXJrDwAoyZ3BaCHhkPsQWovR5mc36mcnmnL5g1XilkTJWAUy8lZgdpFakzZ8ow9eZVdWOYVBvZHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XN4yk/074AxJVKnV4K3GsXVkfamseZkhkL2JzVaz1c4=; b=aBWdoOE9gUPrU0Fstx9p0dWRHGytRnnsr1AlQ4CL0R9H1kZFHV/RbmOFD1vY+oIjSIqZIluTqVTw24zXnSQNOuvRNuHrt2YKXRVzqLh2+jNlSfwJSHlSYbL4rBWBFbxrEmuBOOAtomTZ6xhyqnyrqvRzx6r5GixWM8W+Jz1Gscan7Mehlhr1D6uwlKdU7UMZbcFaktajJTHnc+x8JRsmJfoacDtQQJdYCPIZvKOXGUbhVGWEl0HFa5SvmRXf1M4ojg1qqPVnC4dhLAxho8RFRJKwqb7/Pt/KNrpxGvfZF3ONwrM+mxmliOl/fzw6REwMAGF18HLIMs7exmKGLx0fJg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XN4yk/074AxJVKnV4K3GsXVkfamseZkhkL2JzVaz1c4=; b=Ziqt4ks5uW57VyURMdq7DjEfqmVrIZbJMeDprTCG1cYa/WHd6lV79oH+SzOKP+mu/A7gZ0nn885W3WI3s8ca0Tg3ZUb3JwzdPHUOBRJLZfSfXKbywkJBgSmKrM7Q6j3sfXM8C+s6tdgjO5X+Y7nqNvmUA+0e3eS9UKy9OICCd5NS0I4EsRGybgjHIJeVJ6sqf0y1wMCBli+9GGqjonXfotKve+d+DvxaeFyjCBRLd6HO2eZaDnBfkWgbz2q3dPD2yVxqbzEjl69MViWkaBiKcC3ypvP08VjE3fgxZeMmGmkThiT46QVSH9wu5cm7G927m1h51jKqt1bEdRoAMFu56g== Received: from PU1APC01FT019.eop-APC01.prod.protection.outlook.com (2a01:111:e400:7ebe::40) by PU1APC01HT062.eop-APC01.prod.protection.outlook.com (2a01:111:e400:7ebe::351) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.25; Tue, 21 Apr 2020 14:50:40 +0000 Received: from HK2PR04MB3826.apcprd04.prod.outlook.com (2a01:111:e400:7ebe::44) by PU1APC01FT019.mail.protection.outlook.com (2a01:111:e400:7ebe::222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.25 via Frontend Transport; Tue, 21 Apr 2020 14:50:40 +0000 Received: from HK2PR04MB3826.apcprd04.prod.outlook.com ([fe80::48eb:bda9:d490:c17c]) by HK2PR04MB3826.apcprd04.prod.outlook.com ([fe80::48eb:bda9:d490:c17c%3]) with mapi id 15.20.2921.030; Tue, 21 Apr 2020 14:50:39 +0000 From: "zhouyuanqing8@outlook.com" To: Sui Chen , "openbmc@lists.ozlabs.org" CC: "uperic@163.com" , "shinerocky@yahoo.com" Subject: =?gb2312?B?YWJvdXQgcG93ZXIgY29udHJvbC672Li0OiBDYWxsIGZvciBHYXJkZW5pbmcg?= =?gb2312?Q?Tasks?= Thread-Topic: =?gb2312?B?YWJvdXQgcG93ZXIgY29udHJvbC672Li0OiBDYWxsIGZvciBHYXJkZW5pbmcg?= =?gb2312?Q?Tasks?= Thread-Index: AQHWFzfNy6/e3WsCnUKvq29Gt2WgdqiDk+GA Date: Tue, 21 Apr 2020 14:50:39 +0000 Message-ID: References: <5e9dd66f.1c69fb81.45fc6.0118@mx.google.com> In-Reply-To: <5e9dd66f.1c69fb81.45fc6.0118@mx.google.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:7AD0E2135AD3268CC43E3885D07C0A1A11D617A949B484D0E5DFE28EFD92D7A4; UpperCasedChecksum:59CCC510679833BC979DD318FA955EF7E7C2AEE7BDCBA8294888AD20A85FF030; SizeAsReceived:7075; Count:45 x-tmn: [i7GMU7c5LH0BJCCfSo3mRgVUoEMtpoac] x-ms-publictraffictype: Email x-incomingheadercount: 45 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: a61200a5-02ec-4638-67d9-08d7e6035c0a x-ms-traffictypediagnostic: PU1APC01HT062: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: PJ/gFjQkfLUQ0X9zIb0qToG201NHdzC8wjgWjVcm0aCt24lMlOa0M3ryyhDDMcki5aApS2jfUmizp6hPlR9dQCoBd1+nW/L9kqHGMHhlRp8lnlIvAZ4hFd9S7C3k8+9XZzSnxek+UN+kSao2zvdKYgHU21xwzHqObMVwVe+vQsVVL/bCOIUy3JUb2IIf4evPxdCpyEh5AiGZTgY1qfiqKGcdJsO7ctF63BtO21Wgd+OYJYlrv6g5B3b7RJPc5XKs x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:0; SRV:; IPV:NLI; SFV:NSPM; H:HK2PR04MB3826.apcprd04.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:; DIR:OUT; SFP:1901; x-ms-exchange-antispam-messagedata: WVHqPBm7nM8jWt3gsw3r/W4md+3Yaz8Pkwuz1IMeXe8VA+NXRN1gIO5fICbEVxTskkOaHibLTqkbqbnv4d7+q2LpvqjlSbgMwq48/N0DKFBRab1XNX28/mmGm918czYE3UMB+L4s/ZxOTMKeaRmoyQ== x-ms-exchange-transport-forked: True Content-Type: multipart/alternative; boundary="_000_PS2PR04MB383294A0D7402F9204C46C97FED50PS2PR04MB3832apcp_" MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: a61200a5-02ec-4638-67d9-08d7e6035c0a X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Apr 2020 14:50:39.9001 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: PU1APC01HT062 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Apr 2020 14:50:50 -0000 --_000_PS2PR04MB383294A0D7402F9204C46C97FED50PS2PR04MB3832apcp_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGkNCg0KICAgIFRoaXMgaXMgYSB2ZXJ5IGdvb2QgaWRlYS4gQXMgdGhlIGZpcnN0IHRpbWUgdG8g ZG8gb3BlbmJtYywgSSBsb29rIGZvcndhcmQgdG8gaXQuIEN1cnJlbnRseSwgSSBhbSBiZWluZyB0 cm91YmxlZCBieSB0aGUgcHJvYmxlbXMgeW91IGRlc2NyaWJlLg0KDQogICAgVGhlIGZvbGxvd2lu ZyBxdWVzdGlvbnMsIHBsZWFzZSBhbHNvIGhlbHAgeW91IGFuc3dlciBpdCwgdGhhbmsgeW91IHZl cnkgbXVjaC4NCg0KICAgIDEuSSBtb2RpZmllZCB0aGUgZHRzIGZpbGUsIGhvdyB0byB1c2UgdGhl IGNvbW1hbmQgImJpdGJha2UgLWYgbGludXgtYXNwZWVkIiB0byBHZW5lcmF0ZSBmaXRpbWFnZSBh bmQgZHVio78NCiAgICAgTm93LCBJIG1vZGlmeSB0aGUgZHRzIGZpbGUgaW4gdGhlIGtlcm5lbCBz b3VyY2UgZGlyZWN0b3J5LiBXaGVuIEkgY29tcGlsZSwgYml0YmFrZSB3aWxsIHJlLWZldGNoIHRo ZSBzb3VyY2UgY29kZSwgZGVjb21wcmVzcywgcGF0Y2gsIGNvbmZpZ3VyZSwgYW5kIGNvbXBpbGUs IGNhdXNpbmcgbXkgY2hhbmdlcyB0byBiZSBvdmVyd3JpdHRlbi4gSSBjdXJyZW50bHkgdXNlIG1h bnVhbCBjYWxsIHNjcmlwdHMgdG8gY29tcGlsZSBkdHMgZmlsZXMgYW5kIG1ha2UgaW1hZ2VzIGZv ciBkZWJ1Z2dpbmcuSXMgdGhlcmUgYSB3YXkgdG8gbWFrZSBiaXRiYWtlIHNraXAgdGhlIHByZXZp b3VzIHN0ZXBzIGFuZCBjb21waWxlIGRpcmVjdGx5o78NCg0KDQogICAgIDIuVGhlIHNpemUgb2Yg aW1hZ2UtcndmcyBpcyAwLCBJIHdhbnQgdG8gdXNlIHJ3ZnMgZGVidWdnaW5nLCBob3cgdG8gY29u ZmlndXJlIHRvIGdlbmVyYXRlIGEgbm9ybWFsIGltYWdlLXJ3ZnM/DQogICAgIC1ydy1yLS1yLS0u IDIgaGFybGV5emhvdSBoYXJsZXl6aG91ICAgICA5NDQzICAgICAgICAgICAgIDTUwiAgICAgICAg NyAxNzoyNyBvYm1jLXBob3NwaG9yLWltYWdlLXh4aC0yMDIwMDQwNzA5MjU1OC5yb290ZnMubWFu aWZlc3QNCiAgICAgLXJ3LXItLXItLS4gMiBoYXJsZXl6aG91IGhhcmxleXpob3UgMTgyMTQ5MTIg ICAgICAgICA01MIgICAgNyAxNzoyNyBvYm1jLXBob3NwaG9yLWltYWdlLXh4aC0yMDIwMDQwNzA5 MjU1OC5yb290ZnMuc3F1YXNoZnMteHoNCiAgICAgLXJ3LXJ3LXItLS4gMiBoYXJsZXl6aG91IGhh cmxleXpob3UgMzM1NTQ0MzIgICAgICAgIDTUwiAgIDcgMTc6Mjcgb2JtYy1waG9zcGhvci1pbWFn ZS14eGgtMjAyMDA0MDcwOTI1NTguc3RhdGljLm10ZA0KICAgICAtcnctcnctci0tLiAyIGhhcmxl eXpob3UgaGFybGV5emhvdSAzMzU2NjcyMCAgICAgICAgNNTCICAgNyAxNzoyOCBvYm1jLXBob3Nw aG9yLWltYWdlLXh4aC0yMDIwMDQwNzA5MjU1OC5zdGF0aWMubXRkLmFsbC50YXINCiAgICAgLXJ3 LXJ3LXItLS4gMiBoYXJsZXl6aG91IGhhcmxleXpob3UgMjIzODQ2NDAgICAgICAgIDTUwiAgIDcg MTc6Mjggb2JtYy1waG9zcGhvci1pbWFnZS14eGgtMjAyMDA0MDcwOTI1NTguc3RhdGljLm10ZC50 YXINCiAgICAgLXJ3LXItLXItLS4gMiBoYXJsZXl6aG91IGhhcmxleXpob3UgICAzMDgyMTggICAg ICAgICAgICA01MIgICAgICA3IDE3OjI3IG9ibWMtcGhvc3Bob3ItaW1hZ2UteHhoLTIwMjAwNDA3 MDkyNTU4LnRlc3RkYXRhLmpzb24NCiAgICAgLXJ3LXItLXItLS4gMiBoYXJsZXl6aG91IGhhcmxl eXpob3UgICAgICAgICAgIDAgICAgICAgICAgICAgICA01MIgICA3IDE3OjI3IG9ibWMtcGhvc3Bo b3ItaW1hZ2UteHhoLmpmZnMyDQoNCg0KICAgIDMuIEkgZGlkIG5vdCBmaW5kIHRoZSBzb3VyY2Ug Y29kZSBvZiAicGdvb2Rfd2FpdCIgYW5kICJwb3dlcl9jb250cm9sLmV4ZSIgaW4gb2JtYy1vcC1j b250cm9sLXBvd2VyPyB3aGVyZSBjYW4gSSBnZXQgaXQgPw0KDQoNCiAgICA0Lk9wZW5CTUMgdXNl cyBzeXN0ZW1kPGh0dHBzOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL3N5c3Rl bWQvPiB0byBtYW5hZ2UgYWxsIHByb2Nlc3NlcywgU28gaSBhbmFseXplZCB0aGUgcHJvY2VzcyBv ZiBzeXN0ZW1kIHN0YXJ0aW5nIHByb2Nlc3MgYW5kIHNhdyAiZGVmYXVsdC50YXJnZXQtPiBiYXNp Yy50YXJnZXQtPiBzeXNpbml0LnRhcmdldC0+IGxvY2FsLWZzLnRhcmdldCIsIHRoZXJlIGlzIG5v IGNvbnRlbnQgYmVoaW5kLnBsZWFzZSBoZWxwIHRvIHByb3ZpZGUgY2x1ZXMgb2Ygc3lzdGVtZCBz dGFydGluZyBwcm9jZXNzLg0KDQogICAgNS5JIHVuZGVyc3RhbmQgdGhlIGZvbGxvd2luZyBleGVj dXRpb24gcHJvY2VzcyBvZiBwb3dlci1vbiAsIGhlbHAgY2hlY2sgaWYgaXQgaXMgY29ycmVjdC4N CiAgICAgICBhKS5yZXN0IG9yIGJ1c2N0bCBzZW5kIHBvd2VyLW9uIGNvbW1hbmRzIHRvIHN5c3Rl bWQgdGhyb3VnaCBkLWJ1cyBtZXNzYWdlcy4NCiAgICAgICBiKS5zeXN0ZW1kIGZpbmQgdGhlIG9i bWMtY2hhc3Npcy1wb3dlcm9uQC50YXJnZXQNCiAgICAgICAgYykuc3lzdGVtZCBmaW5kIHRoZSBv Ym1jLXBvd2VyLXN0YXJ0QC50YXJnZXQNCiAgICAgICAgZCkuc3lzdGVtZCBmaW5kIHRoZSBvcC1w b3dlci1zdGFydEAwLnNlcnZpY2UNCiAgICAgICAgZSkuc3lzdGVtZCBzdGFydCBhIHRocmVhZCBh bmQgZXhlY3V0ZSAiYnVzY3RsIGNhbGwgYG1hcHBlciBnZXQtc2VydmljZSAvb3JnL29wZW5ibWMv Y29udHJvbC9wb3dlciVpYCAvb3JnL29wZW5ibWMvY29udHJvbC9wb3dlciVpIG9yZy5vcGVuYm1j LmNvbnRyb2wuUG93ZXIgc2V0UG93ZXJTdGF0ZSBJIDEiDQoNCmFwcGVuZGl4o7oNCg0KbHMgb2Jt Yy1jaGFzc2lzLXBvd2Vyb25AMC50YXJnZXQucmVxdWlyZXMNCg0Kb3AtcG93ZXItc3RhcnRAMC5z ZXJ2aWNlICBvcC13YWl0LXBvd2VyLW9uQDAuc2VydmljZQ0KDQoNCmNhdCBvYm1jLWNoYXNzaXMt cG93ZXJvbkAudGFyZ2V0DQoNCltVbml0XQ0KDQpEZXNjcmlwdGlvbj1DaGFzc2lzJWkgKFBvd2Vy IE9uKQ0KDQpXYW50cz1tdWx0aS11c2VyLnRhcmdldA0KDQpBZnRlcj1tdWx0aS11c2VyLnRhcmdl dA0KDQpXYW50cz1tYXBwZXItd2FpdEAteHl6LW9wZW5ibWNfcHJvamVjdC1zdGF0ZS1jaGFzc2lz JWkuc2VydmljZQ0KDQpBZnRlcj1tYXBwZXItd2FpdEAteHl6LW9wZW5ibWNfcHJvamVjdC1zdGF0 ZS1jaGFzc2lzJWkuc2VydmljZQ0KDQpXYW50cz1tYXBwZXItc3VidHJlZS1yZW1vdmVALXh5ei1v cGVuYm1jXHg1ZnByb2plY3Qtc29mdHdhcmVceDNBeHl6Lm9wZW5ibWNfcHJvamVjdC5Tb2Z0d2Fy ZS5BY3RpdmF0aW9uQmxvY2tzVHJhbnNpdGlvbi5zZXJ2aWNlDQoNCkFmdGVyPW1hcHBlci1zdWJ0 cmVlLXJlbW92ZUAteHl6LW9wZW5ibWNceDVmcHJvamVjdC1zb2Z0d2FyZVx4M0F4eXoub3BlbmJt Y19wcm9qZWN0LlNvZnR3YXJlLkFjdGl2YXRpb25CbG9ja3NUcmFuc2l0aW9uLnNlcnZpY2UNCg0K DQpjYXQgb3AtcG93ZXItc3RhcnRAMC5zZXJ2aWNlDQoNCltVbml0XQ0KDQpEZXNjcmlwdGlvbj1T dGFydCBQb3dlciVpDQoNCldhbnRzPW9ibWMtcG93ZXItc3RhcnRAJWkudGFyZ2V0DQoNCkJlZm9y ZT1vYm1jLXBvd2VyLXN0YXJ0QCVpLnRhcmdldA0KDQpBZnRlcj1vYm1jLXBvd2VyLXN0YXJ0LXBy ZUAlaS50YXJnZXQNCg0KQWZ0ZXI9b2JtYy1mYW4tY29udHJvbC50YXJnZXQNCg0KV2FudHM9bWFw cGVyLXdhaXRALW9yZy1vcGVuYm1jLWNvbnRyb2wtcG93ZXIlaS5zZXJ2aWNlDQoNCkFmdGVyPW1h cHBlci13YWl0QC1vcmctb3BlbmJtYy1jb250cm9sLXBvd2VyJWkuc2VydmljZQ0KDQpbU2Vydmlj ZV0NCg0KUmVtYWluQWZ0ZXJFeGl0PXllcw0KDQpUeXBlPW9uZXNob3QNCg0KRXhlY1N0YXJ0PS9i aW4vc2ggLWMgImJ1c2N0bCBjYWxsIGBtYXBwZXIgZ2V0LXNlcnZpY2UgL29yZy9vcGVuYm1jL2Nv bnRyb2wvcG93ZXIlaWAgL29yZy9vcGVuYm1jL2NvbnRyb2wvcG93ZXIlaSBvcmcub3BlbmJtYy5j b250cm9sLlBvd2VyIHNldFBvd2VyU3RhdGUgaSAxIg0KDQpTeXNsb2dJZGVudGlmaWVyPW9wLXBv d2VyLXN0YXJ0DQoNCltJbnN0YWxsXQ0KDQpXYW50ZWRCeT1vYm1jLWhvc3Qtc3RhcnRAJWkudGFy Z2V0DQoNCg0KY2F0IG9ibWMtcG93ZXItc3RhcnRALnRhcmdldA0KDQpbVW5pdF0NCg0KRGVzY3Jp cHRpb249UG93ZXIlaSBPbg0KDQpBZnRlcj1vYm1jLXBvd2VyLXN0YXJ0LXByZUAlaS50YXJnZXQN Cg0KV2FudHM9bXVsdGktdXNlci50YXJnZXQNCg0KQ29uZmxpY3RzPW9ibWMtY2hhc3Npcy1wb3dl cm9mZkAlaS50YXJnZXQNCg0KUmVmdXNlTWFudWFsU3RhcnQ9eWVzDQoNClJlZnVzZU1hbnVhbFN0 b3A9eWVzDQoNClRoYW5rcw0KSGFybGV5DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xw0Kt6K8/sjLOiBvcGVuYm1jIDxvcGVuYm1jLWJvdW5jZXMremhvdXl1YW5xaW5nOD1vdXRsb29r LmNvbUBsaXN0cy5vemxhYnMub3JnPiC0+rHtIFN1aSBDaGVuIDxzdWljaGVuNkBnbWFpbC5jb20+ DQq3osvNyrG85DogMjAyMMTqNNTCMjHI1SAxOjA1DQrK1bz+yMs6IG9wZW5ibWNAbGlzdHMub3ps YWJzLm9yZyA8b3BlbmJtY0BsaXN0cy5vemxhYnMub3JnPg0K1vfM4jogUmU6IENhbGwgZm9yIEdh cmRlbmluZyBUYXNrcw0KDQoNCj4gT24gQXByIDExLCAyMDIwLCBhdCA4OjE1IEFNLCBBbmRyZXcg R2Vpc3NsZXIgPGdlaXNzb25hdG9yIGF0IGdtYWlsLmNvbT4gd3JvdGU6DQoNCj4gU3lzdGVtZCBW aXN1YWxpemF0aW9uDQoNCj4gQW5vdGhlciBjb21wbGljYXRlZCBhcmVhIG9mIE9wZW5CTUMgaXMg b3VyIHN5c3RlbWQgdGFyZ2V0cyBhbmQgc2VydmljZXMuIEJ1aWxkaW5nIG9uIHRoZSB1cHN0cmVh bSB0b29scyB0byB2aXN1YWxpemUgb3VyIHN5c3RlbWQgdGFyZ2V0cyBhbmQgc2VydmljZXMgd291 bGQgYmUgdXNlZnVsIHRvIG5ldyBwZW9wbGUuDQoNCg0KDQorMSB0byB2aXN1YWxpemF0aW9uLCBh bmQgSSBoYXZlIGEgZmV3IHRob3VnaHRzIG9uIHRoaXMgLS0tDQoNCk15IGxhY2tpbmcgYSBtZW50 YWwgbW9kZWwgb2YgaG93IGFuIE9wZW5CTUMgc3lzdGVtIHdvcmtzIGhhZCBiZWVuIG15IHBhaW4g cG9pbnQgaW4gdGhlIGZpcnN0IGZldyBtb250aHMgd29ya2luZyB3aXRoIE9wZW5CTUMgKEmhr20g YSBiaXQgbmV3IHRvIHRoaXMgYXJlYSksIHNvIGFmdGVyIGxlYXJuaW5nIHRoZSBtaW5pbWFsIHNl dCBvZiBzdXJ2aXZhbCBza2lsbHMgSSBkaWQgc29tZXRoaW5nIHNpbWlsYXIgdG8gd2hhdCB5b3Ug bWVudGlvbmVkIKhDIHZpc3VhbGl6aW5nIHRoZSBtZXNzYWdlcyBwYXNzZWQgYmV0d2VlbiBkaWZm ZXJlbnQgZGJ1cyBwZWVycyAoYW5kIGNvbnZlbmllbnRseSwgSVBNSSB0cmFmZmljLCBhcyBJUE1J LXJlbGF0ZWQgZGJ1cyBtZXNzYWdlcyBleHBvc2luZyBhbGwgSVBNSSBwYXlsb2FkIGNvbXByaXNl IG1vc3Qgb2YgdGhlIGRidXMgdHJhZmZpYyBvbiB0aGF0IHBhcnRpY3VsYXIgc3lzdGVtIEkgd2Fz IHdvcmtpbmcgb24uKQ0KDQoNCg0KSSB0aGluayBwYWNrZXQgYW5hbHlzaXMgdG9vbHMgc3VjaCBh cyBXaXJlc2hhcmsgYW5kIGdyYXBoaWNzIGZyYW1lIGFuYWx5c2lzIHRvb2xzIHN1Y2ggYXMgUmVu ZGVyRG9jLCBvciBzeXN0ZW0gZXZlbnQtYmFzZWQgV2luZG93cyBQZXJmb3JtYW5jZSB0b29sIGxp a2UgR1BVVmlldyBwcm92aWRlIGdyZWF0IGV4YW1wbGVzIG9mIHdoYXQgcGVvcGxlIG1pZ2h0IGV4 cGVjdCB0byBhY2hpZXZlIHdpdGggYSB2aXN1YWxpemF0aW9uIHRvb2w6IGNhcHR1cmUsIGluc3Bl Y3QgYW5kIChzb21ldGltZXMpIHBsYXliYWNrLCBhY3Jvc3MgbXVsdGlwbGUgbGF5ZXJzIGluIHRo ZSBzb2Z0d2FyZS9oYXJkd2FyZSBzdGFjay4gTWFueSBzaW1pbGFyIGV4aXN0aW5nIHRvb2xzIHBy b2Nlc3Mgc2VxdWVuY2VzIG9mIGV2ZW50cywgYW5kIGluIHRoaXMgY2FzZSBvZiBCTUNzLCB0aGUg ZXZlbnRzIGNvdWxkIGJlIGRidXMgbWVzc2FnZXMuIEkgZm91bmQgYSBwcm90b3R5cGUgdmlzdWFs aXplciBtYWRlIGF0IHdvcmsgZ3JlYXRseSBoZWxwZnVsIGluIGV4cGxhaW5pbmcgdG8gbmV3IHRl YW0gbWVtYmVycyBzb21lIGJhc2ljIGNvbmNlcHRzIGFuZCB0aGUgSVBNSSBzdGFjayBvbiB0aGUg Qk1DLg0KDQoNCg0KVGhlIElQTUkgc3RhY2sgaXMgaW50ZXJlc3RpbmcgYmVjYXVzZSBpdKGvcyBv bmUgbm90aWNlYWJsZSB3b3JrbG9hZCBvbiB0aGUgcGFydGljdWxhciBCTUMgc3lzdGVtIEkgaGFk IGJlZW4gd29ya2luZyBvbjsgaW4gbXkgY3VycmVudCBsaW1pdGVkIHVuZGVyc3RhbmRpbmcsIGhh dmluZyBsb3RzIG9mIEkvTyBjYXBhYmlsaXR5IHRvIGNvbm5lY3QgdG8gaHVuZHJlZHMgb2Ygc2Vu c29ycyBpcyBvbmUgb2YgdGhlIG1hbnkgZmVhdHVyZXMgdGhhdCBzZXQgYXBhcnQgYSBCTUMgY2hp cCBhbmQgYSBzaW1pbGFybHkgcG93ZXJmdWwgc21hcnRwaG9uZSBjaGlwLCBhbmQgdGhlIGJyb2Fk IHVzZSBvZiBkYnVzIGlzIHdoYXQgc2V0cyBhcGFydCBPcGVuQk1DIGFuZCB0aGUgZGVza3RvcCBM aW51eCBkaXN0cm8gSSBoYWQgYmVlbiB1c2luZy4gSSBoZWFyZCBvcHRpbWl6YXRpb24gaXMgYmVz dCBkb25lIHdvcmtsb2FkIGJ5IHdvcmtsb2FkLCBwZXJoYXBzIHRoaXMgcmF0aW9uYWxlIGFwcGxp ZXMgdG8gdmlzdWFsaXphdGlvbiB0b28/DQoNCg0KDQpJIHJlYWxpemUgSSB3YXMgbW9zdGx5IHRh bGtpbmcgYWJvdXQgdmlzdWFsaXppbmcgdGhlIHJ1bi10aW1lIHN0YXRlIG9mIHRoZSBzeXN0ZW0g cmF0aGVyIHRoYW4gYnVpbGQtdGltZSwgYnV0IHdlIGNvdWxkIHZpc3VhbGl6ZSB0aGUgcnVuLXRp bWUgYXNwZWN0IG9mIHN5c3RlbWQgdW5pdHMgdG9vIHNpbmNlIEkgaGF2ZSBzZWVuIG1hbnkgdGlt ZXMgYSBkYnVzIG1lc3NhZ2UgZXZlbnR1YWxseSB0cmlnZ2VyaW5nIGEgc3lzdGVtZCB0YXJnZXQg dG8gYWN1dGF0ZSB0aGUgc3lzdGVtLCBzbyBpdCB3b3VsZCBiZSBnb29kIHRvIGNvbnNpZGVyIGJv dGggZGJ1cyBhbmQgc3lzdGVtZCAoYW5kIG1heWJlIG90aGVyIHBhcnRzIG9mIHRoZSBzeXN0ZW0/ KSB0byBoYXZlIGEgbW9yZSBob2xpc3RpYyB2aWV3IG9mIHRoZSBCTUOhr3Mgb3BlcmF0aW9ucy4N Cg0KDQoNClRoYW5rcw0KDQpTdWkNCg== --_000_PS2PR04MB383294A0D7402F9204C46C97FED50PS2PR04MB3832apcp_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable
Hi 

    This is a very good idea. As the first time to do openbmc, I = look forward to it. Currently, I am being troubled by the problems you desc= ribe.

    The following questions, please also help you answer it,= thank you very much.

    1.I modified the dts file, how to use the command "bitba= ke -f linux-aspeed" to Generate fitimage and dub=A3=BF
     Now, I modify the dts file in the kernel source di= rectory. When I compile, bitbake will re-fetch the source code, decompress,= patch, configure, and compile, causing my changes to be overwritten. I cur= rently use manual call scripts to compile dts files and make images for debugging.Is there a way to make bitbake skip the prev= ious steps and compile directly=A3=BF


     2.The size of image-rwfs is 0, I want to use rwfs debug= ging, how to configure to generate a normal image-rwfs? 
     -rw-r--r--. 2 harleyzhou harleyzhou    = 9443             4=D4=C2      = ;  7 17:27 obmc-phosphor-image-xxh-20200407092558.rootfs.manifest
     -rw-r--r--. 2 harleyzhou harleyzhou 18214912  = ;       4=D4=C2    7 17:27 obmc-phosphor-image-xxh-20200407092558.rootfs.squashfs-xz
     -rw-rw-r--. 2 harleyzhou harleyzhou 33554432  = ;      4=D4=C2   7 17:27 obmc-phosphor-image-= xxh-20200407092558.static.mtd
     -rw-rw-r--. 2 harleyzhou harleyzhou 33566720  = ;      4=D4=C2   7 17:28 obmc-phosphor-image-= xxh-20200407092558.static.mtd.all.tar
     -rw-rw-r--. 2 harleyzhou harleyzhou 22384640  = ;      4=D4=C2   7 17:28 obmc-phosphor-image-= xxh-20200407092558.static.mtd.tar
     -rw-r--r--. 2 harleyzhou harleyzhou   308218 =            4=D4=C2      7 17:2= 7 obmc-phosphor-image-xxh-20200407092558.testdata.json
     -rw-r--r--. 2 harleyzhou harleyzhou     =       0               4=D4=C2   7 17:27 = obmc-phosphor-image-xxh.jffs2


    3. I did not find the source code of "pgood_wait" a= nd "power_control.exe" in obmc-op-control-power? where can I get = it ?


    4.OpenBMC uses systemd to manage all processes, So i analyzed the process of systemd starting p= rocess and saw "default.target-> basic.target-> sysinit.target-&= gt; local-fs.target", there is no content behind.please help to provid= e clues of systemd starting process.

    5.I understand the following execution process of power-on , help c= heck if it is correct.
       a).rest or busctl send power-on commands to syst= emd through d-bus messages.
       b).systemd find the obmc-chassis-poweron@.target
        c).systemd find the obm= c-power-start@.target
        d).systemd find the&= nbsp;op-power-start@0.service 
        e).systemd start a thread and execute "busctl call `mapper get-service /org/openbmc/control/power%i` /org/openbmc/control/power%i org.openbmc.control.Power setPowerState I 1&q= uot;

appendix=A3=BA

ls= obmc-chassis-poweron@0.target.requires

op= -power-start@0.service  op-wait-power-on@0.service


ca= t obmc-chassis-poweron@.target 

[U= nit]

De= scription=3DChassis%i (Power On)

Wa= nts=3Dmulti-user.target

Af= ter=3Dmulti-user.target

Wa= nts=3Dmapper-wait@-xyz-openbmc_project-state-chassis%i.service

Af= ter=3Dmapper-wait@-xyz-openbmc_project-state-chassis%i.service

Wa= nts=3Dmapper-subtree-remove@-xyz-openbmc\x5fproject-software\x3Axyz.openbmc= _project.Software.ActivationBlocksTransition.service

Af= ter=3Dmapper-subtree-remove@-xyz-openbmc\x5fproject-software\x3Axyz.openbmc= _project.Software.ActivationBlocksTransition.service


ca= t op-power-start@0.service 

[U= nit]

De= scription=3DStart Power%i

Wa= nts=3Dobmc-power-start@%i.target

Be= fore=3Dobmc-power-start@%i.target

Af= ter=3Dobmc-power-start-pre@%i.target

Af= ter=3Dobmc-fan-control.target

Wa= nts=3Dmapper-wait@-org-openbmc-control-power%i.service

Af= ter=3Dmapper-wait@-org-openbmc-control-power%i.service

[S= ervice]

Re= mainAfterExit=3Dyes

Ty= pe=3Doneshot

Ex= ecStart=3D/bin/sh -c "busctl call `mapper get-service /org/openbmc/con= trol/power%i` /org/openbmc/control/power%i org.openbmc.control.Power setPow= erState i 1"

Sy= slogIdentifier=3Dop-power-start

[I= nstall]

Wa= ntedBy=3Dobmc-host-start@%i.target


ca= t obmc-power-start@.target 

[U= nit]

De= scription=3DPower%i On

Af= ter=3Dobmc-power-start-pre@%i.target

Wa= nts=3Dmulti-user.target

Co= nflicts=3Dobmc-chassis-poweroff@%i.target

Re= fuseManualStart=3Dyes

Re= fuseManualStop=3Dyes


Thanks
Harley

=B7=A2=BC=FE=C8=CB: openbmc= <openbmc-bounces+zhouyuanqing8=3Doutlook.com@lists.ozlabs.org> = =B4=FA=B1=ED Sui Chen <suichen6@gmail.com>
=B7=A2=CB=CD=CA=B1=BC=E4: 2020=C4=EA4=D4=C221=C8=D5 1:05
=CA=D5=BC=FE=C8=CB: openbmc@lists.ozlabs.org <openbmc@lists.ozlab= s.org>
=D6=F7=CC=E2: Re: Call for Gardening Tasks
 

> On Apr 11, 2020, at 8:15 AM, Andrew Geissler <= geissonator at gmail.com> wrote:

> Systemd Visualization

> Another complicated area of OpenBMC is our system= d targets and services. Building on the upstream tools to visualize our sys= temd targets and services would be useful to new people.

 

+1 to visualization, an= d I have a few thoughts on this ---

My lacking a mental model o= f how an OpenBMC system works had been my pain point in the first few month= s working with OpenBMC (I=A1=AFm a bit new to this area), so after learning= the minimal set of survival skills I did something similar to what you mentioned =A8C visualizing the messages pass= ed between different dbus peers (and conveniently, IPMI traffic, as IPMI-re= lated dbus messages exposing all IPMI payload comprise most of the dbus tra= ffic on that particular system I was working on.)

 

I think packet analysis too= ls such as Wireshark and graphics frame analysis tools such as RenderDoc, o= r system event-based Windows Performance tool like GPUView provide great ex= amples of what people might expect to achieve with a visualization tool: capture, inspect and (sometimes) playba= ck, across multiple layers in the software/hardware stack. Many similar exi= sting tools process sequences of events, and in this case of BMCs, the even= ts could be dbus messages. I found a prototype visualizer made at work greatly helpful in explaining to new t= eam members some basic concepts and the IPMI stack on the BMC.

 

The IPMI stack is interesti= ng because it=A1=AFs one noticeable workload on the particular BMC system I= had been working on; in my current limited understanding, having lots of I= /O capability to connect to hundreds of sensors is one of the many features that set apart a BMC chip and a similarly powe= rful smartphone chip, and the broad use of dbus is what sets apart OpenBMC = and the desktop Linux distro I had been using. I heard optimization is best= done workload by workload, perhaps this rationale applies to visualization too?

 

I realize I was mostly talk= ing about visualizing the run-time state of the system rather than build-ti= me, but we could visualize the run-time aspect of systemd units too since I= have seen many times a dbus message eventually triggering a systemd target to acutate the system, so it would = be good to consider both dbus and systemd (and maybe other parts of the sys= tem?) to have a more holistic view of the BMC=A1=AFs operations.

 

Thanks

Sui

--_000_PS2PR04MB383294A0D7402F9204C46C97FED50PS2PR04MB3832apcp_-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=google.com (client-ip=2a00:1450:4864:20::229; helo=mail-lj1-x229.google.com; envelope-from=rhanley@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20161025 header.b=hZtuwlul; dkim-atps=neutral Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com [IPv6:2a00:1450:4864:20::229]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 496KJV3wNhzDqrn for ; Wed, 22 Apr 2020 09:19:03 +1000 (AEST) Received: by mail-lj1-x229.google.com with SMTP id w20so324618ljj.0 for ; Tue, 21 Apr 2020 16:19:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Nk17Wq5YZWJ3adBr5fPtb9svJstDdubh3hiqK1wzqao=; b=hZtuwlulhJbHAN3H/5drQu0/YwxMr8p7WvNuX1CzEHWW2k1x+bHyk3wK4hR9AC5F32 VqblcxOObTHBs9R1AeKyh2vh8LkAZRO2YHA1I/Wd95vyWe5kOx8kIm8jMzIpxl1hbAYW PW/18x0uk14Js/MtppCsP/HKiW62t2b6giJCtyn5qeVmFEI32n6Hm2anKj2WsLxYRLuD NyAIt35XJXS1KWfrCBSCTY5vM3XjzXiEnfO+zGKJB5hUGjV+sf341BZFUPEHPPPc3WQU YoaIFlMzRK5YGcNne9e1fOMpfr35cgA8REtF2ACbjdNBPFz28DcjB50aTftMqAwt6TRb bYTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Nk17Wq5YZWJ3adBr5fPtb9svJstDdubh3hiqK1wzqao=; b=iXNf7YgTfZDLiTChItGX1xYYG329KigtldjQcEJRVVjIiK7mlaxQoDsdgRKpV8Bitz xGlD5lGHuM/70aWSYqK4HI2xj5RTQg2NSu6aOnZglO8cprEd7ZrBz1PrjQoGu02WuyI0 /uUsKkYUZP8pOhTlCjYndZAy2fj0YDrFXd1WfemUWTt+Wb8hCYSAYmRaKHfUxajl9QMH zpiBwqqpExR5nP0HIHZEFwT+u+ksDI3EMmJnCTfnUcNj6djGY3DVW+TYIohHeV3PvuFu 7GZVaZOWCZQSSfN2qPrTlxlL2aN0Jq9TyQljljsD1H3jfxpsJY4v+hNJBc2X5IqR6eod co+Q== X-Gm-Message-State: AGi0PuZ8zVSZ+b6+iR3o41bKHnj4KNp61vhjQ0yxpLu3K8abnACIK7YH zQUlBdTpGGfp0TBsaeK6TtODM0l8BtdowcHEG7983Q== X-Google-Smtp-Source: APiQypIgA2XJPlN1h+najrbjqYURpE9z5jcRnGFOYt9xiBFgzm2ql9V1ER/sg/MsR2CR9U1tJ9U2La8rB7VTwuK4yJw= X-Received: by 2002:a2e:b4d0:: with SMTP id r16mr14632897ljm.129.1587511139025; Tue, 21 Apr 2020 16:18:59 -0700 (PDT) MIME-Version: 1.0 References: <5e9dd66f.1c69fb81.45fc6.0118@mx.google.com> In-Reply-To: <5e9dd66f.1c69fb81.45fc6.0118@mx.google.com> From: Richard Hanley Date: Tue, 21 Apr 2020 16:18:47 -0700 Message-ID: Subject: Re: Call for Gardening Tasks To: Sui Chen Cc: "openbmc@lists.ozlabs.org" Content-Type: multipart/alternative; boundary="00000000000085216705a3d53dc6" X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Apr 2020 23:19:07 -0000 --00000000000085216705a3d53dc6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thank you everyone for your suggestions. Scanning through this it's clear that documentation is one of the biggest most generally agreed upon area to work on. Build tools and package management seems like another area with some agreed on improvements. I like the idea of moving to meson. Getting tidy files and revising our style guides also sound like good ideas. I also really agree that we could stand to do some consolidation of processes/repos. There is also some use for DBus tooling for both improved code, and for visualizations. So here are my next steps: 1) Since we have some new people getting started, I've asked them to add documentation at the points they get stuck during on-boarding. 2) I'm going to take the ideas in this thread and put together a .md doc with any relevant information I can find. I'll be adding it to openbmc/docs= . 3) I'll follow up in another thread about some of the ideas around DBus tooling and package consolidation. That seems to be an area where most people agree some improvements can be made, but I'm not sure there is an agreement on how we should do it. -Richard On Mon, Apr 20, 2020 at 10:19 AM Sui Chen wrote: > > On Apr 11, 2020, at 8:15 AM, Andrew Geissler > wrote: > > > Systemd Visualization > > > Another complicated area of OpenBMC is our systemd targets and services= . > Building on the upstream tools to visualize our systemd targets and > services would be useful to new people. > > > > +1 to visualization, and I have a few thoughts on this --- > > My lacking a mental model of how an OpenBMC system works had been my pain > point in the first few months working with OpenBMC (I=E2=80=99m a bit new= to this > area), so after learning the minimal set of survival skills I did somethi= ng > similar to what you mentioned =E2=80=93 visualizing the messages passed b= etween > different dbus peers (and conveniently, IPMI traffic, as IPMI-related dbu= s > messages exposing all IPMI payload comprise most of the dbus traffic on > that particular system I was working on.) > > > > I think packet analysis tools such as Wireshark and graphics frame > analysis tools such as RenderDoc, or system event-based Windows Performan= ce > tool like GPUView provide great examples of what people might expect to > achieve with a visualization tool: capture, inspect and (sometimes) > playback, across multiple layers in the software/hardware stack. Many > similar existing tools process sequences of events, and in this case of > BMCs, the events could be dbus messages. I found a prototype visualizer > made at work greatly helpful in explaining to new team members some basic > concepts and the IPMI stack on the BMC. > > > > The IPMI stack is interesting because it=E2=80=99s one noticeable workloa= d on the > particular BMC system I had been working on; in my current limited > understanding, having lots of I/O capability to connect to hundreds of > sensors is one of the many features that set apart a BMC chip and a > similarly powerful smartphone chip, and the broad use of dbus is what set= s > apart OpenBMC and the desktop Linux distro I had been using. I heard > optimization is best done workload by workload, perhaps this rationale > applies to visualization too? > > > > I realize I was mostly talking about visualizing the run-time state of th= e > system rather than build-time, but we could visualize the run-time aspect > of systemd units too since I have seen many times a dbus message eventual= ly > triggering a systemd target to acutate the system, so it would be good to > consider both dbus and systemd (and maybe other parts of the system?) to > have a more holistic view of the BMC=E2=80=99s operations. > > > > Thanks > > Sui > --00000000000085216705a3d53dc6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thank you everyone for your suggestions.

Scanning through this it's clear that documentation is one of the big= gest most generally agreed upon area to work on.

B= uild tools and package management seems like another area with some agreed = on improvements. I like the idea of moving to meson. Getting tidy files and= revising our style guides also sound like good ideas. I also really agree = that we could stand to do some consolidation of processes/repos.
=
There is also some use for DBus tooling for both improved co= de, and for visualizations.

So here are my next st= eps:
=C2=A0 1) Since we have some new people getting started, I&#= 39;ve asked them to add documentation at the points they get stuck during o= n-boarding.
=C2=A0 2) I'm going to take the ideas in this thr= ead and put together a .md doc with any relevant=C2=A0information I can fin= d. I'll be adding it to openbmc/docs.
=C2=A0 3) I'll foll= ow up in another thread about some of the ideas around DBus tooling and pac= kage consolidation. That seems to be an area where most people agree some i= mprovements can be made, but I'm not sure there is an agreement on how = we should do it.

-Richard



On Mon, Apr 20, 2020 at 10:19 AM Sui Chen <suichen6@gmail.com> wrote:

> On Apr 11, 2020, at 8:15 AM, Andrew Geissler <geissonator a= t gmail.com> wrote:

> Systemd Visualiza= tion

> Another com= plicated area of OpenBMC is our systemd targets and services. Building on t= he upstream tools to visualize our systemd targets and services would be us= eful to new people.

=C2=A0

+1 to visualization, and I= have a few thoughts on this ---

My lacking a mental mode= l of how an OpenBMC system works had been my pain point in the first few mo= nths working with OpenBMC (I=E2=80=99m a bit new to this area), so after le= arning the minimal set of survival skills I did something similar to what y= ou mentioned =E2=80=93 visualizing the messages passed between different db= us peers (and conveniently, IPMI traffic, as IPMI-related dbus messages exp= osing all IPMI payload comprise most of the dbus traffic on that particular= system I was working on.)

<= span lang=3D"EN-US" style=3D"font-size:12pt">=C2=A0

I thi= nk packet analysis tools such as Wireshark and graphics frame analysis tool= s such as RenderDoc, or system event-based Windows Performance tool like GP= UView provide great examples of what people might expect to achieve with a = visualization tool: capture, inspect and (sometimes) playback, across multi= ple layers in the software/hardware stack. Many similar existing tools proc= ess sequences of events, and in this case of BMCs, the events could be dbus= messages. I found a prototype visualizer made at work greatly helpful in e= xplaining to new team members some basic concepts and the IPMI stack on the= BMC.

=C2=A0

The IPMI stack is interest= ing because it=E2=80=99s one noticeable workload on the particular BMC syst= em I had been working on; in my current limited understanding, having lots = of I/O capability to connect to hundreds of sensors is one of the many feat= ures that set apart a BMC chip and a similarly powerful smartphone chip, an= d the broad use of dbus is what sets apart OpenBMC and the desktop Linux di= stro I had been using. I heard optimization is best done workload by worklo= ad, perhaps this rationale applies to visualization too?

= =C2=A0

I realize I was mostly talking about visualizing t= he run-time state of the system rather than build-time, but we could visual= ize the run-time aspect of systemd units too since I have seen many times a= dbus message eventually triggering a systemd target to acutate the system,= so it would be good to consider both dbus and systemd (and maybe other par= ts of the system?) to have a more holistic view of the BMC=E2=80=99s operat= ions.

=C2=A0

Thanks

S= ui

--00000000000085216705a3d53dc6-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.helo=mga12.intel.com (client-ip=192.55.52.136; helo=mga12.intel.com; envelope-from=yong.b.li@linux.intel.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=linux.intel.com Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 496Tdy5vyGzDqtQ for ; Wed, 22 Apr 2020 15:34:40 +1000 (AEST) IronPort-SDR: bp2bvF1Zdo5Q4r51/JMryhpZ4xSKWLFk4JEj/GjW6QLdEgKJTKqHXY0CHH8h6//BMfEEmvyvaU hsKTMm7PVkCw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Apr 2020 22:34:38 -0700 IronPort-SDR: eDGDMkTobxYGHfCQu5in2KiTEz1TS/axllHg32htW2nqq8ACtEl/kgNxkadFuiXYtViAMADCGV KDcxL201J3CA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,412,1580803200"; d="scan'208,217";a="456373236" Received: from yongli3-mobl1.ccr.corp.intel.com (HELO [10.238.5.105]) ([10.238.5.105]) by fmsmga005.fm.intel.com with ESMTP; 21 Apr 2020 22:34:35 -0700 Subject: =?UTF-8?B?UmU6IGFib3V0IHBvd2VyIGNvbnRyb2wu5Zue5aSNOiBDYWxsIGZvciBH?= =?UTF-8?Q?ardening_Tasks?= To: "zhouyuanqing8@outlook.com" , Sui Chen , "openbmc@lists.ozlabs.org" Cc: "uperic@163.com" , "shinerocky@yahoo.com" References: <5e9dd66f.1c69fb81.45fc6.0118@mx.google.com> From: "Li, Yong" Message-ID: <12c67029-2a01-13c6-de2e-9721d85c4ec7@linux.intel.com> Date: Wed, 22 Apr 2020 13:34:35 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/alternative; boundary="------------E565549C4BF89AD3993BC1AF" X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Apr 2020 05:34:48 -0000 This is a multi-part message in MIME format. --------------E565549C4BF89AD3993BC1AF Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Regarding the power control related, sugest to check on the below: https://github.com/openbmc/x86-power-control/blob/master/power-control-x86/src/power_control.cpp It uses litter systems related services/targets, and monitor these gpio signals, to trigger different callback actions. For the pgood_wait, it is in: https://github.com/openbmc/skeleton/tree/master/op-pwrctl/pgood_wait https://github.com/openbmc/skeleton/tree/master/op-pwrctl Thanks, Yong 在 4/21/2020 10:50 PM, zhouyuanqing8@outlook.com 写道: > Hi > >     This is a very good idea. As the first time to do openbmc, I look > forward to it. Currently, I am being troubled by the problems you > describe. > >     The following questions, please also help you answer it, thank you > very much. > >     1.I modified the dts file, how to use the command "bitbake -f > linux-aspeed" to Generate fitimage and dub? >      Now, I modify the dts file in the kernel source directory. When I > compile, bitbake will re-fetch the source code, decompress, patch, > configure, and compile, causing my changes to be overwritten. I > currently use manual call scripts to compile dts files and make images > for debugging.Is there a way to make bitbake skip the previous steps > and compile directly? > > >      2.The size of image-rwfs is 0, I want to use rwfs debugging, how > to configure to generate a normal image-rwfs? > -rw-r--r--. 2 harleyzhou harleyzhou     9443     4月        7 17:27 > obmc-phosphor-image-xxh-20200407092558.rootfs.manifest >      -rw-r--r--. 2 harleyzhou harleyzhou 18214912 4月    7 17:27 > obmc-phosphor-image-xxh-20200407092558.rootfs.squashfs-xz >      -rw-rw-r--. 2 harleyzhou harleyzhou 33554432        4月   7 17:27 > obmc-phosphor-image-xxh-20200407092558.static.mtd >      -rw-rw-r--. 2 harleyzhou harleyzhou 33566720        4月   7 17:28 > obmc-phosphor-image-xxh-20200407092558.static.mtd.all.tar >      -rw-rw-r--. 2 harleyzhou harleyzhou 22384640        4月   7 17:28 > obmc-phosphor-image-xxh-20200407092558.static.mtd.tar >      -rw-r--r--. 2 harleyzhou harleyzhou   308218  4月      7 17:27 > obmc-phosphor-image-xxh-20200407092558.testdata.json >      -rw-r--r--. 2 harleyzhou harleyzhou           0  4月   7 17:27 > obmc-phosphor-image-xxh.jffs2 > > >     3. I did not find the source code of "pgood_wait" and > "power_control.exe" in obmc-op-control-power? where can I get it ? > > >     4.OpenBMC usessystemd > to manage all > processes, So i analyzed the process of systemd starting process and > saw "default.target-> basic.target-> sysinit.target-> > local-fs.target", there is no content behind.please help to provide > clues of systemd starting process. > >     5.I understand the following execution process of power-on , help > check if it is correct. >        a).rest or busctl send power-on commands to systemd through > d-bus messages. >        b).systemd find the obmc-chassis-poweron@.target >   c).systemd find the obmc-power-start@.target > d).systemd find the op-power-start@0.service > e).systemd start a thread and execute "busctl call `mapper get-service > /org/openbmc/control/power%i` /org/openbmc/control/power%i > org.openbmc.control.Power setPowerState I 1" > > appendix: > > ls obmc-chassis-poweron@0.target.requires > > op-power-start@0.serviceop-wait-power-on@0.service > > > cat obmc-chassis-poweron@.target > > [Unit] > > Description=Chassis%i (Power On) > > Wants=multi-user.target > > After=multi-user.target > > Wants=mapper-wait@-xyz-openbmc_project-state-chassis%i.service > > After=mapper-wait@-xyz-openbmc_project-state-chassis%i.service > > Wants=mapper-subtree-remove@-xyz-openbmc\x5fproject-software\x3Axyz.openbmc_project.Software.ActivationBlocksTransition.service > > After=mapper-subtree-remove@-xyz-openbmc\x5fproject-software\x3Axyz.openbmc_project.Software.ActivationBlocksTransition.service > > > cat op-power-start@0.service > > [Unit] > > Description=Start Power%i > > Wants=obmc-power-start@%i.target > > Before=obmc-power-start@%i.target > > After=obmc-power-start-pre@%i.target > > After=obmc-fan-control.target > > Wants=mapper-wait@-org-openbmc-control-power%i.service > > After=mapper-wait@-org-openbmc-control-power%i.service > > [Service] > > RemainAfterExit=yes > > Type=oneshot > > ExecStart=/bin/sh -c "busctl call `mapper get-service > /org/openbmc/control/power%i` /org/openbmc/control/power%i > org.openbmc.control.Power setPowerState i 1" > > SyslogIdentifier=op-power-start > > [Install] > > WantedBy=obmc-host-start@%i.target > > > cat obmc-power-start@.target > > [Unit] > > Description=Power%i On > > After=obmc-power-start-pre@%i.target > > Wants=multi-user.target > > Conflicts=obmc-chassis-poweroff@%i.target > > RefuseManualStart=yes > > RefuseManualStop=yes > > > Thanks > Harley > ------------------------------------------------------------------------ > *发件人:* openbmc > 代表 Sui > Chen > *发送时间:* 2020年4月21日 1:05 > *收件人:* openbmc@lists.ozlabs.org > *主题:* Re: Call for Gardening Tasks > > > On Apr 11, 2020, at 8:15 AM, Andrew Geissler wrote: > > > Systemd Visualization > > > Another complicated area of OpenBMC is our systemd targets and services. Building on the upstream > tools to visualize our systemd targets and services would be useful to > new people. > > +1 to visualization, and I have a few thoughts on this --- > > My lacking a mental model of how an OpenBMC system works had been my > pain point in the first few months working with OpenBMC (I’m a bit new > to this area), so after learning the minimal set of survival skills I > did something similar to what you mentioned – visualizing the messages > passed between different dbus peers (and conveniently, IPMI traffic, > as IPMI-related dbus messages exposing all IPMI payload comprise most > of the dbus traffic on that particular system I was working on.) > > I think packet analysis tools such as Wireshark and graphics frame > analysis tools such as RenderDoc, or system event-based Windows > Performance tool like GPUView provide great examples of what people > might expect to achieve with a visualization tool: capture, inspect > and (sometimes) playback, across multiple layers in the > software/hardware stack. Many similar existing tools process sequences > of events, and in this case of BMCs, the events could be dbus > messages. I found a prototype visualizer made at work greatly helpful > in explaining to new team members some basic concepts and the IPMI > stack on the BMC. > > The IPMI stack is interesting because it’s one noticeable workload on > the particular BMC system I had been working on; in my current limited > understanding, having lots of I/O capability to connect to hundreds of > sensors is one of the many features that set apart a BMC chip and a > similarly powerful smartphone chip, and the broad use of dbus is what > sets apart OpenBMC and the desktop Linux distro I had been using. I > heard optimization is best done workload by workload, perhaps this > rationale applies to visualization too? > > I realize I was mostly talking about visualizing the run-time state of > the system rather than build-time, but we could visualize the run-time > aspect of systemd units too since I have seen many times a dbus > message eventually triggering a systemd target to acutate the system, > so it would be good to consider both dbus and systemd (and maybe other > parts of the system?) to have a more holistic view of the BMC’s > operations. > > Thanks > > Sui > --------------E565549C4BF89AD3993BC1AF Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

Regarding the power control related, sugest to check on the below:

https://github.com/openbmc/x86-power-control/blob/master/power-control-x86/src/power_control.cpp



It uses litter systems related services/targets, and monitor these gpio signals, to trigger different callback actions.


For the pgood_wait, it is in:

https://github.com/openbmc/skeleton/tree/master/op-pwrctl/pgood_wait

https://github.com/openbmc/skeleton/tree/master/op-pwrctl


Thanks,

Yong


在 4/21/2020 10:50 PM, zhouyuanqing8@outlook.com 写道:
Hi 

    This is a very good idea. As the first time to do openbmc, I look forward to it. Currently, I am being troubled by the problems you describe.

    The following questions, please also help you answer it, thank you very much.

    1.I modified the dts file, how to use the command "bitbake -f linux-aspeed" to Generate fitimage and dub?
     Now, I modify the dts file in the kernel source directory. When I compile, bitbake will re-fetch the source code, decompress, patch, configure, and compile, causing my changes to be overwritten. I currently use manual call scripts to compile dts files and make images for debugging.Is there a way to make bitbake skip the previous steps and compile directly?


     2.The size of image-rwfs is 0, I want to use rwfs debugging, how to configure to generate a normal image-rwfs? 
     -rw-r--r--. 2 harleyzhou harleyzhou     9443             4月        7 17:27 obmc-phosphor-image-xxh-20200407092558.rootfs.manifest
     -rw-r--r--. 2 harleyzhou harleyzhou 18214912         4月    7 17:27 obmc-phosphor-image-xxh-20200407092558.rootfs.squashfs-xz
     -rw-rw-r--. 2 harleyzhou harleyzhou 33554432        4月   7 17:27 obmc-phosphor-image-xxh-20200407092558.static.mtd
     -rw-rw-r--. 2 harleyzhou harleyzhou 33566720        4月   7 17:28 obmc-phosphor-image-xxh-20200407092558.static.mtd.all.tar
     -rw-rw-r--. 2 harleyzhou harleyzhou 22384640        4月   7 17:28 obmc-phosphor-image-xxh-20200407092558.static.mtd.tar
     -rw-r--r--. 2 harleyzhou harleyzhou   308218            4月      7 17:27 obmc-phosphor-image-xxh-20200407092558.testdata.json
     -rw-r--r--. 2 harleyzhou harleyzhou           0               4月   7 17:27 obmc-phosphor-image-xxh.jffs2


    3. I did not find the source code of "pgood_wait" and "power_control.exe" in obmc-op-control-power? where can I get it ?


    4.OpenBMC uses systemd to manage all processes, So i analyzed the process of systemd starting process and saw "default.target-> basic.target-> sysinit.target-> local-fs.target", there is no content behind.please help to provide clues of systemd starting process.

    5.I understand the following execution process of power-on , help check if it is correct.
       a).rest or busctl send power-on commands to systemd through d-bus messages.
       b).systemd find the obmc-chassis-poweron@.target
        c).systemd find the obmc-power-start@.target
        d).systemd find the op-power-start@0.service 
        e).systemd start a thread and execute "busctl call `mapper get-service /org/openbmc/control/power%i` /org/openbmc/control/power%i org.openbmc.control.Power setPowerState I 1"

appendix:

ls obmc-chassis-poweron@0.target.requires

op-power-start@0.service  op-wait-power-on@0.service


cat obmc-chassis-poweron@.target 

[Unit]

Description=Chassis%i (Power On)

Wants=multi-user.target

After=multi-user.target

Wants=mapper-wait@-xyz-openbmc_project-state-chassis%i.service

After=mapper-wait@-xyz-openbmc_project-state-chassis%i.service

Wants=mapper-subtree-remove@-xyz-openbmc\x5fproject-software\x3Axyz.openbmc_project.Software.ActivationBlocksTransition.service

After=mapper-subtree-remove@-xyz-openbmc\x5fproject-software\x3Axyz.openbmc_project.Software.ActivationBlocksTransition.service


cat op-power-start@0.service 

[Unit]

Description=Start Power%i

Wants=obmc-power-start@%i.target

Before=obmc-power-start@%i.target

After=obmc-power-start-pre@%i.target

After=obmc-fan-control.target

Wants=mapper-wait@-org-openbmc-control-power%i.service

After=mapper-wait@-org-openbmc-control-power%i.service

[Service]

RemainAfterExit=yes

Type=oneshot

ExecStart=/bin/sh -c "busctl call `mapper get-service /org/openbmc/control/power%i` /org/openbmc/control/power%i org.openbmc.control.Power setPowerState i 1"

SyslogIdentifier=op-power-start

[Install]

WantedBy=obmc-host-start@%i.target


cat obmc-power-start@.target 

[Unit]

Description=Power%i On

After=obmc-power-start-pre@%i.target

Wants=multi-user.target

Conflicts=obmc-chassis-poweroff@%i.target

RefuseManualStart=yes

RefuseManualStop=yes


Thanks
Harley

发件人: openbmc <openbmc-bounces+zhouyuanqing8=outlook.com@lists.ozlabs.org> 代表 Sui Chen <suichen6@gmail.com>
发送时间: 2020年4月21日 1:05
收件人: openbmc@lists.ozlabs.org <openbmc@lists.ozlabs.org>
主题: Re: Call for Gardening Tasks
 

> On Apr 11, 2020, at 8:15 AM, Andrew Geissler <geissonator at gmail.com> wrote:

> Systemd Visualization

> Another complicated area of OpenBMC is our systemd targets and services. Building on the upstream tools to visualize our systemd targets and services would be useful to new people.

 

+1 to visualization, and I have a few thoughts on this ---

My lacking a mental model of how an OpenBMC system works had been my pain point in the first few months working with OpenBMC (I’m a bit new to this area), so after learning the minimal set of survival skills I did something similar to what you mentioned – visualizing the messages passed between different dbus peers (and conveniently, IPMI traffic, as IPMI-related dbus messages exposing all IPMI payload comprise most of the dbus traffic on that particular system I was working on.)

 

I think packet analysis tools such as Wireshark and graphics frame analysis tools such as RenderDoc, or system event-based Windows Performance tool like GPUView provide great examples of what people might expect to achieve with a visualization tool: capture, inspect and (sometimes) playback, across multiple layers in the software/hardware stack. Many similar existing tools process sequences of events, and in this case of BMCs, the events could be dbus messages. I found a prototype visualizer made at work greatly helpful in explaining to new team members some basic concepts and the IPMI stack on the BMC.

 

The IPMI stack is interesting because it’s one noticeable workload on the particular BMC system I had been working on; in my current limited understanding, having lots of I/O capability to connect to hundreds of sensors is one of the many features that set apart a BMC chip and a similarly powerful smartphone chip, and the broad use of dbus is what sets apart OpenBMC and the desktop Linux distro I had been using. I heard optimization is best done workload by workload, perhaps this rationale applies to visualization too?

 

I realize I was mostly talking about visualizing the run-time state of the system rather than build-time, but we could visualize the run-time aspect of systemd units too since I have seen many times a dbus message eventually triggering a systemd target to acutate the system, so it would be good to consider both dbus and systemd (and maybe other parts of the system?) to have a more holistic view of the BMC’s operations.

 

Thanks

Sui

--------------E565549C4BF89AD3993BC1AF-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=yandex-team.ru (client-ip=2a02:6b8:0:1a2d::193; helo=forwardcorp1o.mail.yandex.net; envelope-from=kitsok@yandex-team.ru; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=yandex-team.ru Authentication-Results: lists.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=yandex-team.ru header.i=@yandex-team.ru header.a=rsa-sha256 header.s=default header.b=a0vPMQpy; dkim-atps=neutral X-Greylist: delayed 98 seconds by postgrey-1.36 at bilbo; Wed, 22 Apr 2020 17:27:16 AEST Received: from forwardcorp1o.mail.yandex.net (forwardcorp1o.mail.yandex.net [IPv6:2a02:6b8:0:1a2d::193]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 496X7m6jT6zDqkp for ; Wed, 22 Apr 2020 17:27:16 +1000 (AEST) Received: from mxbackcorp1g.mail.yandex.net (mxbackcorp1g.mail.yandex.net [IPv6:2a02:6b8:0:1402::301]) by forwardcorp1o.mail.yandex.net (Yandex) with ESMTP id 552EA2E156D; Wed, 22 Apr 2020 10:25:12 +0300 (MSK) Received: from localhost (localhost [::1]) by mxbackcorp1g.mail.yandex.net (mxbackcorp/Yandex) with ESMTP id glSYfjpLvQ-PBQG0Ht3; Wed, 22 Apr 2020 10:25:12 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1587540312; bh=WkJKtjbTAyoXHBW+Zwtt3Cve305rFzJZLJMnFPpWfb8=; h=Subject:In-Reply-To:Cc:Date:References:To:From:Message-Id; b=a0vPMQpyWoQt/RfbVusHT+nZgl4ddx1q0KYSzYJAeA7K+EUcRvOe//4ZrcI0o8fVx 3KbSygM1PpJA+LU/Hwyu1pUO3NidaZbMcmqZ/EJm+hqj3/SlMlCFHe3fcMKdaASfEm 0KrVdi8nGTgNaRhJ0R7myCjJ/AsudMjIy7S/Yjm4= Authentication-Results: mxbackcorp1g.mail.yandex.net; dkim=pass header.i=@yandex-team.ru X-Yandex-Sender-Uid: 1120000000049860 X-Yandex-Avir: 1 Received: from mxbackcorp2j.mail.yandex.net (localhost [::1]) by mxbackcorp2j.mail.yandex.net with LMTP id YxHoaqokt9-moMJeBm1 for ; Wed, 22 Apr 2020 10:25:01 +0300 Received: by iva8-edafde7c849c.qloud-c.yandex.net with HTTP; Wed, 22 Apr 2020 10:25:00 +0300 From: Konstantin Klubnichkin To: "zhouyuanqing8@outlook.com" , Sui Chen , "openbmc@lists.ozlabs.org" Cc: "uperic@163.com" , "shinerocky@yahoo.com" In-Reply-To: References: <5e9dd66f.1c69fb81.45fc6.0118@mx.google.com> Subject: =?utf-8?B?UmU6IGFib3V0IHBvd2VyIGNvbnRyb2wu5Zue5aSNOiBDYWxsIGZvciBHYXJkZW5pbmcgVGFza3M=?= MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Wed, 22 Apr 2020 10:25:10 +0300 Message-Id: <51921587538931@mail.yandex-team.ru> Content-Transfer-Encoding: base64 Content-Type: text/html; charset=utf-8 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Apr 2020 07:27:20 -0000 PGRpdj5IZWxsbyE8L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj5JJ2xsIHRyeSB0byBhbnN3ZXIgeW91 ciBxdWVzdGlvbiBhYm91dCByd2ZzIGltYWdlLjwvZGl2PjxkaXY+SSBoYWQgdGhlIHNhbWUgaXNz dWUgcGx1cyBJIHdhbnRlZCB0byBiZSBhYmxlIHRvIGNyZWF0ZSBzb21lIGRhdGEgaW4gcndmcyBz ZWdtZW50LjwvZGl2PjxkaXY+VGh1cyBJJ3ZlIGNyZWF0ZWQgb2JtYy1waG9zcGhvci1pbWFnZS5i YmFwcGVuZCB3aGVyZSBJIGRvIHRoZSBmb2xsb3dpbmc6PC9kaXY+PGRpdj48ZGl2Pj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT08L2Rpdj48ZGl2PlJXRlNfU0laRSA/PSAiNDE5NDMwNCI8L2Rpdj48ZGl2Pk9WRVJMQVlf TUtGU19PUFRTID0gIiAtLXBhZD0ke1JXRlNfU0laRX0iPC9kaXY+PC9kaXY+PGRpdj48ZGl2PsKg PC9kaXY+PGRpdj4jIE92ZXJyaWRlIEpGRlMgaW1hZ2UgY3JlYXRpb248L2Rpdj48ZGl2PmRvX2dl bmVyYXRlX3J3ZnNfc3RhdGljKCkgezwhLS0gLS0+PC9kaXY+PGRpdj5yd2Rpcj0kKHB3ZCk8L2Rp dj48ZGl2PnJ3ZGlyPSR7cndkaXJ9L2pmZnMyPC9kaXY+PGRpdj5pbWFnZT1yd2ZzLmpmZnMyPC9k aXY+PGRpdj7CoDwvZGl2PjxkaXY+cm0gLXJmICRyd2RpciAkaW1hZ2UgJmd0OyAvZGV2L251bGwg MiZndDsmYW1wOzE8L2Rpdj48ZGl2Pm1rZGlyIC1wICR7cndkaXJ9L2NvdzwvZGl2PjxkaXY+cndk aXI9JHtyd2Rpcn0vY293PC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+YmJwbGFpbiAiREVCVUc6IENy ZWF0aW5nIFJXRlMgaW1hZ2UgIjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2Pm12ICR7SU1BR0VfUk9P VEZTfS9yd2ZzLyogJHtyd2Rpcn0vPC9kaXY+PGRpdj5ybSAtcmYgJHtJTUFHRV9ST09URlN9L3J3 ZnM8L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj4jIENyZWF0ZSBuZWNlc3NhcnkgZmlsZXMsIGRpcmVj dG9yaWVzLCBldGMgaW4gJHtyd2Rpcn08L2Rpdj48ZGl2PiR7SkZGUzJfUldGU19DTUR9ICR7T1ZF UkxBWV9NS0ZTX09QVFN9ICR7T1ZFUkxBWV9NS0ZTX09QVFN9IC0tc3F1YXNoLXVpZHM8L2Rpdj48 ZGl2Pn08L2Rpdj48L2Rpdj48ZGl2Pj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08L2Rpdj48ZGl2PsKgPC9kaXY+PGRp dj5BdCB0aGUgZW5kIEkgaGF2ZSB0aGUgbm9ybWFsIEpGRlMyIGltYWdlIGluc3RlYWQgb2YgZW1w dHkuPC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+SG9wZSB0aGlzIGNhbiBoZWxwLjwvZGl2PjxkaXY+ wqA8L2Rpdj48ZGl2PjIxLjA0LjIwMjAsIDE4OjI0LCAiemhvdXl1YW5xaW5nOEBvdXRsb29rLmNv bSIgJmx0O3pob3V5dWFucWluZzhAb3V0bG9vay5jb20mZ3Q7OjwvZGl2PjxibG9ja3F1b3RlPjxk aXY+PGRpdiBzdHlsZT0iY29sb3I6cmdiKCAwICwgMCAsIDAgKTtmb250LWZhbWlseTonY2FsaWJy aScgLCAnYXJpYWwnICwgJ2hlbHZldGljYScgLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB0Ij5I acKgPC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6cmdiKCAwICwgMCAsIDAgKTtmb250LWZhbWlseTon Y2FsaWJyaScgLCAnYXJpYWwnICwgJ2hlbHZldGljYScgLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZTox MnB0Ij7CoDwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOnJnYiggMCAsIDAgLCAwICk7Zm9udC1mYW1p bHk6J2NhbGlicmknICwgJ2FyaWFsJyAsICdoZWx2ZXRpY2EnICwgc2Fucy1zZXJpZjtmb250LXNp emU6MTJwdCI+wqAgwqAgVGhpcyBpcyBhIHZlcnkgZ29vZCBpZGVhLiBBcyB0aGUgZmlyc3QgdGlt ZSB0byBkbyBvcGVuYm1jLCBJIGxvb2sgZm9yd2FyZCB0byBpdC4gQ3VycmVudGx5LCBJIGFtIGJl aW5nIHRyb3VibGVkIGJ5IHRoZSBwcm9ibGVtcyB5b3UgZGVzY3JpYmUuPC9kaXY+PGRpdiBzdHls ZT0iY29sb3I6cmdiKCAwICwgMCAsIDAgKTtmb250LWZhbWlseTonY2FsaWJyaScgLCAnYXJpYWwn ICwgJ2hlbHZldGljYScgLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB0Ij7CoDwvZGl2PjxkaXYg c3R5bGU9ImNvbG9yOnJnYiggMCAsIDAgLCAwICk7Zm9udC1mYW1pbHk6J2NhbGlicmknICwgJ2Fy aWFsJyAsICdoZWx2ZXRpY2EnICwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJwdCI+wqAgwqDCoFRo ZSBmb2xsb3dpbmcgcXVlc3Rpb25zLCBwbGVhc2UgYWxzbyBoZWxwIHlvdSBhbnN3ZXIgaXQsIHRo YW5rIHlvdSB2ZXJ5IG11Y2guPC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6cmdiKCAwICwgMCAsIDAg KTtmb250LWZhbWlseTonY2FsaWJyaScgLCAnYXJpYWwnICwgJ2hlbHZldGljYScgLCBzYW5zLXNl cmlmO2ZvbnQtc2l6ZToxMnB0Ij7CoDwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOnJnYiggMCAsIDAg LCAwICk7Zm9udC1mYW1pbHk6J2NhbGlicmknICwgJ2FyaWFsJyAsICdoZWx2ZXRpY2EnICwgc2Fu cy1zZXJpZjtmb250LXNpemU6MTJwdCI+wqAgwqAgMS5JIG1vZGlmaWVkIHRoZSBkdHMgZmlsZSwg aG93IHRvIHVzZSB0aGUgY29tbWFuZCAiYml0YmFrZSAtZiBsaW51eC1hc3BlZWQiIHRvIEdlbmVy YXRlIGZpdGltYWdlIGFuZCBkdWImI3hmZjFmOzwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOnJnYigg MCAsIDAgLCAwICk7Zm9udC1mYW1pbHk6J2NhbGlicmknICwgJ2FyaWFsJyAsICdoZWx2ZXRpY2En ICwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJwdCI+wqAgwqAgwqBOb3cswqBJIG1vZGlmeSB0aGUg ZHRzIGZpbGUgaW4gdGhlIGtlcm5lbCBzb3VyY2UgZGlyZWN0b3J5LiBXaGVuIEkgY29tcGlsZSwg Yml0YmFrZSB3aWxsIHJlLWZldGNoIHRoZSBzb3VyY2UgY29kZSwgZGVjb21wcmVzcywgcGF0Y2gs IGNvbmZpZ3VyZSwgYW5kIGNvbXBpbGUsIGNhdXNpbmcgbXkgY2hhbmdlcyB0byBiZSBvdmVyd3Jp dHRlbi4gSSBjdXJyZW50bHkgdXNlIG1hbnVhbCBjYWxsIHNjcmlwdHMgdG8gY29tcGlsZSBkdHMg ZmlsZXMgYW5kIG1ha2UgaW1hZ2VzIGZvciBkZWJ1Z2dpbmcuSXMgdGhlcmUgYSB3YXkgdG8gbWFr ZSBiaXRiYWtlIHNraXAgdGhlIHByZXZpb3VzIHN0ZXBzIGFuZCBjb21waWxlIGRpcmVjdGx5JiN4 ZmYxZjs8L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjpyZ2IoIDAgLCAwICwgMCApO2ZvbnQtZmFtaWx5 OidjYWxpYnJpJyAsICdhcmlhbCcgLCAnaGVsdmV0aWNhJyAsIHNhbnMtc2VyaWY7Zm9udC1zaXpl OjEycHQiPsKgPC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6cmdiKCAwICwgMCAsIDAgKTtmb250LWZh bWlseTonY2FsaWJyaScgLCAnYXJpYWwnICwgJ2hlbHZldGljYScgLCBzYW5zLXNlcmlmO2ZvbnQt c2l6ZToxMnB0Ij7CoDwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOnJnYiggMCAsIDAgLCAwICk7Zm9u dC1mYW1pbHk6J2NhbGlicmknICwgJ2FyaWFsJyAsICdoZWx2ZXRpY2EnICwgc2Fucy1zZXJpZjtm b250LXNpemU6MTJwdCI+wqAgwqAgwqAyLlRoZSBzaXplIG9mIGltYWdlLXJ3ZnMgaXMgMCwgSSB3 YW50IHRvIHVzZSByd2ZzIGRlYnVnZ2luZywgaG93IHRvIGNvbmZpZ3VyZSB0byBnZW5lcmF0ZSBh IG5vcm1hbCBpbWFnZS1yd2ZzP8KgPC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6cmdiKCAwICwgMCAs IDAgKTtmb250LWZhbWlseTonY2FsaWJyaScgLCAnYXJpYWwnICwgJ2hlbHZldGljYScgLCBzYW5z LXNlcmlmO2ZvbnQtc2l6ZToxMnB0Ij7CoCDCoCDCoC1ydy1yLS1yLS0uIDIgaGFybGV5emhvdSBo YXJsZXl6aG91IMKgIMKgIDk0NDMgwqAgwqAgwqAgwqAgwqAgwqAgNOaciCDCoCDCoCDCoCDCoDcg MTc6Mjcgb2JtYy1waG9zcGhvci1pbWFnZS14eGgtMjAyMDA0MDcwOTI1NTgucm9vdGZzLm1hbmlm ZXN0PGRpdj7CoCDCoCDCoC1ydy1yLS1yLS0uIDIgaGFybGV5emhvdSBoYXJsZXl6aG91IDE4MjE0 OTEyIMKgIMKgIMKgIMKgIDTmnIggwqAgwqA3IDE3OjI3IG9ibWMtcGhvc3Bob3ItaW1hZ2UtPHNw YW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtmb250LWZhbWlseTonY2FsaWJyaScg LCAnYXJpYWwnICwgJ2hlbHZldGljYScgLCBzYW5zLXNlcmlmIj54eGg8L3NwYW4+LTIwMjAwNDA3 MDkyNTU4LnJvb3Rmcy5zcXVhc2hmcy14ejwvZGl2PjxkaXY+wqAgwqAgwqAtcnctcnctci0tLiAy IGhhcmxleXpob3UgaGFybGV5emhvdSAzMzU1NDQzMiDCoCDCoCDCoCDCoDTmnIggwqAgNyAxNzoy NyBvYm1jLXBob3NwaG9yLWltYWdlLTxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZm ZmY7Zm9udC1mYW1pbHk6J2NhbGlicmknICwgJ2FyaWFsJyAsICdoZWx2ZXRpY2EnICwgc2Fucy1z ZXJpZiI+eHhoPC9zcGFuPi0yMDIwMDQwNzA5MjU1OC5zdGF0aWMubXRkPC9kaXY+PGRpdj7CoCDC oCDCoC1ydy1ydy1yLS0uIDIgaGFybGV5emhvdSBoYXJsZXl6aG91IDMzNTY2NzIwIMKgIMKgIMKg IMKgNOaciCDCoCA3IDE3OjI4IG9ibWMtcGhvc3Bob3ItaW1hZ2UtPHNwYW4gc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6I2ZmZmZmZjtmb250LWZhbWlseTonY2FsaWJyaScgLCAnYXJpYWwnICwgJ2hl bHZldGljYScgLCBzYW5zLXNlcmlmIj54eGg8L3NwYW4+LTIwMjAwNDA3MDkyNTU4LnN0YXRpYy5t dGQuYWxsLnRhcjwvZGl2PjxkaXY+wqAgwqAgwqAtcnctcnctci0tLiAyIGhhcmxleXpob3UgaGFy bGV5emhvdSAyMjM4NDY0MCDCoCDCoCDCoCDCoDTmnIggwqAgNyAxNzoyOCBvYm1jLXBob3NwaG9y LWltYWdlLTxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Zm9udC1mYW1pbHk6 J2NhbGlicmknICwgJ2FyaWFsJyAsICdoZWx2ZXRpY2EnICwgc2Fucy1zZXJpZiI+eHhoPC9zcGFu Pi0yMDIwMDQwNzA5MjU1OC5zdGF0aWMubXRkLnRhcjwvZGl2PjxkaXY+wqAgwqAgwqAtcnctci0t ci0tLiAyIGhhcmxleXpob3UgaGFybGV5emhvdSDCoCAzMDgyMTggwqAgwqAgwqAgwqAgwqAgwqA0 5pyIIMKgIMKgIMKgNyAxNzoyNyBvYm1jLXBob3NwaG9yLWltYWdlLTxzcGFuIHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiNmZmZmZmY7Zm9udC1mYW1pbHk6J2NhbGlicmknICwgJ2FyaWFsJyAsICdo ZWx2ZXRpY2EnICwgc2Fucy1zZXJpZiI+eHhoPC9zcGFuPi0yMDIwMDQwNzA5MjU1OC50ZXN0ZGF0 YS5qc29uPC9kaXY+PGRpdj7CoCDCoCDCoC1ydy1yLS1yLS0uIDIgaGFybGV5emhvdSBoYXJsZXl6 aG91IMKgIMKgIMKgIMKgIMKgIDAgwqAgwqAgwqAgwqAgwqAgwqAgwqA8c3BhbiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjojMDBmZjAwIj7CoDTmnIggwqAgNyAxNzoyNyBvYm1jLXBob3NwaG9yLWlt YWdlLTwvc3Bhbj48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojMDBmZjAwO2ZvbnQtZmFt aWx5OidjYWxpYnJpJyAsICdhcmlhbCcgLCAnaGVsdmV0aWNhJyAsIHNhbnMtc2VyaWYiPnh4aDwv c3Bhbj48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojMDBmZjAwIj4uamZmczI8L3NwYW4+ PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6cmdiKCAwICwgMCAsIDAgKTtmb250LWZhbWls eTonY2FsaWJyaScgLCAnYXJpYWwnICwgJ2hlbHZldGljYScgLCBzYW5zLXNlcmlmO2ZvbnQtc2l6 ZToxMnB0Ij7CoDwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOnJnYiggMCAsIDAgLCAwICk7Zm9udC1m YW1pbHk6J2NhbGlicmknICwgJ2FyaWFsJyAsICdoZWx2ZXRpY2EnICwgc2Fucy1zZXJpZjtmb250 LXNpemU6MTJwdCI+wqA8L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjpyZ2IoIDAgLCAwICwgMCApO2Zv bnQtZmFtaWx5OidjYWxpYnJpJyAsICdhcmlhbCcgLCAnaGVsdmV0aWNhJyAsIHNhbnMtc2VyaWY7 Zm9udC1zaXplOjEycHQiPsKgIMKgIDMuIEkgZGlkIG5vdCBmaW5kIHRoZSBzb3VyY2UgY29kZSBv ZiAicGdvb2Rfd2FpdCIgYW5kICJwb3dlcl9jb250cm9sLmV4ZSIgaW4gb2JtYy1vcC1jb250cm9s LXBvd2VyPyB3aGVyZSBjYW4gSSBnZXQgaXQgPzwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOnJnYigg MCAsIDAgLCAwICk7Zm9udC1mYW1pbHk6J2NhbGlicmknICwgJ2FyaWFsJyAsICdoZWx2ZXRpY2En ICwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJwdCI+wqA8L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjpy Z2IoIDAgLCAwICwgMCApO2ZvbnQtZmFtaWx5OidjYWxpYnJpJyAsICdhcmlhbCcgLCAnaGVsdmV0 aWNhJyAsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHQiPsKgPC9kaXY+PGRpdiBzdHlsZT0iY29s b3I6cmdiKCAwICwgMCAsIDAgKTtmb250LWZhbWlseTonY2FsaWJyaScgLCAnYXJpYWwnICwgJ2hl bHZldGljYScgLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB0Ij7CoCDCoCA0LjxzcGFuIHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Y29sb3I6IzI0MjkyZSI+T3BlbkJNQyB1c2VzwqA8 L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUv c3lzdGVtZC8iIHN0eWxlPSJib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6cmdiKCAzICwgMTAy ICwgMjE0ICkiPnN5c3RlbWQ8L2E+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2ZmZmZm Zjtjb2xvcjojMjQyOTJlIj7CoHRvIG1hbmFnZSBhbGwgcHJvY2Vzc2VzLCBTbyBpwqBhbmFseXpl ZCB0aGUgcHJvY2VzcyBvZiBzeXN0ZW1kIHN0YXJ0aW5nIHByb2Nlc3MgYW5kIHNhdyAiZGVmYXVs dC50YXJnZXQtJmd0OyBiYXNpYy50YXJnZXQtJmd0OyBzeXNpbml0LnRhcmdldC0mZ3Q7IGxvY2Fs LWZzLnRhcmdldCIsIHRoZXJlIGlzIG5vIGNvbnRlbnQgYmVoaW5kLnBsZWFzZSBoZWxwIHRvIHBy b3ZpZGUgY2x1ZXMgb2Ygc3lzdGVtZCBzdGFydGluZyBwcm9jZXNzLjwvc3Bhbj48L2Rpdj48ZGl2 IHN0eWxlPSJjb2xvcjpyZ2IoIDAgLCAwICwgMCApO2ZvbnQtZmFtaWx5OidjYWxpYnJpJyAsICdh cmlhbCcgLCAnaGVsdmV0aWNhJyAsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHQiPsKgPC9kaXY+ PGRpdiBzdHlsZT0iY29sb3I6cmdiKCAwICwgMCAsIDAgKTtmb250LWZhbWlseTonY2FsaWJyaScg LCAnYXJpYWwnICwgJ2hlbHZldGljYScgLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB0Ij48c3Bh biBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmUiPsKgIMKgIDUu SSB1bmRlcnN0YW5kIHRoZSBmb2xsb3dpbmcgZXhlY3V0aW9uIHByb2Nlc3Mgb2YgcG93ZXItb24g LCBoZWxwIGNoZWNrIGlmIGl0IGlzIGNvcnJlY3QuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImNv bG9yOnJnYiggMCAsIDAgLCAwICk7Zm9udC1mYW1pbHk6J2NhbGlicmknICwgJ2FyaWFsJyAsICdo ZWx2ZXRpY2EnICwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJwdCI+wqAgwqAgwqAgwqBhKS5yZXN0 IG9yIGJ1c2N0bCBzZW5kIHBvd2VyLW9uIGNvbW1hbmRzIHRvIHN5c3RlbWQgdGhyb3VnaCBkLWJ1 cyBtZXNzYWdlcy48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjpyZ2IoIDAgLCAwICwgMCApO2ZvbnQt ZmFtaWx5OidjYWxpYnJpJyAsICdhcmlhbCcgLCAnaGVsdmV0aWNhJyAsIHNhbnMtc2VyaWY7Zm9u dC1zaXplOjEycHQiPsKgIMKgIMKgIMKgYikuc3lzdGVtZCBmaW5kIHRoZSA8c3BhbiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmU7Zm9udC1mYW1pbHk6J3Bpbmdm YW5nIHNjJztmb250LXNpemU6MTJweCI+IG9ibWMtY2hhc3Npcy1wb3dlcm9uQC50YXJnZXQ8L3Nw YW4+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6cmdiKCAwICwgMCAsIDAgKTtmb250LWZhbWlseTon Y2FsaWJyaScgLCAnYXJpYWwnICwgJ2hlbHZldGljYScgLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZTox MnB0Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmU7 Zm9udC1mYW1pbHk6J3BpbmdmYW5nIHNjJztmb250LXNpemU6MTJweCI+wqAgwqAgwqAgPHNwYW4g c3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtjb2xvcjojMDAwMDAwO2ZvbnQtZmFtaWx5 OidjYWxpYnJpJyAsICdhcmlhbCcgLCAnaGVsdmV0aWNhJyAsIHNhbnMtc2VyaWY7Zm9udC1zaXpl OjE2cHgiPiDCoCBjKS5zeXN0ZW1kIGZpbmQgdGhlwqA8c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmU7Zm9udC1mYW1pbHk6J3BpbmdmYW5nIHNjJztmb250 LXNpemU6MTJweCI+b2JtYy1wb3dlci1zdGFydEAudGFyZ2V0PC9zcGFuPjwvc3Bhbj48L3NwYW4+ PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6cmdiKCAwICwgMCAsIDAgKTtmb250LWZhbWlseTonY2Fs aWJyaScgLCAnYXJpYWwnICwgJ2hlbHZldGljYScgLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB0 Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmU7Zm9u dC1mYW1pbHk6J3BpbmdmYW5nIHNjJztmb250LXNpemU6MTJweCI+PHNwYW4gc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6I2ZmZmZmZjtjb2xvcjojMDAwMDAwO2ZvbnQtZmFtaWx5OidjYWxpYnJpJyAs ICdhcmlhbCcgLCAnaGVsdmV0aWNhJyAsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHgiPjxzcGFu IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Y29sb3I6IzI0MjkyZTtmb250LWZhbWls eToncGluZ2Zhbmcgc2MnO2ZvbnQtc2l6ZToxMnB4Ij7CoCDCoCDCoCDCoCA8c3BhbiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMwMDAwMDA7Zm9udC1mYW1pbHk6J2NhbGli cmknICwgJ2FyaWFsJyAsICdoZWx2ZXRpY2EnICwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweCI+ IGQpLnN5c3RlbWQgZmluZCB0aGXCoDxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZm ZmY7Y29sb3I6IzI0MjkyZTtmb250LWZhbWlseToncGluZ2Zhbmcgc2MnO2ZvbnQtc2l6ZToxMnB4 Ij48YSBocmVmPSJtYWlsdG86b3AtcG93ZXItc3RhcnRAMC5zZXJ2aWNlIj5vcC1wb3dlci1zdGFy dEAwLnNlcnZpY2U8L2E+PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjojMjQyOTJlO2ZvbnQtZmFt aWx5OidwaW5nZmFuZyBzYyc7Zm9udC1zaXplOjEycHg7bWFyZ2luOjBweCI+wqA8L3NwYW4+PC9z cGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOnJnYiggMCAs IDAgLCAwICk7Zm9udC1mYW1pbHk6J2NhbGlicmknICwgJ2FyaWFsJyAsICdoZWx2ZXRpY2EnICwg c2Fucy1zZXJpZjtmb250LXNpemU6MTJwdCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 I2ZmZmZmZjtjb2xvcjojMjQyOTJlO2ZvbnQtZmFtaWx5OidwaW5nZmFuZyBzYyc7Zm9udC1zaXpl OjEycHgiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Y29sb3I6IzAwMDAw MDtmb250LWZhbWlseTonY2FsaWJyaScgLCAnYXJpYWwnICwgJ2hlbHZldGljYScgLCBzYW5zLXNl cmlmO2ZvbnQtc2l6ZToxNnB4Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZm O2NvbG9yOiMyNDI5MmU7Zm9udC1mYW1pbHk6J3BpbmdmYW5nIHNjJztmb250LXNpemU6MTJweCI+ PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtjb2xvcjojMDAwMDAwO2ZvbnQt ZmFtaWx5OidjYWxpYnJpJyAsICdhcmlhbCcgLCAnaGVsdmV0aWNhJyAsIHNhbnMtc2VyaWY7Zm9u dC1zaXplOjE2cHgiPjxzcGFuIHN0eWxlPSJjb2xvcjojMjQyOTJlO2ZvbnQtZmFtaWx5OidwaW5n ZmFuZyBzYyc7Zm9udC1zaXplOjEycHg7bWFyZ2luOjBweCI+wqAgwqAgwqAgwqDCoDxzcGFuIHN0 eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Y29sb3I6IzAwMDAwMDtmb250LWZhbWlseTon Y2FsaWJyaScgLCAnYXJpYWwnICwgJ2hlbHZldGljYScgLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZTox NnB4O21hcmdpbjowcHgiPmUpLjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7 Zm9udC1mYW1pbHk6J2NhbGlicmknICwgJ2FyaWFsJyAsICdoZWx2ZXRpY2EnICwgc2Fucy1zZXJp ZiI+c3lzdGVtZCBzdGFydCBhIHRocmVhZCBhbmQgZXhlY3V0ZcKgIjxzcGFuIHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiNmZmZmZmY7Y29sb3I6IzI0MjkyZTtmb250LWZhbWlseToncGluZ2Zhbmcg c2MnO2ZvbnQtc2l6ZToxMnB4Ij5idXNjdGwgY2FsbCBgbWFwcGVyIGdldC1zZXJ2aWNlIC9vcmcv b3BlbmJtYy9jb250cm9sL3Bvd2VyJWlgIC9vcmcvb3BlbmJtYy9jb250cm9sL3Bvd2VyJWkgb3Jn Lm9wZW5ibWMuY29udHJvbC5Qb3dlciBzZXRQb3dlclN0YXRlIEkgMSI8L3NwYW4+PC9zcGFuPjwv c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9 ImNvbG9yOnJnYiggMCAsIDAgLCAwICk7Zm9udC1mYW1pbHk6J2NhbGlicmknICwgJ2FyaWFsJyAs ICdoZWx2ZXRpY2EnICwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJwdCI+wqA8L2Rpdj48ZGl2IHN0 eWxlPSJjb2xvcjpyZ2IoIDAgLCAwICwgMCApO2ZvbnQtZmFtaWx5OidjYWxpYnJpJyAsICdhcmlh bCcgLCAnaGVsdmV0aWNhJyAsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHQiPmFwcGVuZGl4JiN4 ZmYxYTs8L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjpyZ2IoIDAgLCAwICwgMCApO2ZvbnQtZmFtaWx5 OidjYWxpYnJpJyAsICdhcmlhbCcgLCAnaGVsdmV0aWNhJyAsIHNhbnMtc2VyaWY7Zm9udC1zaXpl OjEycHQiPjxwIHN0eWxlPSJmb250OjEycHggJ3BpbmdmYW5nIHNjJzttYXJnaW46MHB4Ij48c3Bh biBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmUiPmxzIDxhIGhy ZWY9Im1haWx0bzpvYm1jLWNoYXNzaXMtcG93ZXJvbkAwLnRhcmdldC5yZXF1aXJlcyI+b2JtYy1j aGFzc2lzLXBvd2Vyb25AMC50YXJnZXQucmVxdWlyZXM8L2E+PC9zcGFuPjwvcD48cCBzdHlsZT0i Zm9udDoxMnB4ICdwaW5nZmFuZyBzYyc7bWFyZ2luOjBweCI+PHNwYW4gc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6I2ZmZmZmZjtjb2xvcjojMjQyOTJlIj48YSBocmVmPSJtYWlsdG86b3AtcG93ZXIt c3RhcnRAMC5zZXJ2aWMiPm9wLXBvd2VyLXN0YXJ0QDAuc2VydmljPC9hPmXCoCA8YSBocmVmPSJt YWlsdG86b3Atd2FpdC1wb3dlci1vbkAwLnNlcnZpY2UiPm9wLXdhaXQtcG93ZXItb25AMC5zZXJ2 aWNlPC9hPjwvc3Bhbj48L3A+PHAgc3R5bGU9ImZvbnQ6MTJweCAncGluZ2Zhbmcgc2MnO21hcmdp bjowcHg7bWluLWhlaWdodDoxN3B4Ij7CoDwvcD48cCBzdHlsZT0iZm9udDoxMnB4ICdwaW5nZmFu ZyBzYyc7bWFyZ2luOjBweCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtj b2xvcjojMjQyOTJlIj5jYXQgb2JtYy1jaGFzc2lzLXBvd2Vyb25ALnRhcmdldMKgPC9zcGFuPjwv cD48cCBzdHlsZT0iZm9udDoxMnB4ICdwaW5nZmFuZyBzYyc7bWFyZ2luOjBweCI+PHNwYW4gc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtjb2xvcjojMjQyOTJlIj5bVW5pdF08L3NwYW4+ PC9wPjxwIHN0eWxlPSJmb250OjEycHggJ3BpbmdmYW5nIHNjJzttYXJnaW46MHB4Ij48c3BhbiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmUiPkRlc2NyaXB0aW9u PUNoYXNzaXMlaSAoUG93ZXIgT24pPC9zcGFuPjwvcD48cCBzdHlsZT0iZm9udDoxMnB4ICdwaW5n ZmFuZyBzYyc7bWFyZ2luOjBweCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2ZmZmZm Zjtjb2xvcjojMjQyOTJlIj5XYW50cz1tdWx0aS11c2VyLnRhcmdldDwvc3Bhbj48L3A+PHAgc3R5 bGU9ImZvbnQ6MTJweCAncGluZ2Zhbmcgc2MnO21hcmdpbjowcHgiPjxzcGFuIHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiNmZmZmZmY7Y29sb3I6IzI0MjkyZSI+QWZ0ZXI9bXVsdGktdXNlci50YXJn ZXQ8L3NwYW4+PC9wPjxwIHN0eWxlPSJmb250OjEycHggJ3BpbmdmYW5nIHNjJzttYXJnaW46MHB4 Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmUiPjxh IGhyZWY9Im1haWx0bzpXYW50cz1tYXBwZXItd2FpdEAteHl6LW9wZW5ibWNfcHJvamVjdC1zdGF0 ZS1jaGFzc2lzJWkuc2VydmljZSI+V2FudHM9bWFwcGVyLXdhaXRALXh5ei1vcGVuYm1jX3Byb2pl Y3Qtc3RhdGUtY2hhc3NpcyVpLnNlcnZpY2U8L2E+PC9zcGFuPjwvcD48cCBzdHlsZT0iZm9udDox MnB4ICdwaW5nZmFuZyBzYyc7bWFyZ2luOjBweCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29s b3I6I2ZmZmZmZjtjb2xvcjojMjQyOTJlIj48YSBocmVmPSJtYWlsdG86QWZ0ZXI9bWFwcGVyLXdh aXRALXh5ei1vcGVuYm1jX3Byb2plY3Qtc3RhdGUtY2hhc3NpcyVpLnNlcnZpY2UiPkFmdGVyPW1h cHBlci13YWl0QC14eXotb3BlbmJtY19wcm9qZWN0LXN0YXRlLWNoYXNzaXMlaS5zZXJ2aWNlPC9h Pjwvc3Bhbj48L3A+PHAgc3R5bGU9ImZvbnQ6MTJweCAncGluZ2Zhbmcgc2MnO21hcmdpbjowcHgi PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Y29sb3I6IzI0MjkyZSI+V2Fu dHM9bWFwcGVyLXN1YnRyZWUtcmVtb3ZlQC14eXotb3BlbmJtY1x4NWZwcm9qZWN0LXNvZnR3YXJl XHgzQXh5ei5vcGVuYm1jX3Byb2plY3QuU29mdHdhcmUuQWN0aXZhdGlvbkJsb2Nrc1RyYW5zaXRp b24uc2VydmljZTwvc3Bhbj48L3A+PHAgc3R5bGU9ImZvbnQ6MTJweCAncGluZ2Zhbmcgc2MnO21h cmdpbjowcHgiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Y29sb3I6IzI0 MjkyZSI+QWZ0ZXI9bWFwcGVyLXN1YnRyZWUtcmVtb3ZlQC14eXotb3BlbmJtY1x4NWZwcm9qZWN0 LXNvZnR3YXJlXHgzQXh5ei5vcGVuYm1jX3Byb2plY3QuU29mdHdhcmUuQWN0aXZhdGlvbkJsb2Nr c1RyYW5zaXRpb24uc2VydmljZTwvc3Bhbj48L3A+PHAgc3R5bGU9ImZvbnQ6MTJweCAncGluZ2Zh bmcgc2MnO21hcmdpbjowcHg7bWluLWhlaWdodDoxN3B4Ij7CoDwvcD48cCBzdHlsZT0iZm9udDox MnB4ICdwaW5nZmFuZyBzYyc7bWFyZ2luOjBweCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29s b3I6I2ZmZmZmZjtjb2xvcjojMjQyOTJlIj5jYXQgPGEgaHJlZj0ibWFpbHRvOm9wLXBvd2VyLXN0 YXJ0QDAuc2VydmljIj5vcC1wb3dlci1zdGFydEAwLnNlcnZpYzwvYT5lwqA8L3NwYW4+PC9wPjxw IHN0eWxlPSJmb250OjEycHggJ3BpbmdmYW5nIHNjJzttYXJnaW46MHB4Ij48c3BhbiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmUiPltVbml0XTwvc3Bhbj48L3A+ PHAgc3R5bGU9ImZvbnQ6MTJweCAncGluZ2Zhbmcgc2MnO21hcmdpbjowcHgiPjxzcGFuIHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Y29sb3I6IzI0MjkyZSI+RGVzY3JpcHRpb249U3Rh cnQgUG93ZXIlaTwvc3Bhbj48L3A+PHAgc3R5bGU9ImZvbnQ6MTJweCAncGluZ2Zhbmcgc2MnO21h cmdpbjowcHgiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Y29sb3I6IzI0 MjkyZSI+PGEgaHJlZj0ibWFpbHRvOldhbnRzPW9ibWMtcG93ZXItc3RhcnRAJWkudGFyZ2V0Ij5X YW50cz1vYm1jLXBvd2VyLXN0YXJ0QCVpLnRhcmdldDwvYT48L3NwYW4+PC9wPjxwIHN0eWxlPSJm b250OjEycHggJ3BpbmdmYW5nIHNjJzttYXJnaW46MHB4Ij48c3BhbiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmUiPjxhIGhyZWY9Im1haWx0bzpCZWZvcmU9b2Jt Yy1wb3dlci1zdGFydEAlaS50YXJnZXQiPkJlZm9yZT1vYm1jLXBvd2VyLXN0YXJ0QCVpLnRhcmdl dDwvYT48L3NwYW4+PC9wPjxwIHN0eWxlPSJmb250OjEycHggJ3BpbmdmYW5nIHNjJzttYXJnaW46 MHB4Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmUi PjxhIGhyZWY9Im1haWx0bzpBZnRlcj1vYm1jLXBvd2VyLXN0YXJ0LXByZUAlaS50YXJnZXQiPkFm dGVyPW9ibWMtcG93ZXItc3RhcnQtcHJlQCVpLnRhcmdldDwvYT48L3NwYW4+PC9wPjxwIHN0eWxl PSJmb250OjEycHggJ3BpbmdmYW5nIHNjJzttYXJnaW46MHB4Ij48c3BhbiBzdHlsZT0iYmFja2dy b3VuZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmUiPkFmdGVyPW9ibWMtZmFuLWNvbnRyb2wu dGFyZ2V0PC9zcGFuPjwvcD48cCBzdHlsZT0iZm9udDoxMnB4ICdwaW5nZmFuZyBzYyc7bWFyZ2lu OjBweCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtjb2xvcjojMjQyOTJl Ij48YSBocmVmPSJtYWlsdG86V2FudHM9bWFwcGVyLXdhaXRALW9yZy1vcGVuYm1jLWNvbnRyb2wt cG93ZXIlaS5zZXJ2aWNlIj5XYW50cz1tYXBwZXItd2FpdEAtb3JnLW9wZW5ibWMtY29udHJvbC1w b3dlciVpLnNlcnZpY2U8L2E+PC9zcGFuPjwvcD48cCBzdHlsZT0iZm9udDoxMnB4ICdwaW5nZmFu ZyBzYyc7bWFyZ2luOjBweCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtj b2xvcjojMjQyOTJlIj48YSBocmVmPSJtYWlsdG86QWZ0ZXI9bWFwcGVyLXdhaXRALW9yZy1vcGVu Ym1jLWNvbnRyb2wtcG93ZXIlaS5zZXJ2aWNlIj5BZnRlcj1tYXBwZXItd2FpdEAtb3JnLW9wZW5i bWMtY29udHJvbC1wb3dlciVpLnNlcnZpY2U8L2E+PC9zcGFuPjwvcD48cCBzdHlsZT0iZm9udDox MnB4ICdwaW5nZmFuZyBzYyc7bWFyZ2luOjBweCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29s b3I6I2ZmZmZmZjtjb2xvcjojMjQyOTJlIj5bU2VydmljZV08L3NwYW4+PC9wPjxwIHN0eWxlPSJm b250OjEycHggJ3BpbmdmYW5nIHNjJzttYXJnaW46MHB4Ij48c3BhbiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmUiPlJlbWFpbkFmdGVyRXhpdD15ZXM8L3NwYW4+ PC9wPjxwIHN0eWxlPSJmb250OjEycHggJ3BpbmdmYW5nIHNjJzttYXJnaW46MHB4Ij48c3BhbiBz dHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmUiPlR5cGU9b25lc2hv dDwvc3Bhbj48L3A+PHAgc3R5bGU9ImZvbnQ6MTJweCAncGluZ2Zhbmcgc2MnO21hcmdpbjowcHgi PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Y29sb3I6IzI0MjkyZSI+RXhl Y1N0YXJ0PS9iaW4vc2ggLWMgImJ1c2N0bCBjYWxsIGBtYXBwZXIgZ2V0LXNlcnZpY2UgL29yZy9v cGVuYm1jL2NvbnRyb2wvcG93ZXIlaWAgL29yZy9vcGVuYm1jL2NvbnRyb2wvcG93ZXIlaSBvcmcu b3BlbmJtYy5jb250cm9sLlBvd2VyIHNldFBvd2VyU3RhdGUgaSAxIjwvc3Bhbj48L3A+PHAgc3R5 bGU9ImZvbnQ6MTJweCAncGluZ2Zhbmcgc2MnO21hcmdpbjowcHgiPjxzcGFuIHN0eWxlPSJiYWNr Z3JvdW5kLWNvbG9yOiNmZmZmZmY7Y29sb3I6IzI0MjkyZSI+U3lzbG9nSWRlbnRpZmllcj1vcC1w b3dlci1zdGFydDwvc3Bhbj48L3A+PHAgc3R5bGU9ImZvbnQ6MTJweCAncGluZ2Zhbmcgc2MnO21h cmdpbjowcHgiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Y29sb3I6IzI0 MjkyZSI+W0luc3RhbGxdPC9zcGFuPjwvcD48cCBzdHlsZT0iZm9udDoxMnB4ICdwaW5nZmFuZyBz Yyc7bWFyZ2luOjBweCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtjb2xv cjojMjQyOTJlIj48YSBocmVmPSJtYWlsdG86V2FudGVkQnk9b2JtYy1ob3N0LXN0YXJ0QCVpLnRh cmdldCI+V2FudGVkQnk9b2JtYy1ob3N0LXN0YXJ0QCVpLnRhcmdldDwvYT48L3NwYW4+PC9wPjxw IHN0eWxlPSJmb250OjEycHggJ3BpbmdmYW5nIHNjJzttYXJnaW46MHB4O21pbi1oZWlnaHQ6MTdw eCI+wqA8L3A+PHAgc3R5bGU9ImZvbnQ6MTJweCAncGluZ2Zhbmcgc2MnO21hcmdpbjowcHgiPjxz cGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Y29sb3I6IzI0MjkyZSI+Y2F0IG9i bWMtcG93ZXItc3RhcnRALnRhcmdldMKgPC9zcGFuPjwvcD48cCBzdHlsZT0iZm9udDoxMnB4ICdw aW5nZmFuZyBzYyc7bWFyZ2luOjBweCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2Zm ZmZmZjtjb2xvcjojMjQyOTJlIj5bVW5pdF08L3NwYW4+PC9wPjxwIHN0eWxlPSJmb250OjEycHgg J3BpbmdmYW5nIHNjJzttYXJnaW46MHB4Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjoj ZmZmZmZmO2NvbG9yOiMyNDI5MmUiPkRlc2NyaXB0aW9uPVBvd2VyJWkgT248L3NwYW4+PC9wPjxw IHN0eWxlPSJmb250OjEycHggJ3BpbmdmYW5nIHNjJzttYXJnaW46MHB4Ij48c3BhbiBzdHlsZT0i YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2NvbG9yOiMyNDI5MmUiPjxhIGhyZWY9Im1haWx0bzpB ZnRlcj1vYm1jLXBvd2VyLXN0YXJ0LXByZUAlaS50YXJnZXQiPkFmdGVyPW9ibWMtcG93ZXItc3Rh cnQtcHJlQCVpLnRhcmdldDwvYT48L3NwYW4+PC9wPjxwIHN0eWxlPSJmb250OjEycHggJ3Bpbmdm YW5nIHNjJzttYXJnaW46MHB4Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZm O2NvbG9yOiMyNDI5MmUiPldhbnRzPW11bHRpLXVzZXIudGFyZ2V0PC9zcGFuPjwvcD48cCBzdHls ZT0iZm9udDoxMnB4ICdwaW5nZmFuZyBzYyc7bWFyZ2luOjBweCI+PHNwYW4gc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6I2ZmZmZmZjtjb2xvcjojMjQyOTJlIj48YSBocmVmPSJtYWlsdG86Q29uZmxp Y3RzPW9ibWMtY2hhc3Npcy1wb3dlcm9mZkAlaS50YXJnZXQiPkNvbmZsaWN0cz1vYm1jLWNoYXNz aXMtcG93ZXJvZmZAJWkudGFyZ2V0PC9hPjwvc3Bhbj48L3A+PHAgc3R5bGU9ImZvbnQ6MTJweCAn cGluZ2Zhbmcgc2MnO21hcmdpbjowcHgiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNm ZmZmZmY7Y29sb3I6IzI0MjkyZSI+UmVmdXNlTWFudWFsU3RhcnQ9eWVzPC9zcGFuPjwvcD48cCBz dHlsZT0iZm9udDoxMnB4ICdwaW5nZmFuZyBzYyc7bWFyZ2luOjBweCI+PHNwYW4gc3R5bGU9ImJh Y2tncm91bmQtY29sb3I6I2ZmZmZmZjtjb2xvcjojMjQyOTJlIj5SZWZ1c2VNYW51YWxTdG9wPXll czwvc3Bhbj48L3A+PC9kaXY+PGRpdj48ZGl2PsKgPC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6cmdi KCAwICwgMCAsIDAgKTtmb250LWZhbWlseTonY2FsaWJyaScgLCAnYXJpYWwnICwgJ2hlbHZldGlj YScgLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB0Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjojZmZmZmZmO2NvbG9yOiMzMjMxMzA7Zm9udC1mYW1pbHk6J2Rlbmd4aWFuJzt0ZXh0LWFs aWduOmp1c3RpZnkiPlRoYW5rczwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjpyZ2IoIDAg LCAwICwgMCApO2ZvbnQtZmFtaWx5OidjYWxpYnJpJyAsICdhcmlhbCcgLCAnaGVsdmV0aWNhJyAs IHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHQiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y OiNmZmZmZmY7Y29sb3I6IzMyMzEzMDtmb250LWZhbWlseTonZGVuZ3hpYW4nO3RleHQtYWxpZ246 anVzdGlmeSI+SGFybGV5PC9zcGFuPjwvZGl2PjxociBzdHlsZT0id2lkdGg6OTglIiAvPjxkaXY+ PGZvbnQgY29sb3I9IiMwMDAwMDAiIGZhY2U9IkNhbGlicmksIHNhbnMtc2VyaWYiIHN0eWxlPSJm b250LXNpemU6MTFwdCI+PHN0cm9uZz7lj5Hku7bkuro6PC9zdHJvbmc+IG9wZW5ibWMgJmx0Ozxh IGhyZWY9Im1haWx0bzpvcGVuYm1jLWJvdW5jZXMremhvdXl1YW5xaW5nOD1vdXRsb29rLmNvbUBs aXN0cy5vemxhYnMub3JnIj5vcGVuYm1jLWJvdW5jZXMremhvdXl1YW5xaW5nOD1vdXRsb29rLmNv bUBsaXN0cy5vemxhYnMub3JnPC9hPiZndDsg5Luj6KGoIFN1aSBDaGVuICZsdDs8YSBocmVmPSJt YWlsdG86c3VpY2hlbjZAZ21haWwuY29tIj5zdWljaGVuNkBnbWFpbC5jb208L2E+Jmd0OzxiciAv PjxzdHJvbmc+5Y+R6YCB5pe26Ze0Ojwvc3Ryb25nPiAyMDIw5bm0NOaciDIx5pelIDE6MDU8YnIg Lz48c3Ryb25nPuaUtuS7tuS6ujo8L3N0cm9uZz4gPGEgaHJlZj0ibWFpbHRvOm9wZW5ibWNAbGlz dHMub3psYWJzLm9yZyI+b3BlbmJtY0BsaXN0cy5vemxhYnMub3JnPC9hPiAmbHQ7PGEgaHJlZj0i bWFpbHRvOm9wZW5ibWNAbGlzdHMub3psYWJzLm9yZyI+b3BlbmJtY0BsaXN0cy5vemxhYnMub3Jn PC9hPiZndDs8YnIgLz48c3Ryb25nPuS4u+mimDo8L3N0cm9uZz4gUmU6IENhbGwgZm9yIEdhcmRl bmluZyBUYXNrczwvZm9udD48ZGl2PsKgPC9kaXY+PC9kaXY+PGRpdiBsYW5nPSJaSC1DTiI+PGRp dj48cCBzdHlsZT0iZm9udC1mYW1pbHk6J2Rlbmd4aWFuJztmb250LXNpemU6MTAuNXB0O21hcmdp bjowY20gMGNtIDAuMDAwMXB0IDBjbTt0ZXh0LWFsaWduOmp1c3RpZnkiPjxzcGFuIGxhbmc9IkVO LVVTIj4mZ3Q7IE9uIEFwciAxMSwgMjAyMCwgYXQgODoxNSBBTSwgQW5kcmV3IEdlaXNzbGVyICZs dDtnZWlzc29uYXRvciBhdCBnbWFpbC5jb20mZ3Q7IHdyb3RlOjwvc3Bhbj48L3A+PHAgc3R5bGU9 ImZvbnQtZmFtaWx5OidkZW5neGlhbic7Zm9udC1zaXplOjEwLjVwdDttYXJnaW46MGNtIDBjbSAw LjAwMDFwdCAwY207dGV4dC1hbGlnbjpqdXN0aWZ5Ij48c3BhbiBsYW5nPSJFTi1VUyI+Jmd0OyBT eXN0ZW1kIFZpc3VhbGl6YXRpb248L3NwYW4+PC9wPjxwIHN0eWxlPSJmb250LWZhbWlseTonZGVu Z3hpYW4nO2ZvbnQtc2l6ZToxMC41cHQ7bWFyZ2luOjBjbSAwY20gMC4wMDAxcHQgMGNtO3RleHQt YWxpZ246anVzdGlmeSI+PHNwYW4gbGFuZz0iRU4tVVMiPiZndDsgQW5vdGhlciBjb21wbGljYXRl ZCBhcmVhIG9mIE9wZW5CTUMgaXMgb3VyIHN5c3RlbWQgdGFyZ2V0cyBhbmQgc2VydmljZXMuIEJ1 aWxkaW5nIG9uIHRoZSB1cHN0cmVhbSB0b29scyB0byB2aXN1YWxpemUgb3VyIHN5c3RlbWQgdGFy Z2V0cyBhbmQgc2VydmljZXMgd291bGQgYmUgdXNlZnVsIHRvIG5ldyBwZW9wbGUuPC9zcGFuPjwv cD48cCBzdHlsZT0iZm9udC1mYW1pbHk6J2Rlbmd4aWFuJztmb250LXNpemU6MTAuNXB0O21hcmdp bjowY20gMGNtIDAuMDAwMXB0IDBjbTt0ZXh0LWFsaWduOmp1c3RpZnkiPjxzcGFuIGxhbmc9IkVO LVVTIiBzdHlsZT0iZm9udC1zaXplOjEycHQiPsKgPC9zcGFuPjwvcD48cCBzdHlsZT0iZm9udC1m YW1pbHk6J2Rlbmd4aWFuJztmb250LXNpemU6MTAuNXB0O21hcmdpbjowY20gMGNtIDAuMDAwMXB0 IDBjbTt0ZXh0LWFsaWduOmp1c3RpZnkiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z aXplOjEycHQiPisxIHRvIHZpc3VhbGl6YXRpb24sIGFuZCBJIGhhdmUgYSBmZXcgdGhvdWdodHMg b24gdGhpcyAtLS08L3NwYW4+PC9wPjxwIHN0eWxlPSJmb250LWZhbWlseTonZGVuZ3hpYW4nO2Zv bnQtc2l6ZToxMC41cHQ7bWFyZ2luOjBjbSAwY20gMC4wMDAxcHQgMGNtO3RleHQtYWxpZ246anVz dGlmeSI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTJwdCI+TXkgbGFja2lu ZyBhIG1lbnRhbCBtb2RlbCBvZiBob3cgYW4gT3BlbkJNQyBzeXN0ZW0gd29ya3MgaGFkIGJlZW4g bXkgcGFpbiBwb2ludCBpbiB0aGUgZmlyc3QgZmV3IG1vbnRocyB3b3JraW5nIHdpdGggT3BlbkJN QyAoSeKAmW0gYSBiaXQgbmV3IHRvIHRoaXMgYXJlYSksIHNvIGFmdGVyIGxlYXJuaW5nIHRoZSBt aW5pbWFsIHNldCBvZiBzdXJ2aXZhbCBza2lsbHMgSSBkaWQgc29tZXRoaW5nIHNpbWlsYXIgdG8g d2hhdCB5b3UgbWVudGlvbmVkIEMgdmlzdWFsaXppbmcgdGhlIG1lc3NhZ2VzIHBhc3NlZCBiZXR3 ZWVuIGRpZmZlcmVudCBkYnVzIHBlZXJzIChhbmQgY29udmVuaWVudGx5LCBJUE1JIHRyYWZmaWMs IGFzIElQTUktcmVsYXRlZCBkYnVzIG1lc3NhZ2VzIGV4cG9zaW5nIGFsbCBJUE1JIHBheWxvYWQg Y29tcHJpc2UgbW9zdCBvZiB0aGUgZGJ1cyB0cmFmZmljIG9uIHRoYXQgcGFydGljdWxhciBzeXN0 ZW0gSSB3YXMgd29ya2luZyBvbi4pPC9zcGFuPjwvcD48cCBzdHlsZT0iZm9udC1mYW1pbHk6J2Rl bmd4aWFuJztmb250LXNpemU6MTAuNXB0O21hcmdpbjowY20gMGNtIDAuMDAwMXB0IDBjbTt0ZXh0 LWFsaWduOmp1c3RpZnkiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEycHQi PsKgPC9zcGFuPjwvcD48cCBzdHlsZT0iZm9udC1mYW1pbHk6J2Rlbmd4aWFuJztmb250LXNpemU6 MTAuNXB0O21hcmdpbjowY20gMGNtIDAuMDAwMXB0IDBjbTt0ZXh0LWFsaWduOmp1c3RpZnkiPjxz cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEycHQiPkkgdGhpbmsgcGFja2V0IGFu YWx5c2lzIHRvb2xzIHN1Y2ggYXMgV2lyZXNoYXJrIGFuZCBncmFwaGljcyBmcmFtZSBhbmFseXNp cyB0b29scyBzdWNoIGFzIFJlbmRlckRvYywgb3Igc3lzdGVtIGV2ZW50LWJhc2VkIFdpbmRvd3Mg UGVyZm9ybWFuY2UgdG9vbCBsaWtlIEdQVVZpZXcgcHJvdmlkZSBncmVhdCBleGFtcGxlcyBvZiB3 aGF0IHBlb3BsZSBtaWdodCBleHBlY3QgdG8gYWNoaWV2ZSB3aXRoIGEgdmlzdWFsaXphdGlvbiB0 b29sOiBjYXB0dXJlLCBpbnNwZWN0IGFuZCAoc29tZXRpbWVzKSBwbGF5YmFjaywgYWNyb3NzIG11 bHRpcGxlIGxheWVycyBpbiB0aGUgc29mdHdhcmUvaGFyZHdhcmUgc3RhY2suIE1hbnkgc2ltaWxh ciBleGlzdGluZyB0b29scyBwcm9jZXNzIHNlcXVlbmNlcyBvZiBldmVudHMsIGFuZCBpbiB0aGlz IGNhc2Ugb2YgQk1DcywgdGhlIGV2ZW50cyBjb3VsZCBiZSBkYnVzIG1lc3NhZ2VzLiBJIGZvdW5k IGEgcHJvdG90eXBlIHZpc3VhbGl6ZXIgbWFkZSBhdCB3b3JrIGdyZWF0bHkgaGVscGZ1bCBpbiBl eHBsYWluaW5nIHRvIG5ldyB0ZWFtIG1lbWJlcnMgc29tZSBiYXNpYyBjb25jZXB0cyBhbmQgdGhl IElQTUkgc3RhY2sgb24gdGhlIEJNQy48L3NwYW4+PC9wPjxwIHN0eWxlPSJmb250LWZhbWlseTon ZGVuZ3hpYW4nO2ZvbnQtc2l6ZToxMC41cHQ7bWFyZ2luOjBjbSAwY20gMC4wMDAxcHQgMGNtO3Rl eHQtYWxpZ246anVzdGlmeSI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTJw dCI+wqA8L3NwYW4+PC9wPjxwIHN0eWxlPSJmb250LWZhbWlseTonZGVuZ3hpYW4nO2ZvbnQtc2l6 ZToxMC41cHQ7bWFyZ2luOjBjbSAwY20gMC4wMDAxcHQgMGNtO3RleHQtYWxpZ246anVzdGlmeSI+ PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTJwdCI+VGhlIElQTUkgc3RhY2sg aXMgaW50ZXJlc3RpbmcgYmVjYXVzZSBpdOKAmXMgb25lIG5vdGljZWFibGUgd29ya2xvYWQgb24g dGhlIHBhcnRpY3VsYXIgQk1DIHN5c3RlbSBJIGhhZCBiZWVuIHdvcmtpbmcgb247IGluIG15IGN1 cnJlbnQgbGltaXRlZCB1bmRlcnN0YW5kaW5nLCBoYXZpbmcgbG90cyBvZiBJL08gY2FwYWJpbGl0 eSB0byBjb25uZWN0IHRvIGh1bmRyZWRzIG9mIHNlbnNvcnMgaXMgb25lIG9mIHRoZSBtYW55IGZl YXR1cmVzIHRoYXQgc2V0IGFwYXJ0IGEgQk1DIGNoaXAgYW5kIGEgc2ltaWxhcmx5IHBvd2VyZnVs IHNtYXJ0cGhvbmUgY2hpcCwgYW5kIHRoZSBicm9hZCB1c2Ugb2YgZGJ1cyBpcyB3aGF0IHNldHMg YXBhcnQgT3BlbkJNQyBhbmQgdGhlIGRlc2t0b3AgTGludXggZGlzdHJvIEkgaGFkIGJlZW4gdXNp bmcuIEkgaGVhcmQgb3B0aW1pemF0aW9uIGlzIGJlc3QgZG9uZSB3b3JrbG9hZCBieSB3b3JrbG9h ZCwgcGVyaGFwcyB0aGlzIHJhdGlvbmFsZSBhcHBsaWVzIHRvIHZpc3VhbGl6YXRpb24gdG9vPzwv c3Bhbj48L3A+PHAgc3R5bGU9ImZvbnQtZmFtaWx5OidkZW5neGlhbic7Zm9udC1zaXplOjEwLjVw dDttYXJnaW46MGNtIDBjbSAwLjAwMDFwdCAwY207dGV4dC1hbGlnbjpqdXN0aWZ5Ij48c3BhbiBs YW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMnB0Ij7CoDwvc3Bhbj48L3A+PHAgc3R5bGU9 ImZvbnQtZmFtaWx5OidkZW5neGlhbic7Zm9udC1zaXplOjEwLjVwdDttYXJnaW46MGNtIDBjbSAw LjAwMDFwdCAwY207dGV4dC1hbGlnbjpqdXN0aWZ5Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9 ImZvbnQtc2l6ZToxMnB0Ij5JIHJlYWxpemUgSSB3YXMgbW9zdGx5IHRhbGtpbmcgYWJvdXQgdmlz dWFsaXppbmcgdGhlIHJ1bi10aW1lIHN0YXRlIG9mIHRoZSBzeXN0ZW0gcmF0aGVyIHRoYW4gYnVp bGQtdGltZSwgYnV0IHdlIGNvdWxkIHZpc3VhbGl6ZSB0aGUgcnVuLXRpbWUgYXNwZWN0IG9mIHN5 c3RlbWQgdW5pdHMgdG9vIHNpbmNlIEkgaGF2ZSBzZWVuIG1hbnkgdGltZXMgYSBkYnVzIG1lc3Nh Z2UgZXZlbnR1YWxseSB0cmlnZ2VyaW5nIGEgc3lzdGVtZCB0YXJnZXQgdG8gYWN1dGF0ZSB0aGUg c3lzdGVtLCBzbyBpdCB3b3VsZCBiZSBnb29kIHRvIGNvbnNpZGVyIGJvdGggZGJ1cyBhbmQgc3lz dGVtZCAoYW5kIG1heWJlIG90aGVyIHBhcnRzIG9mIHRoZSBzeXN0ZW0/KSB0byBoYXZlIGEgbW9y ZSBob2xpc3RpYyB2aWV3IG9mIHRoZSBCTUPigJlzIG9wZXJhdGlvbnMuPC9zcGFuPjwvcD48cCBz dHlsZT0iZm9udC1mYW1pbHk6J2Rlbmd4aWFuJztmb250LXNpemU6MTAuNXB0O21hcmdpbjowY20g MGNtIDAuMDAwMXB0IDBjbTt0ZXh0LWFsaWduOmp1c3RpZnkiPjxzcGFuIGxhbmc9IkVOLVVTIiBz dHlsZT0iZm9udC1zaXplOjEycHQiPsKgPC9zcGFuPjwvcD48cCBzdHlsZT0iZm9udC1mYW1pbHk6 J2Rlbmd4aWFuJztmb250LXNpemU6MTAuNXB0O21hcmdpbjowY20gMGNtIDAuMDAwMXB0IDBjbTt0 ZXh0LWFsaWduOmp1c3RpZnkiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEy cHQiPlRoYW5rczwvc3Bhbj48L3A+PHAgc3R5bGU9ImZvbnQtZmFtaWx5OidkZW5neGlhbic7Zm9u dC1zaXplOjEwLjVwdDttYXJnaW46MGNtIDBjbSAwLjAwMDFwdCAwY207dGV4dC1hbGlnbjpqdXN0 aWZ5Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMnB0Ij5TdWk8L3NwYW4+ PC9wPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2PsKgPC9kaXY+PGRp dj7CoDwvZGl2PjxkaXY+LS3CoDwvZGl2PjxkaXY+QmVzdCByZWdhcmRzLDwvZGl2PjxkaXY+S29u c3RhbnRpbiBLbHVibmljaGtpbiw8L2Rpdj48ZGl2PmxlYWQgZmlybXdhcmUgZW5naW5lZXIsPC9k aXY+PGRpdj5zZXJ2ZXIgaGFyZHdhcmUgUiZhbXA7RCBncm91cCw8L2Rpdj48ZGl2PllhbmRleCBN b3Njb3cgb2ZmaWNlLjwvZGl2PjxkaXY+dGVsOiArNy05MDMtNTEwLTMzLTMzPC9kaXY+PGRpdj7C oDwvZGl2Pg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=outlook.com (client-ip=40.92.254.87; helo=apc01-pu1-obe.outbound.protection.outlook.com; envelope-from=zhouyuanqing8@outlook.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=outlook.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=outlook.com header.i=@outlook.com header.a=rsa-sha256 header.s=selector1 header.b=E3gCsGM0; dkim-atps=neutral Received: from APC01-PU1-obe.outbound.protection.outlook.com (mail-oln040092254087.outbound.protection.outlook.com [40.92.254.87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 496g3S6SG6zDqfS for ; Wed, 22 Apr 2020 22:38:59 +1000 (AEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hfWNSdk3uq0oxyT6wALNf9IOwIssLtdFmPG9Ydnlsq6mnq31U/IiI9CDB6DnZy7PUiKCkMgjf3CIVu5kkDgl7PtOdfkEyLNCuY/s4LVR8oDMHMR/nrH+rat7XRyUuLP4tC5oAwrBJmai0tqQmXRwgjxEM1QjTgrFbFINB9jO9Tg9MjcoaZWYGk6w63xOB6b0d6TO1nIwsZi3cqk+p8A1J7vqKzKiU03mMo4Mcf0KauQfPsI/lmQTThunr8ZIuHjqDhr2J0gp8WQnlsoS+pb1aO8J1ShFGZ47aoXjZ9S9KttPg4WgktiLsnLi/SjWm4KJHHmZfFQER4RFIemZfdqjBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Jf36EC6oWs1uQhnTFJsT5n9DP1CfzWey+hxOexjl5qU=; b=dBG33zzQpI+gBPfY7fg4parDPrMWkvbQnv4R+MqpaKzL9VhZF+4SLgbw7SHTyfEg8+KrMxUbxQaJ/JKLOvw+VEqQ0UAAgsftisOePHTvjp1n5gcp6jgjqm1wMv6MlJWlqvgEMAe5Dr2YMqd4SlZ3Dx7i3h97Uyut8Q6J4GQq59ZVXtCraVoRGYYZQ/4BtwnKSCtfdMFWBVTIpf97yYNrr+iihue7YnpOxs7J4Nc8hpM+yriaNKJGsprduGp288DQQGXeF52AboaaFQ8m3octxO+EtlS2xG7TenghxEZrrx6EWcvxak12nQzt3xSM8TMbO5RpzopXTIJU8rkeFn7GSw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Jf36EC6oWs1uQhnTFJsT5n9DP1CfzWey+hxOexjl5qU=; b=E3gCsGM0q4hLoFaktv0VlK3lhXLCavXinbVyvU/pVlElKy4KTXEMIHtVtufEvM7FwaddGI8cHxuvlttwowTKF4Ya6CfvapLvNUkJXDgDfmEMsVYCcwjfG6xrOgV1Ymj8cdZxtKzgiBoOeGXDLkgusEj+zXAb9S58h3ZVMxxZeWMO7c4WfB5uRMp09kkyPS4y6YPrJvTZGcRrkoUkraebhpmADM4B/CnLgivjds+xH2WXVMIgPE5BbkBj99FdsAb+HxQoY5FOH9Yg5/RMLz+r5lffTCPOgz1nj1XtrISK5kMLXSj8o8ixJcv0g+KwaHvSZWI8EuKkYotKMHQEqzFiqQ== Received: from SG2APC01FT112.eop-APC01.prod.protection.outlook.com (2a01:111:e400:7ebd::4c) by SG2APC01HT161.eop-APC01.prod.protection.outlook.com (2a01:111:e400:7ebd::343) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.25; Wed, 22 Apr 2020 12:38:52 +0000 Received: from HK2PR04MB3826.apcprd04.prod.outlook.com (10.152.250.52) by SG2APC01FT112.mail.protection.outlook.com (10.152.250.201) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.15 via Frontend Transport; Wed, 22 Apr 2020 12:38:52 +0000 Received: from HK2PR04MB3826.apcprd04.prod.outlook.com ([fe80::48eb:bda9:d490:c17c]) by HK2PR04MB3826.apcprd04.prod.outlook.com ([fe80::48eb:bda9:d490:c17c%3]) with mapi id 15.20.2937.012; Wed, 22 Apr 2020 12:38:52 +0000 From: "zhouyuanqing8@outlook.com" To: Konstantin Klubnichkin , "openbmc@lists.ozlabs.org" , "Li, Yong" CC: "uperic@163.com" , "shinerocky@yahoo.com" Subject: =?gb2312?B?u9i4tDogYWJvdXQgcG93ZXIgY29udHJvbC672Li0OiBDYWxsIGZvciBHYXJk?= =?gb2312?Q?ening_Tasks?= Thread-Topic: =?gb2312?B?u9i4tDogYWJvdXQgcG93ZXIgY29udHJvbC672Li0OiBDYWxsIGZvciBHYXJk?= =?gb2312?Q?ening_Tasks?= Thread-Index: AQHWFzfNy6/e3WsCnUKvq29Gt2WgdqiDk+GAgAEr/gCAAFcK5A== Date: Wed, 22 Apr 2020 12:38:52 +0000 Message-ID: References: <5e9dd66f.1c69fb81.45fc6.0118@mx.google.com> , <51921587538931@mail.yandex-team.ru> In-Reply-To: <51921587538931@mail.yandex-team.ru> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:A5B45D6A36B0668E1493EBCBBC36F1B258C2110154F7621BEAC3A990A5FFDE15; UpperCasedChecksum:907018F4C01AD143DE83DFB5515D98E45AFD2B662588D77096973B37A7DDDDA6; SizeAsReceived:7274; Count:45 x-tmn: [CIXR7HVbDhb1MCUPB/sdWACLBjE8vAf+] x-ms-publictraffictype: Email x-incomingheadercount: 45 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: 74d0f721-34fc-456a-a889-08d7e6ba1d1a x-ms-traffictypediagnostic: SG2APC01HT161: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 099uSVuDsPq+SoF0Lj9QB0LdXhaCDlPyEJV8KwARe0ybdVEAsDH3UkfQBSBN2qg2E5R98GvUYSfkaSp/EhGnwIUcPMgLWnQihaqvtwpTFKOMDXC/1t2tNVX+lkun9gWR2lrW3k1tyEsGCDJE+UEL5heqJfGlaDdsQgO+vXxUuRpRVHegj7gx/wFPnRStNqIxASGlMGWbtk6Yd/DwUoc/g7rwFCe41JQqrYTSZfSntc2MzG6tBwCl2JPdCPpM8u16 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:0; SRV:; IPV:NLI; SFV:NSPM; H:HK2PR04MB3826.apcprd04.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:; DIR:OUT; SFP:1901; x-ms-exchange-antispam-messagedata: +iT38tXj9tRiHeSLNrhgEk1OXFetG3bt0nIvOt36H67hAXIWgF6cpKzPp6CG3etHQsrp8wZGkokf49pcLkLSIR2E1VfnUC716KE8mHEatRPX4J+EgIhWnFIfhPx9uabERar2JVji0LO9JpcVItr4+Q== x-ms-exchange-transport-forked: True Content-Type: multipart/alternative; boundary="_000_HK2PR04MB3826D8BD926FE991F3764912FED20HK2PR04MB3826apcp_" MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 74d0f721-34fc-456a-a889-08d7e6ba1d1a X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Apr 2020 12:38:52.2056 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2APC01HT161 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Apr 2020 12:39:03 -0000 --_000_HK2PR04MB3826D8BD926FE991F3764912FED20HK2PR04MB3826apcp_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 VGhhbmsgeW91IGZvciB0aGUgaGVscCwgSSB3aWxsIHRlc3QgaXQuDQoNCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fDQq3orz+yMs6IEtvbnN0YW50aW4gS2x1Ym5pY2hraW4gPGtpdHNv a0B5YW5kZXgtdGVhbS5ydT4NCreiy83KsbzkOiAyMDIwxOo01MIyMsjVIDE1OjI1DQrK1bz+yMs6 IHpob3V5dWFucWluZzhAb3V0bG9vay5jb20gPHpob3V5dWFucWluZzhAb3V0bG9vay5jb20+OyBT dWkgQ2hlbiA8c3VpY2hlbjZAZ21haWwuY29tPjsgb3BlbmJtY0BsaXN0cy5vemxhYnMub3JnIDxv cGVuYm1jQGxpc3RzLm96bGFicy5vcmc+DQqzrcvNOiB1cGVyaWNAMTYzLmNvbSA8dXBlcmljQDE2 My5jb20+OyBzaGluZXJvY2t5QHlhaG9vLmNvbSA8c2hpbmVyb2NreUB5YWhvby5jb20+DQrW98zi OiBSZTogYWJvdXQgcG93ZXIgY29udHJvbC672Li0OiBDYWxsIGZvciBHYXJkZW5pbmcgVGFza3MN Cg0KSGVsbG8hDQoNCkknbGwgdHJ5IHRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uIGFib3V0IHJ3ZnMg aW1hZ2UuDQpJIGhhZCB0aGUgc2FtZSBpc3N1ZSBwbHVzIEkgd2FudGVkIHRvIGJlIGFibGUgdG8g Y3JlYXRlIHNvbWUgZGF0YSBpbiByd2ZzIHNlZ21lbnQuDQpUaHVzIEkndmUgY3JlYXRlZCBvYm1j LXBob3NwaG9yLWltYWdlLmJiYXBwZW5kIHdoZXJlIEkgZG8gdGhlIGZvbGxvd2luZzoNCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NClJXRlNfU0laRSA/PSAiNDE5NDMwNCINCk9WRVJMQVlfTUtGU19PUFRTID0gIiAt LXBhZD0ke1JXRlNfU0laRX0iDQoNCiMgT3ZlcnJpZGUgSkZGUyBpbWFnZSBjcmVhdGlvbg0KZG9f Z2VuZXJhdGVfcndmc19zdGF0aWMoKSB7DQpyd2Rpcj0kKHB3ZCkNCnJ3ZGlyPSR7cndkaXJ9L2pm ZnMyDQppbWFnZT1yd2ZzLmpmZnMyDQoNCnJtIC1yZiAkcndkaXIgJGltYWdlID4gL2Rldi9udWxs IDI+JjENCm1rZGlyIC1wICR7cndkaXJ9L2Nvdw0KcndkaXI9JHtyd2Rpcn0vY293DQoNCmJicGxh aW4gIkRFQlVHOiBDcmVhdGluZyBSV0ZTIGltYWdlICINCg0KbXYgJHtJTUFHRV9ST09URlN9L3J3 ZnMvKiAke3J3ZGlyfS8NCnJtIC1yZiAke0lNQUdFX1JPT1RGU30vcndmcw0KDQojIENyZWF0ZSBu ZWNlc3NhcnkgZmlsZXMsIGRpcmVjdG9yaWVzLCBldGMgaW4gJHtyd2Rpcn0NCiR7SkZGUzJfUldG U19DTUR9ICR7T1ZFUkxBWV9NS0ZTX09QVFN9ICR7T1ZFUkxBWV9NS0ZTX09QVFN9IC0tc3F1YXNo LXVpZHMNCn0NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0NCg0KQXQgdGhlIGVuZCBJIGhhdmUgdGhlIG5vcm1hbCBK RkZTMiBpbWFnZSBpbnN0ZWFkIG9mIGVtcHR5Lg0KDQpIb3BlIHRoaXMgY2FuIGhlbHAuDQoNCjIx LjA0LjIwMjAsIDE4OjI0LCAiemhvdXl1YW5xaW5nOEBvdXRsb29rLmNvbSIgPHpob3V5dWFucWlu ZzhAb3V0bG9vay5jb20+Og0KSGkNCg0KICAgIFRoaXMgaXMgYSB2ZXJ5IGdvb2QgaWRlYS4gQXMg dGhlIGZpcnN0IHRpbWUgdG8gZG8gb3BlbmJtYywgSSBsb29rIGZvcndhcmQgdG8gaXQuIEN1cnJl bnRseSwgSSBhbSBiZWluZyB0cm91YmxlZCBieSB0aGUgcHJvYmxlbXMgeW91IGRlc2NyaWJlLg0K DQogICAgVGhlIGZvbGxvd2luZyBxdWVzdGlvbnMsIHBsZWFzZSBhbHNvIGhlbHAgeW91IGFuc3dl ciBpdCwgdGhhbmsgeW91IHZlcnkgbXVjaC4NCg0KICAgIDEuSSBtb2RpZmllZCB0aGUgZHRzIGZp bGUsIGhvdyB0byB1c2UgdGhlIGNvbW1hbmQgImJpdGJha2UgLWYgbGludXgtYXNwZWVkIiB0byBH ZW5lcmF0ZSBmaXRpbWFnZSBhbmQgZHVio78NCiAgICAgTm93LCBJIG1vZGlmeSB0aGUgZHRzIGZp bGUgaW4gdGhlIGtlcm5lbCBzb3VyY2UgZGlyZWN0b3J5LiBXaGVuIEkgY29tcGlsZSwgYml0YmFr ZSB3aWxsIHJlLWZldGNoIHRoZSBzb3VyY2UgY29kZSwgZGVjb21wcmVzcywgcGF0Y2gsIGNvbmZp Z3VyZSwgYW5kIGNvbXBpbGUsIGNhdXNpbmcgbXkgY2hhbmdlcyB0byBiZSBvdmVyd3JpdHRlbi4g SSBjdXJyZW50bHkgdXNlIG1hbnVhbCBjYWxsIHNjcmlwdHMgdG8gY29tcGlsZSBkdHMgZmlsZXMg YW5kIG1ha2UgaW1hZ2VzIGZvciBkZWJ1Z2dpbmcuSXMgdGhlcmUgYSB3YXkgdG8gbWFrZSBiaXRi YWtlIHNraXAgdGhlIHByZXZpb3VzIHN0ZXBzIGFuZCBjb21waWxlIGRpcmVjdGx5o78NCg0KDQog ICAgIDIuVGhlIHNpemUgb2YgaW1hZ2UtcndmcyBpcyAwLCBJIHdhbnQgdG8gdXNlIHJ3ZnMgZGVi dWdnaW5nLCBob3cgdG8gY29uZmlndXJlIHRvIGdlbmVyYXRlIGEgbm9ybWFsIGltYWdlLXJ3ZnM/ DQogICAgIC1ydy1yLS1yLS0uIDIgaGFybGV5emhvdSBoYXJsZXl6aG91ICAgICA5NDQzICAgICAg ICAgICAgIDTUwiAgICAgICAgNyAxNzoyNyBvYm1jLXBob3NwaG9yLWltYWdlLXh4aC0yMDIwMDQw NzA5MjU1OC5yb290ZnMubWFuaWZlc3QNCiAgICAgLXJ3LXItLXItLS4gMiBoYXJsZXl6aG91IGhh cmxleXpob3UgMTgyMTQ5MTIgICAgICAgICA01MIgICAgNyAxNzoyNyBvYm1jLXBob3NwaG9yLWlt YWdlLXh4aC0yMDIwMDQwNzA5MjU1OC5yb290ZnMuc3F1YXNoZnMteHoNCiAgICAgLXJ3LXJ3LXIt LS4gMiBoYXJsZXl6aG91IGhhcmxleXpob3UgMzM1NTQ0MzIgICAgICAgIDTUwiAgIDcgMTc6Mjcg b2JtYy1waG9zcGhvci1pbWFnZS14eGgtMjAyMDA0MDcwOTI1NTguc3RhdGljLm10ZA0KICAgICAt cnctcnctci0tLiAyIGhhcmxleXpob3UgaGFybGV5emhvdSAzMzU2NjcyMCAgICAgICAgNNTCICAg NyAxNzoyOCBvYm1jLXBob3NwaG9yLWltYWdlLXh4aC0yMDIwMDQwNzA5MjU1OC5zdGF0aWMubXRk LmFsbC50YXINCiAgICAgLXJ3LXJ3LXItLS4gMiBoYXJsZXl6aG91IGhhcmxleXpob3UgMjIzODQ2 NDAgICAgICAgIDTUwiAgIDcgMTc6Mjggb2JtYy1waG9zcGhvci1pbWFnZS14eGgtMjAyMDA0MDcw OTI1NTguc3RhdGljLm10ZC50YXINCiAgICAgLXJ3LXItLXItLS4gMiBoYXJsZXl6aG91IGhhcmxl eXpob3UgICAzMDgyMTggICAgICAgICAgICA01MIgICAgICA3IDE3OjI3IG9ibWMtcGhvc3Bob3It aW1hZ2UteHhoLTIwMjAwNDA3MDkyNTU4LnRlc3RkYXRhLmpzb24NCiAgICAgLXJ3LXItLXItLS4g MiBoYXJsZXl6aG91IGhhcmxleXpob3UgICAgICAgICAgIDAgICAgICAgICAgICAgICA01MIgICA3 IDE3OjI3IG9ibWMtcGhvc3Bob3ItaW1hZ2UteHhoLmpmZnMyDQoNCg0KICAgIDMuIEkgZGlkIG5v dCBmaW5kIHRoZSBzb3VyY2UgY29kZSBvZiAicGdvb2Rfd2FpdCIgYW5kICJwb3dlcl9jb250cm9s LmV4ZSIgaW4gb2JtYy1vcC1jb250cm9sLXBvd2VyPyB3aGVyZSBjYW4gSSBnZXQgaXQgPw0KDQoN CiAgICA0Lk9wZW5CTUMgdXNlcyBzeXN0ZW1kPGh0dHBzOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93 aWtpL1NvZnR3YXJlL3N5c3RlbWQvPiB0byBtYW5hZ2UgYWxsIHByb2Nlc3NlcywgU28gaSBhbmFs eXplZCB0aGUgcHJvY2VzcyBvZiBzeXN0ZW1kIHN0YXJ0aW5nIHByb2Nlc3MgYW5kIHNhdyAiZGVm YXVsdC50YXJnZXQtPiBiYXNpYy50YXJnZXQtPiBzeXNpbml0LnRhcmdldC0+IGxvY2FsLWZzLnRh cmdldCIsIHRoZXJlIGlzIG5vIGNvbnRlbnQgYmVoaW5kLnBsZWFzZSBoZWxwIHRvIHByb3ZpZGUg Y2x1ZXMgb2Ygc3lzdGVtZCBzdGFydGluZyBwcm9jZXNzLg0KDQogICAgNS5JIHVuZGVyc3RhbmQg dGhlIGZvbGxvd2luZyBleGVjdXRpb24gcHJvY2VzcyBvZiBwb3dlci1vbiAsIGhlbHAgY2hlY2sg aWYgaXQgaXMgY29ycmVjdC4NCiAgICAgICBhKS5yZXN0IG9yIGJ1c2N0bCBzZW5kIHBvd2VyLW9u IGNvbW1hbmRzIHRvIHN5c3RlbWQgdGhyb3VnaCBkLWJ1cyBtZXNzYWdlcy4NCiAgICAgICBiKS5z eXN0ZW1kIGZpbmQgdGhlIG9ibWMtY2hhc3Npcy1wb3dlcm9uQC50YXJnZXQNCiAgICAgICAgYyku c3lzdGVtZCBmaW5kIHRoZSBvYm1jLXBvd2VyLXN0YXJ0QC50YXJnZXQNCiAgICAgICAgZCkuc3lz dGVtZCBmaW5kIHRoZSBvcC1wb3dlci1zdGFydEAwLnNlcnZpY2U8bWFpbHRvOm9wLXBvd2VyLXN0 YXJ0QDAuc2VydmljZT4NCiAgICAgICAgZSkuc3lzdGVtZCBzdGFydCBhIHRocmVhZCBhbmQgZXhl Y3V0ZSAiYnVzY3RsIGNhbGwgYG1hcHBlciBnZXQtc2VydmljZSAvb3JnL29wZW5ibWMvY29udHJv bC9wb3dlciVpYCAvb3JnL29wZW5ibWMvY29udHJvbC9wb3dlciVpIG9yZy5vcGVuYm1jLmNvbnRy b2wuUG93ZXIgc2V0UG93ZXJTdGF0ZSBJIDEiDQoNCmFwcGVuZGl4o7oNCg0KbHMgb2JtYy1jaGFz c2lzLXBvd2Vyb25AMC50YXJnZXQucmVxdWlyZXM8bWFpbHRvOm9ibWMtY2hhc3Npcy1wb3dlcm9u QDAudGFyZ2V0LnJlcXVpcmVzPg0KDQpvcC1wb3dlci1zdGFydEAwLnNlcnZpYzxtYWlsdG86b3At cG93ZXItc3RhcnRAMC5zZXJ2aWM+ZSAgb3Atd2FpdC1wb3dlci1vbkAwLnNlcnZpY2U8bWFpbHRv Om9wLXdhaXQtcG93ZXItb25AMC5zZXJ2aWNlPg0KDQoNCg0KY2F0IG9ibWMtY2hhc3Npcy1wb3dl cm9uQC50YXJnZXQNCg0KW1VuaXRdDQoNCkRlc2NyaXB0aW9uPUNoYXNzaXMlaSAoUG93ZXIgT24p DQoNCldhbnRzPW11bHRpLXVzZXIudGFyZ2V0DQoNCkFmdGVyPW11bHRpLXVzZXIudGFyZ2V0DQoN CldhbnRzPW1hcHBlci13YWl0QC14eXotb3BlbmJtY19wcm9qZWN0LXN0YXRlLWNoYXNzaXMlaS5z ZXJ2aWNlPG1haWx0bzpXYW50cz1tYXBwZXItd2FpdEAteHl6LW9wZW5ibWNfcHJvamVjdC1zdGF0 ZS1jaGFzc2lzJWkuc2VydmljZT4NCg0KQWZ0ZXI9bWFwcGVyLXdhaXRALXh5ei1vcGVuYm1jX3By b2plY3Qtc3RhdGUtY2hhc3NpcyVpLnNlcnZpY2U8bWFpbHRvOkFmdGVyPW1hcHBlci13YWl0QC14 eXotb3BlbmJtY19wcm9qZWN0LXN0YXRlLWNoYXNzaXMlaS5zZXJ2aWNlPg0KDQpXYW50cz1tYXBw ZXItc3VidHJlZS1yZW1vdmVALXh5ei1vcGVuYm1jXHg1ZnByb2plY3Qtc29mdHdhcmVceDNBeHl6 Lm9wZW5ibWNfcHJvamVjdC5Tb2Z0d2FyZS5BY3RpdmF0aW9uQmxvY2tzVHJhbnNpdGlvbi5zZXJ2 aWNlDQoNCkFmdGVyPW1hcHBlci1zdWJ0cmVlLXJlbW92ZUAteHl6LW9wZW5ibWNceDVmcHJvamVj dC1zb2Z0d2FyZVx4M0F4eXoub3BlbmJtY19wcm9qZWN0LlNvZnR3YXJlLkFjdGl2YXRpb25CbG9j a3NUcmFuc2l0aW9uLnNlcnZpY2UNCg0KDQoNCmNhdCBvcC1wb3dlci1zdGFydEAwLnNlcnZpYzxt YWlsdG86b3AtcG93ZXItc3RhcnRAMC5zZXJ2aWM+ZQ0KDQpbVW5pdF0NCg0KRGVzY3JpcHRpb249 U3RhcnQgUG93ZXIlaQ0KDQpXYW50cz1vYm1jLXBvd2VyLXN0YXJ0QCVpLnRhcmdldDxtYWlsdG86 V2FudHM9b2JtYy1wb3dlci1zdGFydEAlaS50YXJnZXQ+DQoNCkJlZm9yZT1vYm1jLXBvd2VyLXN0 YXJ0QCVpLnRhcmdldDxtYWlsdG86QmVmb3JlPW9ibWMtcG93ZXItc3RhcnRAJWkudGFyZ2V0Pg0K DQpBZnRlcj1vYm1jLXBvd2VyLXN0YXJ0LXByZUAlaS50YXJnZXQ8bWFpbHRvOkFmdGVyPW9ibWMt cG93ZXItc3RhcnQtcHJlQCVpLnRhcmdldD4NCg0KQWZ0ZXI9b2JtYy1mYW4tY29udHJvbC50YXJn ZXQNCg0KV2FudHM9bWFwcGVyLXdhaXRALW9yZy1vcGVuYm1jLWNvbnRyb2wtcG93ZXIlaS5zZXJ2 aWNlPG1haWx0bzpXYW50cz1tYXBwZXItd2FpdEAtb3JnLW9wZW5ibWMtY29udHJvbC1wb3dlciVp LnNlcnZpY2U+DQoNCkFmdGVyPW1hcHBlci13YWl0QC1vcmctb3BlbmJtYy1jb250cm9sLXBvd2Vy JWkuc2VydmljZTxtYWlsdG86QWZ0ZXI9bWFwcGVyLXdhaXRALW9yZy1vcGVuYm1jLWNvbnRyb2wt cG93ZXIlaS5zZXJ2aWNlPg0KDQpbU2VydmljZV0NCg0KUmVtYWluQWZ0ZXJFeGl0PXllcw0KDQpU eXBlPW9uZXNob3QNCg0KRXhlY1N0YXJ0PS9iaW4vc2ggLWMgImJ1c2N0bCBjYWxsIGBtYXBwZXIg Z2V0LXNlcnZpY2UgL29yZy9vcGVuYm1jL2NvbnRyb2wvcG93ZXIlaWAgL29yZy9vcGVuYm1jL2Nv bnRyb2wvcG93ZXIlaSBvcmcub3BlbmJtYy5jb250cm9sLlBvd2VyIHNldFBvd2VyU3RhdGUgaSAx Ig0KDQpTeXNsb2dJZGVudGlmaWVyPW9wLXBvd2VyLXN0YXJ0DQoNCltJbnN0YWxsXQ0KDQpXYW50 ZWRCeT1vYm1jLWhvc3Qtc3RhcnRAJWkudGFyZ2V0PG1haWx0bzpXYW50ZWRCeT1vYm1jLWhvc3Qt c3RhcnRAJWkudGFyZ2V0Pg0KDQoNCg0KY2F0IG9ibWMtcG93ZXItc3RhcnRALnRhcmdldA0KDQpb VW5pdF0NCg0KRGVzY3JpcHRpb249UG93ZXIlaSBPbg0KDQpBZnRlcj1vYm1jLXBvd2VyLXN0YXJ0 LXByZUAlaS50YXJnZXQ8bWFpbHRvOkFmdGVyPW9ibWMtcG93ZXItc3RhcnQtcHJlQCVpLnRhcmdl dD4NCg0KV2FudHM9bXVsdGktdXNlci50YXJnZXQNCg0KQ29uZmxpY3RzPW9ibWMtY2hhc3Npcy1w b3dlcm9mZkAlaS50YXJnZXQ8bWFpbHRvOkNvbmZsaWN0cz1vYm1jLWNoYXNzaXMtcG93ZXJvZmZA JWkudGFyZ2V0Pg0KDQpSZWZ1c2VNYW51YWxTdGFydD15ZXMNCg0KUmVmdXNlTWFudWFsU3RvcD15 ZXMNCg0KDQpUaGFua3MNCkhhcmxleQ0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N CreivP7Iyzogb3BlbmJtYyA8b3BlbmJtYy1ib3VuY2VzK3pob3V5dWFucWluZzg9b3V0bG9vay5j b21AbGlzdHMub3psYWJzLm9yZzxtYWlsdG86b3BlbmJtYy1ib3VuY2VzK3pob3V5dWFucWluZzg9 b3V0bG9vay5jb21AbGlzdHMub3psYWJzLm9yZz4+ILT6se0gU3VpIENoZW4gPHN1aWNoZW42QGdt YWlsLmNvbTxtYWlsdG86c3VpY2hlbjZAZ21haWwuY29tPj4NCreiy83KsbzkOiAyMDIwxOo01MIy McjVIDE6MDUNCsrVvP7Iyzogb3BlbmJtY0BsaXN0cy5vemxhYnMub3JnPG1haWx0bzpvcGVuYm1j QGxpc3RzLm96bGFicy5vcmc+IDxvcGVuYm1jQGxpc3RzLm96bGFicy5vcmc8bWFpbHRvOm9wZW5i bWNAbGlzdHMub3psYWJzLm9yZz4+DQrW98ziOiBSZTogQ2FsbCBmb3IgR2FyZGVuaW5nIFRhc2tz DQoNCg0KPiBPbiBBcHIgMTEsIDIwMjAsIGF0IDg6MTUgQU0sIEFuZHJldyBHZWlzc2xlciA8Z2Vp c3NvbmF0b3IgYXQgZ21haWwuY29tPiB3cm90ZToNCg0KPiBTeXN0ZW1kIFZpc3VhbGl6YXRpb24N Cg0KPiBBbm90aGVyIGNvbXBsaWNhdGVkIGFyZWEgb2YgT3BlbkJNQyBpcyBvdXIgc3lzdGVtZCB0 YXJnZXRzIGFuZCBzZXJ2aWNlcy4gQnVpbGRpbmcgb24gdGhlIHVwc3RyZWFtIHRvb2xzIHRvIHZp c3VhbGl6ZSBvdXIgc3lzdGVtZCB0YXJnZXRzIGFuZCBzZXJ2aWNlcyB3b3VsZCBiZSB1c2VmdWwg dG8gbmV3IHBlb3BsZS4NCg0KDQoNCisxIHRvIHZpc3VhbGl6YXRpb24sIGFuZCBJIGhhdmUgYSBm ZXcgdGhvdWdodHMgb24gdGhpcyAtLS0NCg0KTXkgbGFja2luZyBhIG1lbnRhbCBtb2RlbCBvZiBo b3cgYW4gT3BlbkJNQyBzeXN0ZW0gd29ya3MgaGFkIGJlZW4gbXkgcGFpbiBwb2ludCBpbiB0aGUg Zmlyc3QgZmV3IG1vbnRocyB3b3JraW5nIHdpdGggT3BlbkJNQyAoSaGvbSBhIGJpdCBuZXcgdG8g dGhpcyBhcmVhKSwgc28gYWZ0ZXIgbGVhcm5pbmcgdGhlIG1pbmltYWwgc2V0IG9mIHN1cnZpdmFs IHNraWxscyBJIGRpZCBzb21ldGhpbmcgc2ltaWxhciB0byB3aGF0IHlvdSBtZW50aW9uZWQgQyB2 aXN1YWxpemluZyB0aGUgbWVzc2FnZXMgcGFzc2VkIGJldHdlZW4gZGlmZmVyZW50IGRidXMgcGVl cnMgKGFuZCBjb252ZW5pZW50bHksIElQTUkgdHJhZmZpYywgYXMgSVBNSS1yZWxhdGVkIGRidXMg bWVzc2FnZXMgZXhwb3NpbmcgYWxsIElQTUkgcGF5bG9hZCBjb21wcmlzZSBtb3N0IG9mIHRoZSBk YnVzIHRyYWZmaWMgb24gdGhhdCBwYXJ0aWN1bGFyIHN5c3RlbSBJIHdhcyB3b3JraW5nIG9uLikN Cg0KDQoNCkkgdGhpbmsgcGFja2V0IGFuYWx5c2lzIHRvb2xzIHN1Y2ggYXMgV2lyZXNoYXJrIGFu ZCBncmFwaGljcyBmcmFtZSBhbmFseXNpcyB0b29scyBzdWNoIGFzIFJlbmRlckRvYywgb3Igc3lz dGVtIGV2ZW50LWJhc2VkIFdpbmRvd3MgUGVyZm9ybWFuY2UgdG9vbCBsaWtlIEdQVVZpZXcgcHJv dmlkZSBncmVhdCBleGFtcGxlcyBvZiB3aGF0IHBlb3BsZSBtaWdodCBleHBlY3QgdG8gYWNoaWV2 ZSB3aXRoIGEgdmlzdWFsaXphdGlvbiB0b29sOiBjYXB0dXJlLCBpbnNwZWN0IGFuZCAoc29tZXRp bWVzKSBwbGF5YmFjaywgYWNyb3NzIG11bHRpcGxlIGxheWVycyBpbiB0aGUgc29mdHdhcmUvaGFy ZHdhcmUgc3RhY2suIE1hbnkgc2ltaWxhciBleGlzdGluZyB0b29scyBwcm9jZXNzIHNlcXVlbmNl cyBvZiBldmVudHMsIGFuZCBpbiB0aGlzIGNhc2Ugb2YgQk1DcywgdGhlIGV2ZW50cyBjb3VsZCBi ZSBkYnVzIG1lc3NhZ2VzLiBJIGZvdW5kIGEgcHJvdG90eXBlIHZpc3VhbGl6ZXIgbWFkZSBhdCB3 b3JrIGdyZWF0bHkgaGVscGZ1bCBpbiBleHBsYWluaW5nIHRvIG5ldyB0ZWFtIG1lbWJlcnMgc29t ZSBiYXNpYyBjb25jZXB0cyBhbmQgdGhlIElQTUkgc3RhY2sgb24gdGhlIEJNQy4NCg0KDQoNClRo ZSBJUE1JIHN0YWNrIGlzIGludGVyZXN0aW5nIGJlY2F1c2UgaXShr3Mgb25lIG5vdGljZWFibGUg d29ya2xvYWQgb24gdGhlIHBhcnRpY3VsYXIgQk1DIHN5c3RlbSBJIGhhZCBiZWVuIHdvcmtpbmcg b247IGluIG15IGN1cnJlbnQgbGltaXRlZCB1bmRlcnN0YW5kaW5nLCBoYXZpbmcgbG90cyBvZiBJ L08gY2FwYWJpbGl0eSB0byBjb25uZWN0IHRvIGh1bmRyZWRzIG9mIHNlbnNvcnMgaXMgb25lIG9m IHRoZSBtYW55IGZlYXR1cmVzIHRoYXQgc2V0IGFwYXJ0IGEgQk1DIGNoaXAgYW5kIGEgc2ltaWxh cmx5IHBvd2VyZnVsIHNtYXJ0cGhvbmUgY2hpcCwgYW5kIHRoZSBicm9hZCB1c2Ugb2YgZGJ1cyBp cyB3aGF0IHNldHMgYXBhcnQgT3BlbkJNQyBhbmQgdGhlIGRlc2t0b3AgTGludXggZGlzdHJvIEkg aGFkIGJlZW4gdXNpbmcuIEkgaGVhcmQgb3B0aW1pemF0aW9uIGlzIGJlc3QgZG9uZSB3b3JrbG9h ZCBieSB3b3JrbG9hZCwgcGVyaGFwcyB0aGlzIHJhdGlvbmFsZSBhcHBsaWVzIHRvIHZpc3VhbGl6 YXRpb24gdG9vPw0KDQoNCg0KSSByZWFsaXplIEkgd2FzIG1vc3RseSB0YWxraW5nIGFib3V0IHZp c3VhbGl6aW5nIHRoZSBydW4tdGltZSBzdGF0ZSBvZiB0aGUgc3lzdGVtIHJhdGhlciB0aGFuIGJ1 aWxkLXRpbWUsIGJ1dCB3ZSBjb3VsZCB2aXN1YWxpemUgdGhlIHJ1bi10aW1lIGFzcGVjdCBvZiBz eXN0ZW1kIHVuaXRzIHRvbyBzaW5jZSBJIGhhdmUgc2VlbiBtYW55IHRpbWVzIGEgZGJ1cyBtZXNz YWdlIGV2ZW50dWFsbHkgdHJpZ2dlcmluZyBhIHN5c3RlbWQgdGFyZ2V0IHRvIGFjdXRhdGUgdGhl IHN5c3RlbSwgc28gaXQgd291bGQgYmUgZ29vZCB0byBjb25zaWRlciBib3RoIGRidXMgYW5kIHN5 c3RlbWQgKGFuZCBtYXliZSBvdGhlciBwYXJ0cyBvZiB0aGUgc3lzdGVtPykgdG8gaGF2ZSBhIG1v cmUgaG9saXN0aWMgdmlldyBvZiB0aGUgQk1Doa9zIG9wZXJhdGlvbnMuDQoNCg0KDQpUaGFua3MN Cg0KU3VpDQoNCg0KDQotLQ0KQmVzdCByZWdhcmRzLA0KS29uc3RhbnRpbiBLbHVibmljaGtpbiwN CmxlYWQgZmlybXdhcmUgZW5naW5lZXIsDQpzZXJ2ZXIgaGFyZHdhcmUgUiZEIGdyb3VwLA0KWWFu ZGV4IE1vc2NvdyBvZmZpY2UuDQp0ZWw6ICs3LTkwMy01MTAtMzMtMzMNCg0K --_000_HK2PR04MB3826D8BD926FE991F3764912FED20HK2PR04MB3826apcp_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable
Thank you for the help, I will test it.


=B7=A2=BC=FE=C8=CB: Konstan= tin Klubnichkin <kitsok@yandex-team.ru>
=B7=A2=CB=CD=CA=B1=BC=E4: 2020=C4=EA4=D4=C222=C8=D5 15:25
=CA=D5=BC=FE=C8=CB: zhouyuanqing8@outlook.com <zhouyuanqing8@outl= ook.com>; Sui Chen <suichen6@gmail.com>; openbmc@lists.ozlabs.org = <openbmc@lists.ozlabs.org>
=B3=AD=CB=CD: uperic@163.com <uperic@163.com>; shinerocky@yaho= o.com <shinerocky@yahoo.com>
=D6=F7=CC=E2: Re: about power control.=BB=D8=B8=B4: Call for Gardeni= ng Tasks
 
Hello!
 
I'll try to answer your question about rwfs image.
I had the same issue plus I wanted to be able to create some data in r= wfs segment.
Thus I've created obmc-phosphor-image.bbappend where I do the followin= g:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RWFS_SIZE ?=3D "4194304"
OVERLAY_MKFS_OPTS =3D " --pad=3D${RWFS_SIZE}"
 
# Override JFFS image creation
do_generate_rwfs_static() {
rwdir=3D$(pwd)
rwdir=3D${rwdir}/jffs2
image=3Drwfs.jffs2
 
rm -rf $rwdir $image > /dev/null 2>&1
mkdir -p ${rwdir}/cow
rwdir=3D${rwdir}/cow
 
bbplain "DEBUG: Creating RWFS image "
 
mv ${IMAGE_ROOTFS}/rwfs/* ${rwdir}/
rm -rf ${IMAGE_ROOTFS}/rwfs
 
# Create necessary files, directories, etc in ${rwdir}
${JFFS2_RWFS_CMD} ${OVERLAY_MKFS_OPTS} ${OVERLAY_MKFS_OPTS} --squash-u= ids
}
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 
At the end I have the normal JFFS2 image instead of empty.
 
Hope this can help.
 
21.04.2020, 18:24, "zhouyuanqing8@outlook.com" <zhouyuanq= ing8@outlook.com>:
Hi 
 
    This is a very good idea. As the first time to do openbmc, I = look forward to it. Currently, I am being troubled by the problems you desc= ribe.
 
    The following questions, please also help you answer it,= thank you very much.
 
    1.I modified the dts file, how to use the command "bitba= ke -f linux-aspeed" to Generate fitimage and dub=A3=BF
     Now, I modify the dts file in the kernel source di= rectory. When I compile, bitbake will re-fetch the source code, decompress,= patch, configure, and compile, causing my changes to be overwritten. I cur= rently use manual call scripts to compile dts files and make images for debugging.Is there a way to make bitbake skip the prev= ious steps and compile directly=A3=BF
 
 
     2.The size of image-rwfs is 0, I want to use rwfs debug= ging, how to configure to generate a normal image-rwfs? 
     -rw-r--r--. 2 harleyzhou harleyzhou     9443 =             4=D4=C2       &nbs= p;7 17:27 obmc-phosphor-image-xxh-20200407092558.rootfs.manifest
     -rw-r--r--. 2 harleyzhou harleyzhou 18214912  = ;       4=D4=C2    7 17:27 obmc-phosphor-image-xxh-20200407092558.rootfs.squashfs-xz
     -rw-rw-r--. 2 harleyzhou harleyzhou 33554432  = ;      4=D4=C2   7 17:27 obmc-phosphor-image-xxh-20200407092558.static.mtd
     -rw-rw-r--. 2 harleyzhou harleyzhou 33566720  = ;      4=D4=C2   7 17:28 obmc-phosphor-image-xxh-20200407092558.static.mtd.all.tar
     -rw-rw-r--. 2 harleyzhou harleyzhou 22384640  = ;      4=D4=C2   7 17:28 obmc-phosphor-image-xxh-20200407092558.static.mtd.tar
     -rw-r--r--. 2 harleyzhou harleyzhou   308218 =            4=D4=C2      7 17:2= 7 obmc-phosphor-image-xxh-20200407092558.test= data.json
     -rw-r--r--. 2 harleyzhou harleyzhou     =       0               4=D4=C2   7 17:27 obmc-phos= phor-image-xxh.jffs2
 
 
    3. I did not find the source code of "pgood_wait" a= nd "power_control.exe" in obmc-op-control-power? where can I get = it ?
 
 
 
    5.I u= nderstand the following execution process of power-on , help check if it is= correct.
       a).rest or busctl send power-on commands to syst= emd through d-bus messages.
       b).systemd find the obmc-chassis-poweron@.target
        c).systemd find the obmc-power-start@.t= arget
        e).systemd start a thread and execute "busctl call `mappe= r get-service /org/openbmc/control/power%i` /org/openbmc/control/power%i or= g.openbmc.control.Power setPowerState I 1"=
 
appendix=A3=BA

ls obmc-chassis-powe= ron@0.target.requires

op= -power-start@0.servicop-wait-power-on@0.service

 

cat obmc-chassis-poweron@.target =

[Unit]

Description=3DChassis%i (Power On)

Wants=3Dmulti-user.target

After=3Dmulti-user.target

Wants=3Dmapper-wait@-xyz-openbmc_pro= ject-state-chassis%i.service

After=3Dmapper-wait@-xyz-openbmc_pro= ject-state-chassis%i.service

Wants=3Dmapper-subtree-remove@-xyz-openbmc\x5= fproject-software\x3Axyz.openbmc_project.Software.ActivationBlocksTransitio= n.service

After=3Dmapper-subtree-remove@-xyz-openbmc\x5= fproject-software\x3Axyz.openbmc_project.Software.ActivationBlocksTransitio= n.service

 

cat op-power-start@0.service&nbs= p;

[Unit]

Description=3DStart Power%i

Wants=3Dobmc-power-start@%i.target

Before=3Dobmc-power-start@%i.target

After=3Dobmc-power-start-pre@%i.target

After=3Dobmc-fan-control.target

Wants=3Dmapper-wait@-org-openbmc-control-pow= er%i.service

After=3Dmapper-wait@-org-openbmc-control-pow= er%i.service

[Service]

RemainAfterExit=3Dyes

Type=3Doneshot

ExecStart=3D/bin/sh -c "busctl call `map= per get-service /org/openbmc/control/power%i` /org/openbmc/control/power%i = org.openbmc.control.Power setPowerState i 1"

SyslogIdentifier=3Dop-power-start

[Install]

WantedBy=3Dobmc-host-start@%i.target

 

cat obmc-power-start@.target 

[Unit]

Description=3DPower%i On

After=3Dobmc-power-start-pre@%i.target

Wants=3Dmulti-user.target

Conflicts=3Dobmc-chassis-poweroff@%i.target

RefuseManualStart=3Dyes

RefuseManualStop=3Dyes

 
Thanks
Harley

=B7=A2=BC=FE=C8=CB: openbmc <openbmc-b= ounces+zhouyuanqing8=3Doutlook.com@lists.ozlabs.org> =B4=FA=B1= =ED Sui Chen <suichen6@gmail.com>
=B7=A2=CB=CD=CA=B1=BC=E4: 2020=C4=EA4=D4=C221=C8=D5 1:05 =CA=D5=BC=FE=C8=CB: openbmc@lists.ozlabs.org <openbmc@lists.ozlabs.org>
=D6=F7=CC=E2: Re: Call for Gardening Tasks
 

> On Apr 11, 2020, at 8:15 AM, Andrew Geissler <= geissonator at gmail.com> wrote:

> Systemd Visualization

> Another complicated area of OpenBMC is our system= d targets and services. Building on the upstream tools to visualize our sys= temd targets and services would be useful to new people.

 

+1 to visualization, and = I have a few thoughts on this ---

My lacking a mental model of = how an OpenBMC system works had been my pain point in the first few months = working with OpenBMC (I=A1=AFm a bit new to this area), so after learning t= he minimal set of survival skills I did something similar to what you mentioned C visualizing the messages passed between di= fferent dbus peers (and conveniently, IPMI traffic, as IPMI-related dbus me= ssages exposing all IPMI payload comprise most of the dbus traffic on that = particular system I was working on.)

 

I think packet analysis tools= such as Wireshark and graphics frame analysis tools such as RenderDoc, or = system event-based Windows Performance tool like GPUView provide great exam= ples of what people might expect to achieve with a visualization tool: capture, inspect and (sometimes) playba= ck, across multiple layers in the software/hardware stack. Many similar exi= sting tools process sequences of events, and in this case of BMCs, the even= ts could be dbus messages. I found a prototype visualizer made at work greatly helpful in explaining to new t= eam members some basic concepts and the IPMI stack on the BMC.

 

The IPMI stack is interesting= because it=A1=AFs one noticeable workload on the particular BMC system I h= ad been working on; in my current limited understanding, having lots of I/O= capability to connect to hundreds of sensors is one of the many features that set apart a BMC chip and a similarly powe= rful smartphone chip, and the broad use of dbus is what sets apart OpenBMC = and the desktop Linux distro I had been using. I heard optimization is best= done workload by workload, perhaps this rationale applies to visualization too?

 

I realize I was mostly talkin= g about visualizing the run-time state of the system rather than build-time= , but we could visualize the run-time aspect of systemd units too since I h= ave seen many times a dbus message eventually triggering a systemd target to acutate the system, so it would be good to = consider both dbus and systemd (and maybe other parts of the system?) to ha= ve a more holistic view of the BMC=A1=AFs operations.

 

Thanks

Sui

 
 
-- 
Best regards,
Konstantin Klubnichkin,
lead firmware engineer,
server hardware R&D group,
Yandex Moscow office.
tel: +7-903-510-33-33
 
--_000_HK2PR04MB3826D8BD926FE991F3764912FED20HK2PR04MB3826apcp_-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::335; helo=mail-ot1-x335.google.com; envelope-from=kurt.r.taylor@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=PNyPciPe; dkim-atps=neutral Received: from mail-ot1-x335.google.com (mail-ot1-x335.google.com [IPv6:2607:f8b0:4864:20::335]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 496hxq3w2NzDqpf for ; Thu, 23 Apr 2020 00:04:15 +1000 (AEST) Received: by mail-ot1-x335.google.com with SMTP id e26so2098408otr.2 for ; Wed, 22 Apr 2020 07:04:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=oKDYuladfMHYv7YAajInk9lev4P7gtAmD0cywck/jwg=; b=PNyPciPekm2z6cGs1Q8HsJh+D6iKBtOzZoDdsdSpmaML6wXYo3sYXWLT+x0YAydAu1 M3WRk0e7ULEovzY9y+FF9DkEcc4kiN54HEiLDk8L/zB2dUbfDbJIaZuVMfEEgOvhwyQn 4v0/0lVviqn6Mbfswj/YBYKUl0VCopEu1ClkSfQyqCNcOOLRh1xzTWYFS9wEl5vN8Eyo rRTDs92QVwbi51T2K3cOuJ992lZ2TwytJvVXNUenH5CGKDPErdupOT0ExO+mA5hJ/DCK UQii/+3eqo646MwxwEvIfXmcKnJvci9/G+Mjz0dLF5itaIiPxx2PIzri7Ag502Qt2EfP KI8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=oKDYuladfMHYv7YAajInk9lev4P7gtAmD0cywck/jwg=; b=LT1L6vCr+FZ425f+UPPmsb2sb8cIYeMJOG1OiaMkqsg10cCqCUm2P/kydkyGFEEsi/ 4ZhFWNBkbUD0aOpewSf7/TyxupxvsZeHWIOSGYM/vH5TD/AJJRtAFmc+78Xku68H3TTF gwsEY8DKoCnSx2xI6VEPyAQfXtamSvh4VGUHLxmp4+gV/Q9kMfHM2Jl7HyhEPmwUnE5p lrGKOLggSds5Yy1DXNwS6ixrLsDvHCHjGIYkeH1WM532DHHEJPua8+cgdZdv1ZbNhGJJ E3xpQgJyu2v70Bj+FNDAkFFTXIGyqp13Q00zKG42eCZp38xBD7qnq5NdtH8e6nO/azfv /rXA== X-Gm-Message-State: AGi0PuZ01Y51rMqDG3xHnl0ICYmUH9jiSGbsyIKNr9JjhzsH/XirLdMm 9kd1QaTsdAY1//IR95RQRY34fbpV X-Google-Smtp-Source: APiQypJIS/ym7EKNjbTxQNYHuXlS6BgpX/PuWv9y301ZUCrVWR8m8dUminlCVzmX7xJwGbaK2gC6CA== X-Received: by 2002:a9d:12f6:: with SMTP id g109mr18246980otg.0.1587564251141; Wed, 22 Apr 2020 07:04:11 -0700 (PDT) Received: from krtaylors-MacBook-Pro.local (072-182-100-019.res.spectrum.com. [72.182.100.19]) by smtp.gmail.com with ESMTPSA id h65sm1533188oth.34.2020.04.22.07.04.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 22 Apr 2020 07:04:09 -0700 (PDT) Subject: Re: Call for Gardening Tasks To: Richard Hanley Cc: "openbmc@lists.ozlabs.org" References: <5e9dd66f.1c69fb81.45fc6.0118@mx.google.com> From: krtaylor Message-ID: Date: Wed, 22 Apr 2020 09:04:08 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Apr 2020 14:04:15 -0000 On 4/21/20 6:18 PM, Richard Hanley wrote: > Thank you everyone for your suggestions. > > Scanning through this it's clear that documentation is one of the > biggest most generally agreed upon area to work on. > > Build tools and package management seems like another area with some > agreed on improvements. I like the idea of moving to meson. Getting tidy > files and revising our style guides also sound like good ideas. I also > really agree that we could stand to do some consolidation of > processes/repos. > > There is also some use for DBus tooling for both improved code, and for > visualizations. > > So here are my next steps: >   1) Since we have some new people getting started, I've asked them to > add documentation at the points they get stuck during on-boarding. >   2) I'm going to take the ideas in this thread and put together a .md > doc with any relevant information I can find. I'll be adding it to > openbmc/docs. That would work, but I would also suggest a wiki page. Docs have a tendency to get stale quickly, where a wiki page has a lower pain point for a small changes. I can get that started if it would help. Kurt Taylor (krtaylor) >   3) I'll follow up in another thread about some of the ideas around > DBus tooling and package consolidation. That seems to be an area where > most people agree some improvements can be made, but I'm not sure there > is an agreement on how we should do it. > > -Richard > > > > On Mon, Apr 20, 2020 at 10:19 AM Sui Chen > wrote: > > > On Apr 11, 2020, at 8:15 AM, Andrew Geissler > wrote: > > > Systemd Visualization > > > Another complicated area of OpenBMC is our systemd targets and services. Building on the upstream tools to visualize our systemd targets and services would be useful to new people. > > __ __ > > +1 to visualization, and I have a few thoughts on this ---____ > > My lacking a mental model of how an OpenBMC system works had been my > pain point in the first few months working with OpenBMC (I’m a bit > new to this area), so after learning the minimal set of survival > skills I did something similar to what you mentioned – visualizing > the messages passed between different dbus peers (and conveniently, > IPMI traffic, as IPMI-related dbus messages exposing all IPMI > payload comprise most of the dbus traffic on that particular system > I was working on.)____ > > __ __ > > I think packet analysis tools such as Wireshark and graphics frame > analysis tools such as RenderDoc, or system event-based Windows > Performance tool like GPUView provide great examples of what people > might expect to achieve with a visualization tool: capture, inspect > and (sometimes) playback, across multiple layers in the > software/hardware stack. Many similar existing tools process > sequences of events, and in this case of BMCs, the events could be > dbus messages. I found a prototype visualizer made at work greatly > helpful in explaining to new team members some basic concepts and > the IPMI stack on the BMC.____ > > __ __ > > The IPMI stack is interesting because it’s one noticeable workload > on the particular BMC system I had been working on; in my current > limited understanding, having lots of I/O capability to connect to > hundreds of sensors is one of the many features that set apart a BMC > chip and a similarly powerful smartphone chip, and the broad use of > dbus is what sets apart OpenBMC and the desktop Linux distro I had > been using. I heard optimization is best done workload by workload, > perhaps this rationale applies to visualization too?____ > > __ __ > > I realize I was mostly talking about visualizing the run-time state > of the system rather than build-time, but we could visualize the > run-time aspect of systemd units too since I have seen many times a > dbus message eventually triggering a systemd target to acutate the > system, so it would be good to consider both dbus and systemd (and > maybe other parts of the system?) to have a more holistic view of > the BMC’s operations.____ > > __ __ > > Thanks____ > > Sui____ > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=aj.id.au (client-ip=66.111.4.28; helo=out4-smtp.messagingengine.com; envelope-from=andrew@aj.id.au; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=aj.id.au Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=aj.id.au header.i=@aj.id.au header.a=rsa-sha256 header.s=fm2 header.b=uPsY6/K6; dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.a=rsa-sha256 header.s=fm2 header.b=K8MFie4O; dkim-atps=neutral Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4973Dn0q5PzDqwB for ; Thu, 23 Apr 2020 13:48:24 +1000 (AEST) Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 78B3B5C028A; Wed, 22 Apr 2020 23:48:21 -0400 (EDT) Received: from imap25 ([10.202.2.75]) by compute3.internal (MEProxy); Wed, 22 Apr 2020 23:48:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aj.id.au; h= mime-version:message-id:in-reply-to:references:date:from:to:cc :subject:content-type:content-transfer-encoding; s=fm2; bh=dqhB4 u2mYmbl3WP2ZrGFlEEt29pugGZP43tvXXSrbtg=; b=uPsY6/K6RGLkIQUE3sFZf NTw0fRA0EnhFQ+UqKXVpA3KDdkRdJedHo7nJ0UeCdcf5XZkxY4wh/ud7TXWMKH+R T/VyOSg9GpmMiam4rgp0qYQ8v67uhLHPOi4XBUN89xFRXkZ7ypxHvwsXwwrOpETI HQ7b9Tmf6F7CTjq75QZrCdcNloD4FXpwH7VOgbv43P445w7UIyIfwb5XHZTBN5/A 9/IAGFIdNZqp375QJTcoDU30XafDG7QNaWnBiBbEtqVElWkGQnaDnUQgUmv7h/C+ 8tYk2erEBgA2qrtS1E8P4D4vNw0h9p2SxXBHyRVV1z2s8s84DX6wrmNjR6fmCZ9q A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=dqhB4u2mYmbl3WP2ZrGFlEEt29pugGZP43tvXXSrb tg=; b=K8MFie4O7FcSc52iv1zjc08kXtlnnt7oTlQxH0O9OXWi+fxaueKVWH9U7 HKj4WpEJyPpuA8ENd/mCMqfkjYq0gDGAEskfAnEwkVyc5d9+KUyuypx5WbMb4oxZ A9SSauxkSVNofhcYqP82XGgcFYYyFEWmwsJFbTSYF7AeLJK67od0RgSLipQfJFez 8PsTbKzBmYOt0aOkkQf2w/j4k76R2WCrY118jlX1EHDv6Jyn6vmvGQHV5S26I5c9 cULn6vWfmm1FFccpjWxTDIeG+cXHlC1peIAVkAX46wU9T+SxH/p3ThhNT1qtC04p nPbRRPQ3OWtO/L9A4gKDx5yIFn7zw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrgeekgdejudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvufgtgfesthhqredtreerjeenucfhrhhomhepfdetnhgu rhgvficulfgvfhhfvghrhidfuceorghnughrvgifsegrjhdrihgurdgruheqnecuffhomh grihhnpeihohgtthhophhrohhjvggtthdrohhrghenucevlhhushhtvghrufhiiigvpedt necurfgrrhgrmhepmhgrihhlfhhrohhmpegrnhgurhgvfiesrghjrdhiugdrrghu X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 8AA24BC00C3; Wed, 22 Apr 2020 23:48:20 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.3.0-dev0-351-g9981f4f-fmstable-20200421v1 Mime-Version: 1.0 Message-Id: <1e8ef9af-f417-46ec-b657-2997c4b4beac@www.fastmail.com> In-Reply-To: References: <5e9dd66f.1c69fb81.45fc6.0118@mx.google.com> Date: Thu, 23 Apr 2020 13:18:55 +0930 From: "Andrew Jeffery" To: "zhouyuanqing8@outlook.com" , "Sui Chen" , "openbmc@lists.ozlabs.org" Cc: "uperic@163.com" , "shinerocky@yahoo.com" Subject: =?UTF-8?Q?Re:_about_power_control.=E5=9B=9E=E5=A4=8D:_Call_for_Gardening?= =?UTF-8?Q?_Tasks?= Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Apr 2020 03:48:25 -0000 On Wed, 22 Apr 2020, at 00:20, zhouyuanqing8@outlook.com wrote: > Hi=20 >=20 > This is a very good idea. As the first time to do openbmc, I look=20 > forward to it. Currently, I am being troubled by the problems you=20 > describe. >=20 > The following questions, please also help you answer it, thank you ve= ry much. >=20 > 1.I modified the dts file, how to use the command "bitbake -f=20 > linux-aspeed" to Generate fitimage and dub=EF=BC=9F > Now, I modify the dts file in the kernel source directory. When I=20 > compile, bitbake will re-fetch the source code, decompress, patch,=20 > configure, and compile, causing my changes to be overwritten. I=20 > currently use manual call scripts to compile dts files and make images= =20 > for debugging.Is there a way to make bitbake skip the previous steps=20= > and compile directly=EF=BC=9F Two approaches here: 1. Use `devtool`[1], (`devtool modify linux-aspeed`), and then hack on the source that gets extracted 2. Use your own fork of the kernel hack the linux-aspeed recipe to point= to your local repo. [1] https://www.yoctoproject.org/docs/2.0/dev-manual/dev-manual.html#dev= -modifying-source-code Diverging further, you can just build your own kernel out of your kernel= source tree and netboot it on the BMC (either hardware or qemu). It depends on what your needs are, but netbooting is great for doing kernel= development and testing (as opposed to building images to be deployed). >=20 >=20 > 2.The size of image-rwfs is 0, I want to use rwfs debugging, how to=20= > configure to generate a normal image-rwfs?=20 > -rw-r--r--. 2 harleyzhou harleyzhou 9443 4=E6=9C=88 7 17:27=20 > obmc-phosphor-image-xxh-20200407092558.rootfs.manifest > -rw-r--r--. 2 harleyzhou harleyzhou 18214912 4=E6=9C=88 7 17:27=20 > obmc-phosphor-image-xxh-20200407092558.rootfs.squashfs-xz > -rw-rw-r--. 2 harleyzhou harleyzhou 33554432 4=E6=9C=88 7 17:27=20 > obmc-phosphor-image-xxh-20200407092558.static.mtd > -rw-rw-r--. 2 harleyzhou harleyzhou 33566720 4=E6=9C=88 7 17:28=20 > obmc-phosphor-image-xxh-20200407092558.static.mtd.all.tar > -rw-rw-r--. 2 harleyzhou harleyzhou 22384640 4=E6=9C=88 7 17:28=20 > obmc-phosphor-image-xxh-20200407092558.static.mtd.tar > -rw-r--r--. 2 harleyzhou harleyzhou 308218 4=E6=9C=88 7 17:27=20 > obmc-phosphor-image-xxh-20200407092558.testdata.json > -rw-r--r--. 2 harleyzhou harleyzhou 0 4=E6=9C=88 7 17:27=20 > obmc-phosphor-image-xxh.jffs2 As long as the flash partition is erased jffs2 will be happy to mount it= , so depending on your circumstances you may not need any data in image-rwfs. Hope that helps, Andrew From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=aj.id.au (client-ip=64.147.123.25; helo=wout2-smtp.messagingengine.com; envelope-from=andrew@aj.id.au; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=aj.id.au Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=aj.id.au header.i=@aj.id.au header.a=rsa-sha256 header.s=fm2 header.b=g4Z+M24g; dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.a=rsa-sha256 header.s=fm2 header.b=zCXbpNvA; dkim-atps=neutral Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com [64.147.123.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4973SG3H0TzDqwt for ; Thu, 23 Apr 2020 13:58:21 +1000 (AEST) Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 4219E6DC; Wed, 22 Apr 2020 23:58:18 -0400 (EDT) Received: from imap25 ([10.202.2.75]) by compute3.internal (MEProxy); Wed, 22 Apr 2020 23:58:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aj.id.au; h= mime-version:message-id:in-reply-to:references:date:from:to :subject:content-type; s=fm2; bh=p+m/+UPttgZQXTr5AmYDtMbbP0ENlQm aduo5RsQ+1T0=; b=g4Z+M24g8gW+6N24pzNS1+stAlDIVCc0S3hUQ0E6BROrq2p ccMWAcs91OHonAK/lxFeR9A8vitKOigyhhFg7Ba390Y9c/+XliI6FtnweCdJ2GUo QW7gwChKWzAWqMyy4TZQbmW1ALvOc0ArOsgSI9ayaj8p62E6Fy1xaCjtUcAlPiPF kzrrWVpmaJcSoLVqQi+e2q8s1jfLHLgtPYLgnRHa2G86DqiQWjDVwAOa6tKqgnPg 9c0F6I4Dc7UScExgQI/XUDNA6b3YkaUcTb48DHjUz1TxkHFf5dpyW0EB480s42OK oHfkIqN1gLiX7hRU/pqn+B4+vj8YT5UkdImzJ2w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=p+m/+U PttgZQXTr5AmYDtMbbP0ENlQmaduo5RsQ+1T0=; b=zCXbpNvAaEryX/CzaNPV+x j87/vi9GnZgcC5VDL1JT+DHBShP/CLY2MyWreKt/D5M8TWLtnXr7qXHAsrNe/8TF 22r+GYH9clp3lhlmOZnSJzHPjAg/DjA5YXlUANf0DIarQhus+5N1AX4jsW53evXl P8KdvwKk+ePQEUn3TXry7b2hz6cnl1iWeyZk/ZEMtXzZl9jKHZ0/Gd6zgMk/SdBk 7RwYv4en2jYsQ2FL2uLJo/Xgr6R86k3rbiE9j3yYHQaRTXU+PLftpvfjmXk4ATeD JWBR7YqdtrfKE02cncNXaIvxlLXsPVHF/KUG3WzZ95QHbHVqAlDn1btc0X4cHaSw == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrgeekgdejfecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvufgtsehttdertderredtnecuhfhrohhmpedftehnughr vgifucflvghffhgvrhihfdcuoegrnhgurhgvfiesrghjrdhiugdrrghuqeenucffohhmrg hinhepghhithhhuhgsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghm pehmrghilhhfrhhomheprghnughrvgifsegrjhdrihgurdgruh X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 37A68BC00C3; Wed, 22 Apr 2020 23:58:17 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.3.0-dev0-351-g9981f4f-fmstable-20200421v1 Mime-Version: 1.0 Message-Id: In-Reply-To: <5e9dd66f.1c69fb81.45fc6.0118@mx.google.com> References: <5e9dd66f.1c69fb81.45fc6.0118@mx.google.com> Date: Thu, 23 Apr 2020 13:28:51 +0930 From: "Andrew Jeffery" To: "Sui Chen" , "openbmc@lists.ozlabs.org" Subject: Re: Call for Gardening Tasks Content-Type: text/plain X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Apr 2020 03:58:23 -0000 On Tue, 21 Apr 2020, at 02:35, Sui Chen wrote: > > On Apr 11, 2020, at 8:15 AM, Andrew Geissler wrote: > > > > I think packet analysis tools such as Wireshark and graphics frame > analysis tools such as RenderDoc, or system event-based Windows > Performance tool like GPUView provide great examples of what people > might expect to achieve with a visualization tool: capture, inspect and > (sometimes) playback, across multiple layers in the software/hardware > stack. Many similar existing tools process sequences of events, and in > this case of BMCs, the events could be dbus messages. I found a > prototype visualizer made at work greatly helpful in explaining to new > team members some basic concepts and the IPMI stack on the BMC. > Not really a visualisation tool, but I'm going to plug my dbus pcap parser here - it's helped me analyse a number of silly problems of dbus interactions between a number of applications: https://github.com/openbmc/openbmc-tools/blob/master/amboar/obmc-scripts/dbus-pcap/dbus-pcap It desperately needs a README, but you can slice and dice `busctl capture` output with DBus filter specifications, and if you like dump the output as json for further processing. Andrew