From 983cc2c0d2695afe7b33f73c94229e7b491f44ad Mon Sep 17 00:00:00 2001 From: GHA Date: Wed, 24 Jul 2024 00:46:04 +0000 Subject: [PATCH] update ebc9984dc7b7341b63b90577d6074c43cbc47ad5 --- .buildinfo | 4 + .nojekyll | 0 _sources/index.md.txt | 11 + _sources/introduction.md.txt | 8 + _sources/protoplaster.md.txt | 62 ++ _sources/readme.md.txt | 258 ++++++ _sources/report.md.txt | 13 + _sources/system_report.md.txt | 7 + _static/dmesg.out | 594 +++++++++++++ .../0053ba6958e79f26751eabb555bd73d0.woff2 | Bin 0 -> 4728 bytes .../029e176ad602329b4434892101db9cf3.woff2 | Bin 0 -> 6044 bytes .../07ff82964967feebb9c96288e0e0df05.woff2 | Bin 0 -> 13588 bytes .../0948409a22b5979aa7e1ec20da9e61f1.woff2 | Bin 0 -> 5604 bytes .../0a0ad0eae50e549ecd713b9ad417f1a1.woff2 | Bin 0 -> 4888 bytes .../0b68e8634c96265eb32a0c769416b5b0.woff2 | Bin 0 -> 5928 bytes .../0d1b73eee266eabb2cff35dfa4ce25a3.woff2 | Bin 0 -> 16812 bytes .../0e1f73c6737cdf273efb4b79504e4c0a.woff2 | Bin 0 -> 13076 bytes .../0e326670106c8eb6a11a8c30734ecfc8.ttf | Bin 0 -> 23124 bytes .../0ec3cc19652785204ea2e322330f0f1b.woff2 | Bin 0 -> 16164 bytes .../0f303f31706d39866cced9dcc17b61fb.woff2 | Bin 0 -> 15764 bytes .../101522bafe9c61c68698ecc784607772.woff2 | Bin 0 -> 9712 bytes .../10b31f4cad9ea78d43449886bfbb88ac.woff2 | Bin 0 -> 11804 bytes .../1181a8e619707033241139715eca64c6.woff2 | Bin 0 -> 9672 bytes .../122802d03aed4bf8cd6a03997a97aca4.woff2 | Bin 0 -> 6020 bytes .../1383417807f7965daaf94e7c497dcddb.woff2 | Bin 0 -> 7704 bytes .../144860ed1e48e186f08997e6388a9c3f.woff2 | Bin 0 -> 1512 bytes .../1488146d8b2e9859d6c90e6c2b48f7ef.woff2 | Bin 0 -> 6340 bytes .../1512b579343c6b61c7523cdd838d8328.ttf | Bin 0 -> 23416 bytes .../1c9cc76fd52238330f0aabac35acd2ca.woff2 | Bin 0 -> 6936 bytes .../1f1481679a64a39f3427547aa1b13f0f.woff2 | Bin 0 -> 5032 bytes .../2096d27efc16cbdd79183bf295c8ebde.ttf | Bin 0 -> 21352 bytes .../20dc200cc43ab904876fb0c1697ebe39.woff2 | Bin 0 -> 1480 bytes .../214adfc289a2f2af8b0008c59ed0c7f2.woff2 | Bin 0 -> 4652 bytes .../21953b998bab09c1f60c599caee56378.woff2 | Bin 0 -> 7696 bytes .../22aadc77cafa07b2db9ed560d0320616.woff2 | Bin 0 -> 13200 bytes .../2325b97b584755067ea4f7f56ee05430.woff2 | Bin 0 -> 8348 bytes .../2550c2e2d8495c3ed2d4d52f824374f1.woff2 | Bin 0 -> 7040 bytes .../255cf41e0317d95e3992683a76ef28a8.woff2 | Bin 0 -> 4976 bytes .../25c52b9af13f0d1b10719f5289e8c803.woff2 | Bin 0 -> 7476 bytes .../2781e9e7c3f369b8fc7965e679b17b60.woff2 | Bin 0 -> 11756 bytes .../28e6b81b1bc1964707edd4179e4268f5.ttf | Bin 0 -> 23416 bytes .../2a8c422bef4a7099e99dbf0e61ed5e49.woff2 | Bin 0 -> 7460 bytes .../2aadfad5aee7ceeaf4eb0924efabe5b4.ttf | Bin 0 -> 21772 bytes .../2c0f74be498d2da814c0a84dd6833f70.woff2 | Bin 0 -> 15092 bytes .../2e10480d4154762bc7c8fbb40877e104.woff2 | Bin 0 -> 5928 bytes .../2ea7a97b7c976b121112a088eb398561.woff2 | Bin 0 -> 7700 bytes .../2f5c32f094829c0278bce28fe2bbe074.ttf | Bin 0 -> 23204 bytes .../2f7c3c315334a99574ee4ceb21af654d.woff2 | Bin 0 -> 7544 bytes .../302b0425bf5ea66f37a822a61d723adc.ttf | Bin 0 -> 25112 bytes .../3177dacffeac1eb4102852811ae4a2c7.woff2 | Bin 0 -> 6236 bytes .../3254c528e2ab56454a9f22191035c5fe.ttf | Bin 0 -> 21356 bytes .../32c8a74ac0816253d69a7cc68a60986d.woff2 | Bin 0 -> 12764 bytes .../33c5d27ca0eaeb12ebe728ae2fc7106d.woff2 | Bin 0 -> 15360 bytes .../36e39c6463ae1c71c71e69c05e593e1b.woff2 | Bin 0 -> 4588 bytes .../3728fbdd191d75bad5b83a838dfe2fc1.woff2 | Bin 0 -> 9840 bytes .../38f3ee1f96b758f95672c632d8759594.ttf | Bin 0 -> 23172 bytes .../392ff374142585f7b886ee1fe66e686e.woff2 | Bin 0 -> 6560 bytes .../3a38c967413f7bce36d3baefc321aade.woff2 | Bin 0 -> 5468 bytes .../3c23eb02de6b34e30f18cfb7167abd81.woff2 | Bin 0 -> 11872 bytes .../3c505383d37d2078648e37868bbd1fad.woff2 | Bin 0 -> 14684 bytes .../3cf78ad3bcd1324e10a4acdc34bfc4a1.woff2 | Bin 0 -> 17552 bytes .../3f1918538864f9681d47a4538d48289c.woff2 | Bin 0 -> 5876 bytes .../4039566f251699c4b421ed1a38a59b24.woff2 | Bin 0 -> 4688 bytes .../4207cbc8cb7bc2cbd0bcce565298cbbc.woff2 | Bin 0 -> 9768 bytes .../43358c04243de546caddd0898dbf0757.woff2 | Bin 0 -> 14004 bytes .../435e4b7f9f250d9d9243d4754799fc96.woff2 | Bin 0 -> 15000 bytes .../437939342255944b82a49f916404c5fc.woff2 | Bin 0 -> 6516 bytes .../455c2c1af0a2bf20047a1864d7d7c174.woff2 | Bin 0 -> 7120 bytes .../47aa3bfad6cb9e2d63abdd58f4e6ce4f.woff2 | Bin 0 -> 9576 bytes .../495d38d4b9741e8aa4204002414069e2.woff2 | Bin 0 -> 9628 bytes .../4c815fdc869f885520f7c8eae6730edf.woff2 | Bin 0 -> 16608 bytes .../4ec57f2a80b91090971b83970230ca09.woff2 | Bin 0 -> 5548 bytes .../4f17f22fc6bff4f3333ccf7ed7126e6d.woff2 | Bin 0 -> 1464 bytes .../4f93c2808e3b69e525c118074e5de31f.woff2 | Bin 0 -> 14184 bytes .../50aacf068f685be0dd903a91d5bab7d8.woff2 | Bin 0 -> 1508 bytes .../51f3f41805329fb8341beb56ded833ea.woff2 | Bin 0 -> 5468 bytes .../52f28cb4d065b4adfa78df4f9559c639.woff2 | Bin 0 -> 7392 bytes .../555ceea3a65ffbbecf8b7e6d04966c7f.woff2 | Bin 0 -> 14128 bytes .../5989ef3a21d7f252337ab3326f78bde7.woff2 | Bin 0 -> 4780 bytes .../5b6377da4c959db6d4b22738a27f1bee.woff2 | Bin 0 -> 1432 bytes .../5ce47d5195e59af38114d0b70217baf2.woff2 | Bin 0 -> 14024 bytes .../5d7ff31ac7bf945e8d61878f8a941239.woff2 | Bin 0 -> 1460 bytes .../5dc0e4b14e903ba7f45c581df7402b3f.woff2 | Bin 0 -> 14072 bytes .../60eb682678bbea5e8ad71f66f2f65536.woff2 | Bin 0 -> 10284 bytes .../63111d307c01b52ffccf7b0319cb7917.woff2 | Bin 0 -> 1540 bytes .../638764dc2513deb09c55fc025f6dd36c.woff2 | Bin 0 -> 9180 bytes .../63f4b74ebf127dbeb033126ea988f54e.woff2 | Bin 0 -> 7520 bytes .../64a6b4e954cf84685cbf8de77eb47344.woff2 | Bin 0 -> 12572 bytes .../661d4b208656c006e7aab58acf778485.woff2 | Bin 0 -> 17336 bytes .../6725a7e91680edd1cdc9ed5c26ac05fd.woff2 | Bin 0 -> 14224 bytes .../6a84eeee6a25e7c9a8a03191007a6720.woff2 | Bin 0 -> 9644 bytes .../6ac1ee292434fac2313c42b0dfb7897c.ttf | Bin 0 -> 23488 bytes .../6ad3f6bbe6220cc476a0d3c731d3fb04.ttf | Bin 0 -> 23672 bytes .../6be97ca17228a69c406231d89c003194.woff2 | Bin 0 -> 17032 bytes .../6de03a64aa8100032abc6e836b3ed803.ttf | Bin 0 -> 23520 bytes .../6deb20301c65a96db17c433ad0cf8158.woff2 | Bin 0 -> 10640 bytes .../6f8d857c5a8545e67de6b60aa0fe5c33.woff2 | Bin 0 -> 12740 bytes .../713780d8b30bda5583052ea847cdcb4f.woff2 | Bin 0 -> 7016 bytes .../71e06579279fba7436d58a1c49288909.ttf | Bin 0 -> 25364 bytes .../765bd4a97597a4d7781193793477a6cd.ttf | Bin 0 -> 25224 bytes .../76945c7494c20515bb45d1dedab8f706.woff2 | Bin 0 -> 10428 bytes .../76da333ab59c6d625cabfb0768f82b4a.woff2 | Bin 0 -> 1464 bytes .../770518db51bed1e082feecc532cfcbf8.woff2 | Bin 0 -> 7404 bytes .../77b24796a3d4ab521f66765651875338.woff2 | Bin 0 -> 5560 bytes .../77ff81100e5a1db3d925f713660700ad.woff2 | Bin 0 -> 4748 bytes .../78a9265759e7b861a1639a36f4c01d04.woff2 | Bin 0 -> 13860 bytes .../7af61b2367eba2b1852e837c46a75696.woff2 | Bin 0 -> 12848 bytes .../7b63598dcc2a26583b82594bd0e36d5b.woff2 | Bin 0 -> 5760 bytes .../7b8c2179b6b778308d2ff39bdb82e926.woff2 | Bin 0 -> 6012 bytes .../7e262106f82cc52663e403f5b73795bb.woff2 | Bin 0 -> 15752 bytes .../7f1c829b0c90fd664a03bb714a74f7d3.woff2 | Bin 0 -> 11800 bytes .../7fa86b886bee5d6ab420a8e89b9f3052.ttf | Bin 0 -> 23724 bytes .../8007dfe835cfb201b8caaa9651098588.woff2 | Bin 0 -> 1428 bytes .../83614c36460a4a9734968789cb535de7.woff2 | Bin 0 -> 5020 bytes .../84e959dd07f302392f0ffd86f87db888.ttf | Bin 0 -> 21452 bytes .../85a41b80c5fdc14e3dc48636a30d87dd.woff2 | Bin 0 -> 5884 bytes .../870e5928dd14fcfe0ce9386107666774.woff2 | Bin 0 -> 6040 bytes .../8898c4b754d5d96c1a5e1b1d54100554.woff2 | Bin 0 -> 6404 bytes .../89b4f174a5a728d2d8c85b87990c9ab4.ttf | Bin 0 -> 23420 bytes .../8a8dca39f24b52e89e6fd6dcd8b6dd32.woff2 | Bin 0 -> 7476 bytes .../8aa562790559d61dd5178a88a296d70f.ttf | Bin 0 -> 23252 bytes .../8c3798e37724f71bc0c63c44a5307413.woff2 | Bin 0 -> 7012 bytes .../8c49ed8b472d38d3985ec9bbbccea601.ttf | Bin 0 -> 21560 bytes .../8e48cf20cf9f9e5feb7197c79028132b.woff2 | Bin 0 -> 14688 bytes .../9095d663e4d450059bcc2260bb75cd62.woff2 | Bin 0 -> 4696 bytes .../90ebb29b5cffa197b184773983ba7e91.woff2 | Bin 0 -> 13188 bytes .../93b6c99d936df38895a0d95e3ffea2fd.woff2 | Bin 0 -> 9556 bytes .../9582ced8a675bf267cc7ac392a86413e.woff2 | Bin 0 -> 12704 bytes .../99be4d68845d66c27c7f7d3a48687b66.woff2 | Bin 0 -> 7616 bytes .../99cf36e763be9cce7b4c59b91841af58.woff2 | Bin 0 -> 8280 bytes .../9a9bf2d91ebbb1b96eab8eb0b0514bcc.woff2 | Bin 0 -> 4896 bytes .../9bcbc88b33b2efc2aee821b831499f1c.woff2 | Bin 0 -> 8320 bytes .../9c9be791a58af8a04c611ca1d13f51c6.woff2 | Bin 0 -> 5088 bytes .../9fdb12ceee3a402d3a54afe354552459.woff2 | Bin 0 -> 9700 bytes .../a6933e678530b263486fa7b185a449ca.woff2 | Bin 0 -> 10292 bytes .../a6caf7b9888eb0c382948c1ca5e8bebb.woff2 | Bin 0 -> 16676 bytes .../a70ff2592da5e3453943f727633aff54.woff2 | Bin 0 -> 6344 bytes .../aa28d99c7db60ad23f96a5c317615c42.woff2 | Bin 0 -> 13696 bytes .../aab05142e0e2dadf7df633e061e612ad.woff2 | Bin 0 -> 14136 bytes .../ab03beb9091fa15ce4e783199e076bc6.woff2 | Bin 0 -> 8300 bytes .../ac848474638236e67a64bc654fb18de0.ttf | Bin 0 -> 21464 bytes .../acaac043ca238f0e56e61864456777fa.woff2 | Bin 0 -> 12620 bytes .../aeed0e51b0bac7c89e5c7e6cf086d7e0.woff2 | Bin 0 -> 14968 bytes .../b019538234514166ec7665359d097403.woff2 | Bin 0 -> 15920 bytes .../b076e86301cbee8c5c9aef51863a9c0a.woff2 | Bin 0 -> 11796 bytes .../b19ac4e57f2a56639eebd1c35319e5a7.woff2 | Bin 0 -> 17060 bytes .../b4d3c40a77fd9e35a881a79077957055.woff2 | Bin 0 -> 14172 bytes .../b4e42731e8d667ae87c3450c345754ae.woff2 | Bin 0 -> 5996 bytes .../b57a5ada789f195d5d42f4073a6cf313.woff2 | Bin 0 -> 9960 bytes .../b5b4146d87e5d22d0a4e0d04f3ee5626.woff2 | Bin 0 -> 1512 bytes .../b7ef2cd1159a8cbfd271ff2abe07f237.woff2 | Bin 0 -> 15344 bytes .../b93199bb6f964f190f4da04ecdbaf5a4.woff2 | Bin 0 -> 15076 bytes .../bb8007225d94a099cddbade7ea904667.woff2 | Bin 0 -> 17508 bytes .../bc67bba106323289ea3eda0826de1912.ttf | Bin 0 -> 25404 bytes .../bcd47c2f3649cfcaa86a08fb741255d6.woff2 | Bin 0 -> 13944 bytes .../bd0efe13f0d9d591b337ddc7f289f494.woff2 | Bin 0 -> 15204 bytes .../bd51fb0ca67e64c809ffcf7e1370f969.woff2 | Bin 0 -> 8420 bytes .../bdbb6b52604c2451fdcba9cdfd44f4e1.woff2 | Bin 0 -> 5972 bytes .../bf2ad3287f13eb7076cccb516ec2986f.ttf | Bin 0 -> 23456 bytes .../bfd1a0c9c783e84595589f33e1828a57.woff2 | Bin 0 -> 12832 bytes .../c13b34dd5b6a35b309944b61c91b2ace.woff2 | Bin 0 -> 8408 bytes .../c22066c14662d6c80415ae04c5dd9d51.woff2 | Bin 0 -> 14780 bytes .../c28a41f656599f6694528b5463c6a445.woff2 | Bin 0 -> 12980 bytes .../c6dc61b627bbc5af9130518297bd4f17.ttf | Bin 0 -> 23720 bytes .../c8a9fd4eab4e83382cc66fde70911b41.woff2 | Bin 0 -> 10076 bytes .../ca7eea0cf248d6e8442c01074765bd33.woff2 | Bin 0 -> 5388 bytes .../cadfb311297a9362b07fab73934b432a.ttf | Bin 0 -> 25380 bytes .../cbfd26d5bcf084ee407a0b2b7599e84b.woff2 | Bin 0 -> 9524 bytes .../ccdebed88064e470c15f37c432922e57.woff2 | Bin 0 -> 16024 bytes .../cce2217cc8323fe49789adefb3596291.woff2 | Bin 0 -> 12980 bytes .../cd3d1f17e048e2116f438bd7157baccf.woff2 | Bin 0 -> 9504 bytes .../d07f561ba87d93460742b060727d9e0d.woff2 | Bin 0 -> 10276 bytes .../d368cf5bed7856dbafa2af36b51acb9c.woff2 | Bin 0 -> 1484 bytes .../d422317033deb87342a5e56c7be67458.ttf | Bin 0 -> 25444 bytes .../d6f9cdf1a40893111566fcdee3bbe5a9.woff2 | Bin 0 -> 14060 bytes .../d98f35e926c11f3d5c0c8e3205d43907.ttf | Bin 0 -> 25360 bytes .../d9e6a498dac7e9e91f6e0b4f8930eba0.woff2 | Bin 0 -> 10532 bytes .../da6cd48e6dad1888fccc91735e7522f7.woff2 | Bin 0 -> 10652 bytes .../daf12b5f1889502004bba85ad71f9fa4.woff2 | Bin 0 -> 7540 bytes .../daf51ab540602b2d0b87646621637bac.woff2 | Bin 0 -> 7112 bytes .../db0424fb67fb52e7e538490240cc7fb9.woff2 | Bin 0 -> 17368 bytes .../dc25cbf4baaf778bd8ae78fbc0e79479.woff2 | Bin 0 -> 14052 bytes .../dd719f1662079ce6a61260f9af972379.woff2 | Bin 0 -> 9876 bytes .../de018865c95896bb57265fc97c48ebd7.woff2 | Bin 0 -> 8108 bytes .../e33716333704ab19fdf9989e072ad49a.woff2 | Bin 0 -> 5928 bytes .../e56cc9fb5272752b78f144b4be43175d.woff2 | Bin 0 -> 7608 bytes .../e704ef18719c08839bc99a32437ef0f8.woff2 | Bin 0 -> 16700 bytes .../e99627cd27de169d23ece4573006af2a.woff2 | Bin 0 -> 15304 bytes .../ef8f0236a7e8b46bc9d642ecf4ab0cb7.woff2 | Bin 0 -> 1500 bytes .../f154d62b4879af7a22895af7a4ef03f0.woff2 | Bin 0 -> 10276 bytes .../f17ee050ada0453f3bd07bc466c2dde2.woff2 | Bin 0 -> 10564 bytes .../f265cee675c0e5b2d6ab263d0edcc754.woff2 | Bin 0 -> 14856 bytes .../f2f69e8cd15fdd15a4244c95ec8a8514.woff2 | Bin 0 -> 10344 bytes .../f534242dea2255c25b9d05c2371986e3.woff2 | Bin 0 -> 6380 bytes .../f53f3b5a15d717b6d21d7885285e90ed.woff2 | Bin 0 -> 12864 bytes .../f55dac651a40fce74a5cf5728d9f8ffc.woff2 | Bin 0 -> 9784 bytes .../f5aebdfea35d1e7656ef4acc5db1f243.woff2 | Bin 0 -> 15860 bytes .../f5f971e9640a9eb86ef553a7e7e999c7.woff2 | Bin 0 -> 6048 bytes .../f6734f8177112c0839b961f96d813fcb.woff2 | Bin 0 -> 15744 bytes .../f75911313e1c7802c23345ab57e754d8.woff2 | Bin 0 -> 15740 bytes .../fb17f56622e45dd4ecee00bb5c63cd2b.woff2 | Bin 0 -> 4580 bytes .../fb1aaa90783b8cb9375265abeb91b153.woff2 | Bin 0 -> 15336 bytes .../fc66f942651a9fe1a598770d3d896529.woff2 | Bin 0 -> 11824 bytes _static/ip.out | 22 + _static/language_data.js | 199 +++++ ..._immaterial_theme.1b5b7a2d5891aec19.min.js | 27 + ...immaterial_theme.af531f03affe68837.min.css | 4 + _static/static/logo.svg | 54 ++ _static/static/summary_downtriangle.svg | 3 + _static/static/summary_x_backslash.svg | 3 + _static/static/summary_x_slash.svg | 3 + _static/style.css | 251 ++++++ _static/system_report_summary.html | 263 ++++++ _static/uname.out | 1 + _static/white.svg | 54 ++ genindex.html | 408 +++++++++ index.html | 450 ++++++++++ introduction.html | 455 ++++++++++ objects.inv | 6 + protoplaster--docs-example.pdf | Bin 0 -> 188871 bytes protoplaster.html | 542 ++++++++++++ readme.html | 825 ++++++++++++++++++ report.html | 527 +++++++++++ searchindex.js | 1 + system_report.html | 467 ++++++++++ 225 files changed, 5522 insertions(+) create mode 100644 .buildinfo create mode 100644 .nojekyll create mode 100644 _sources/index.md.txt create mode 100644 _sources/introduction.md.txt create mode 100644 _sources/protoplaster.md.txt create mode 100644 _sources/readme.md.txt create mode 100644 _sources/report.md.txt create mode 100644 _sources/system_report.md.txt create mode 100644 _static/dmesg.out create mode 100644 _static/fonts/0053ba6958e79f26751eabb555bd73d0.woff2 create mode 100644 _static/fonts/029e176ad602329b4434892101db9cf3.woff2 create mode 100644 _static/fonts/07ff82964967feebb9c96288e0e0df05.woff2 create mode 100644 _static/fonts/0948409a22b5979aa7e1ec20da9e61f1.woff2 create mode 100644 _static/fonts/0a0ad0eae50e549ecd713b9ad417f1a1.woff2 create mode 100644 _static/fonts/0b68e8634c96265eb32a0c769416b5b0.woff2 create mode 100644 _static/fonts/0d1b73eee266eabb2cff35dfa4ce25a3.woff2 create mode 100644 _static/fonts/0e1f73c6737cdf273efb4b79504e4c0a.woff2 create mode 100644 _static/fonts/0e326670106c8eb6a11a8c30734ecfc8.ttf create mode 100644 _static/fonts/0ec3cc19652785204ea2e322330f0f1b.woff2 create mode 100644 _static/fonts/0f303f31706d39866cced9dcc17b61fb.woff2 create mode 100644 _static/fonts/101522bafe9c61c68698ecc784607772.woff2 create mode 100644 _static/fonts/10b31f4cad9ea78d43449886bfbb88ac.woff2 create mode 100644 _static/fonts/1181a8e619707033241139715eca64c6.woff2 create mode 100644 _static/fonts/122802d03aed4bf8cd6a03997a97aca4.woff2 create mode 100644 _static/fonts/1383417807f7965daaf94e7c497dcddb.woff2 create mode 100644 _static/fonts/144860ed1e48e186f08997e6388a9c3f.woff2 create mode 100644 _static/fonts/1488146d8b2e9859d6c90e6c2b48f7ef.woff2 create mode 100644 _static/fonts/1512b579343c6b61c7523cdd838d8328.ttf create mode 100644 _static/fonts/1c9cc76fd52238330f0aabac35acd2ca.woff2 create mode 100644 _static/fonts/1f1481679a64a39f3427547aa1b13f0f.woff2 create mode 100644 _static/fonts/2096d27efc16cbdd79183bf295c8ebde.ttf create mode 100644 _static/fonts/20dc200cc43ab904876fb0c1697ebe39.woff2 create mode 100644 _static/fonts/214adfc289a2f2af8b0008c59ed0c7f2.woff2 create mode 100644 _static/fonts/21953b998bab09c1f60c599caee56378.woff2 create mode 100644 _static/fonts/22aadc77cafa07b2db9ed560d0320616.woff2 create mode 100644 _static/fonts/2325b97b584755067ea4f7f56ee05430.woff2 create mode 100644 _static/fonts/2550c2e2d8495c3ed2d4d52f824374f1.woff2 create mode 100644 _static/fonts/255cf41e0317d95e3992683a76ef28a8.woff2 create mode 100644 _static/fonts/25c52b9af13f0d1b10719f5289e8c803.woff2 create mode 100644 _static/fonts/2781e9e7c3f369b8fc7965e679b17b60.woff2 create mode 100644 _static/fonts/28e6b81b1bc1964707edd4179e4268f5.ttf create mode 100644 _static/fonts/2a8c422bef4a7099e99dbf0e61ed5e49.woff2 create mode 100644 _static/fonts/2aadfad5aee7ceeaf4eb0924efabe5b4.ttf create mode 100644 _static/fonts/2c0f74be498d2da814c0a84dd6833f70.woff2 create mode 100644 _static/fonts/2e10480d4154762bc7c8fbb40877e104.woff2 create mode 100644 _static/fonts/2ea7a97b7c976b121112a088eb398561.woff2 create mode 100644 _static/fonts/2f5c32f094829c0278bce28fe2bbe074.ttf create mode 100644 _static/fonts/2f7c3c315334a99574ee4ceb21af654d.woff2 create mode 100644 _static/fonts/302b0425bf5ea66f37a822a61d723adc.ttf create mode 100644 _static/fonts/3177dacffeac1eb4102852811ae4a2c7.woff2 create mode 100644 _static/fonts/3254c528e2ab56454a9f22191035c5fe.ttf create mode 100644 _static/fonts/32c8a74ac0816253d69a7cc68a60986d.woff2 create mode 100644 _static/fonts/33c5d27ca0eaeb12ebe728ae2fc7106d.woff2 create mode 100644 _static/fonts/36e39c6463ae1c71c71e69c05e593e1b.woff2 create mode 100644 _static/fonts/3728fbdd191d75bad5b83a838dfe2fc1.woff2 create mode 100644 _static/fonts/38f3ee1f96b758f95672c632d8759594.ttf create mode 100644 _static/fonts/392ff374142585f7b886ee1fe66e686e.woff2 create mode 100644 _static/fonts/3a38c967413f7bce36d3baefc321aade.woff2 create mode 100644 _static/fonts/3c23eb02de6b34e30f18cfb7167abd81.woff2 create mode 100644 _static/fonts/3c505383d37d2078648e37868bbd1fad.woff2 create mode 100644 _static/fonts/3cf78ad3bcd1324e10a4acdc34bfc4a1.woff2 create mode 100644 _static/fonts/3f1918538864f9681d47a4538d48289c.woff2 create mode 100644 _static/fonts/4039566f251699c4b421ed1a38a59b24.woff2 create mode 100644 _static/fonts/4207cbc8cb7bc2cbd0bcce565298cbbc.woff2 create mode 100644 _static/fonts/43358c04243de546caddd0898dbf0757.woff2 create mode 100644 _static/fonts/435e4b7f9f250d9d9243d4754799fc96.woff2 create mode 100644 _static/fonts/437939342255944b82a49f916404c5fc.woff2 create mode 100644 _static/fonts/455c2c1af0a2bf20047a1864d7d7c174.woff2 create mode 100644 _static/fonts/47aa3bfad6cb9e2d63abdd58f4e6ce4f.woff2 create mode 100644 _static/fonts/495d38d4b9741e8aa4204002414069e2.woff2 create mode 100644 _static/fonts/4c815fdc869f885520f7c8eae6730edf.woff2 create mode 100644 _static/fonts/4ec57f2a80b91090971b83970230ca09.woff2 create mode 100644 _static/fonts/4f17f22fc6bff4f3333ccf7ed7126e6d.woff2 create mode 100644 _static/fonts/4f93c2808e3b69e525c118074e5de31f.woff2 create mode 100644 _static/fonts/50aacf068f685be0dd903a91d5bab7d8.woff2 create mode 100644 _static/fonts/51f3f41805329fb8341beb56ded833ea.woff2 create mode 100644 _static/fonts/52f28cb4d065b4adfa78df4f9559c639.woff2 create mode 100644 _static/fonts/555ceea3a65ffbbecf8b7e6d04966c7f.woff2 create mode 100644 _static/fonts/5989ef3a21d7f252337ab3326f78bde7.woff2 create mode 100644 _static/fonts/5b6377da4c959db6d4b22738a27f1bee.woff2 create mode 100644 _static/fonts/5ce47d5195e59af38114d0b70217baf2.woff2 create mode 100644 _static/fonts/5d7ff31ac7bf945e8d61878f8a941239.woff2 create mode 100644 _static/fonts/5dc0e4b14e903ba7f45c581df7402b3f.woff2 create mode 100644 _static/fonts/60eb682678bbea5e8ad71f66f2f65536.woff2 create mode 100644 _static/fonts/63111d307c01b52ffccf7b0319cb7917.woff2 create mode 100644 _static/fonts/638764dc2513deb09c55fc025f6dd36c.woff2 create mode 100644 _static/fonts/63f4b74ebf127dbeb033126ea988f54e.woff2 create mode 100644 _static/fonts/64a6b4e954cf84685cbf8de77eb47344.woff2 create mode 100644 _static/fonts/661d4b208656c006e7aab58acf778485.woff2 create mode 100644 _static/fonts/6725a7e91680edd1cdc9ed5c26ac05fd.woff2 create mode 100644 _static/fonts/6a84eeee6a25e7c9a8a03191007a6720.woff2 create mode 100644 _static/fonts/6ac1ee292434fac2313c42b0dfb7897c.ttf create mode 100644 _static/fonts/6ad3f6bbe6220cc476a0d3c731d3fb04.ttf create mode 100644 _static/fonts/6be97ca17228a69c406231d89c003194.woff2 create mode 100644 _static/fonts/6de03a64aa8100032abc6e836b3ed803.ttf create mode 100644 _static/fonts/6deb20301c65a96db17c433ad0cf8158.woff2 create mode 100644 _static/fonts/6f8d857c5a8545e67de6b60aa0fe5c33.woff2 create mode 100644 _static/fonts/713780d8b30bda5583052ea847cdcb4f.woff2 create mode 100644 _static/fonts/71e06579279fba7436d58a1c49288909.ttf create mode 100644 _static/fonts/765bd4a97597a4d7781193793477a6cd.ttf create mode 100644 _static/fonts/76945c7494c20515bb45d1dedab8f706.woff2 create mode 100644 _static/fonts/76da333ab59c6d625cabfb0768f82b4a.woff2 create mode 100644 _static/fonts/770518db51bed1e082feecc532cfcbf8.woff2 create mode 100644 _static/fonts/77b24796a3d4ab521f66765651875338.woff2 create mode 100644 _static/fonts/77ff81100e5a1db3d925f713660700ad.woff2 create mode 100644 _static/fonts/78a9265759e7b861a1639a36f4c01d04.woff2 create mode 100644 _static/fonts/7af61b2367eba2b1852e837c46a75696.woff2 create mode 100644 _static/fonts/7b63598dcc2a26583b82594bd0e36d5b.woff2 create mode 100644 _static/fonts/7b8c2179b6b778308d2ff39bdb82e926.woff2 create mode 100644 _static/fonts/7e262106f82cc52663e403f5b73795bb.woff2 create mode 100644 _static/fonts/7f1c829b0c90fd664a03bb714a74f7d3.woff2 create mode 100644 _static/fonts/7fa86b886bee5d6ab420a8e89b9f3052.ttf create mode 100644 _static/fonts/8007dfe835cfb201b8caaa9651098588.woff2 create mode 100644 _static/fonts/83614c36460a4a9734968789cb535de7.woff2 create mode 100644 _static/fonts/84e959dd07f302392f0ffd86f87db888.ttf create mode 100644 _static/fonts/85a41b80c5fdc14e3dc48636a30d87dd.woff2 create mode 100644 _static/fonts/870e5928dd14fcfe0ce9386107666774.woff2 create mode 100644 _static/fonts/8898c4b754d5d96c1a5e1b1d54100554.woff2 create mode 100644 _static/fonts/89b4f174a5a728d2d8c85b87990c9ab4.ttf create mode 100644 _static/fonts/8a8dca39f24b52e89e6fd6dcd8b6dd32.woff2 create mode 100644 _static/fonts/8aa562790559d61dd5178a88a296d70f.ttf create mode 100644 _static/fonts/8c3798e37724f71bc0c63c44a5307413.woff2 create mode 100644 _static/fonts/8c49ed8b472d38d3985ec9bbbccea601.ttf create mode 100644 _static/fonts/8e48cf20cf9f9e5feb7197c79028132b.woff2 create mode 100644 _static/fonts/9095d663e4d450059bcc2260bb75cd62.woff2 create mode 100644 _static/fonts/90ebb29b5cffa197b184773983ba7e91.woff2 create mode 100644 _static/fonts/93b6c99d936df38895a0d95e3ffea2fd.woff2 create mode 100644 _static/fonts/9582ced8a675bf267cc7ac392a86413e.woff2 create mode 100644 _static/fonts/99be4d68845d66c27c7f7d3a48687b66.woff2 create mode 100644 _static/fonts/99cf36e763be9cce7b4c59b91841af58.woff2 create mode 100644 _static/fonts/9a9bf2d91ebbb1b96eab8eb0b0514bcc.woff2 create mode 100644 _static/fonts/9bcbc88b33b2efc2aee821b831499f1c.woff2 create mode 100644 _static/fonts/9c9be791a58af8a04c611ca1d13f51c6.woff2 create mode 100644 _static/fonts/9fdb12ceee3a402d3a54afe354552459.woff2 create mode 100644 _static/fonts/a6933e678530b263486fa7b185a449ca.woff2 create mode 100644 _static/fonts/a6caf7b9888eb0c382948c1ca5e8bebb.woff2 create mode 100644 _static/fonts/a70ff2592da5e3453943f727633aff54.woff2 create mode 100644 _static/fonts/aa28d99c7db60ad23f96a5c317615c42.woff2 create mode 100644 _static/fonts/aab05142e0e2dadf7df633e061e612ad.woff2 create mode 100644 _static/fonts/ab03beb9091fa15ce4e783199e076bc6.woff2 create mode 100644 _static/fonts/ac848474638236e67a64bc654fb18de0.ttf create mode 100644 _static/fonts/acaac043ca238f0e56e61864456777fa.woff2 create mode 100644 _static/fonts/aeed0e51b0bac7c89e5c7e6cf086d7e0.woff2 create mode 100644 _static/fonts/b019538234514166ec7665359d097403.woff2 create mode 100644 _static/fonts/b076e86301cbee8c5c9aef51863a9c0a.woff2 create mode 100644 _static/fonts/b19ac4e57f2a56639eebd1c35319e5a7.woff2 create mode 100644 _static/fonts/b4d3c40a77fd9e35a881a79077957055.woff2 create mode 100644 _static/fonts/b4e42731e8d667ae87c3450c345754ae.woff2 create mode 100644 _static/fonts/b57a5ada789f195d5d42f4073a6cf313.woff2 create mode 100644 _static/fonts/b5b4146d87e5d22d0a4e0d04f3ee5626.woff2 create mode 100644 _static/fonts/b7ef2cd1159a8cbfd271ff2abe07f237.woff2 create mode 100644 _static/fonts/b93199bb6f964f190f4da04ecdbaf5a4.woff2 create mode 100644 _static/fonts/bb8007225d94a099cddbade7ea904667.woff2 create mode 100644 _static/fonts/bc67bba106323289ea3eda0826de1912.ttf create mode 100644 _static/fonts/bcd47c2f3649cfcaa86a08fb741255d6.woff2 create mode 100644 _static/fonts/bd0efe13f0d9d591b337ddc7f289f494.woff2 create mode 100644 _static/fonts/bd51fb0ca67e64c809ffcf7e1370f969.woff2 create mode 100644 _static/fonts/bdbb6b52604c2451fdcba9cdfd44f4e1.woff2 create mode 100644 _static/fonts/bf2ad3287f13eb7076cccb516ec2986f.ttf create mode 100644 _static/fonts/bfd1a0c9c783e84595589f33e1828a57.woff2 create mode 100644 _static/fonts/c13b34dd5b6a35b309944b61c91b2ace.woff2 create mode 100644 _static/fonts/c22066c14662d6c80415ae04c5dd9d51.woff2 create mode 100644 _static/fonts/c28a41f656599f6694528b5463c6a445.woff2 create mode 100644 _static/fonts/c6dc61b627bbc5af9130518297bd4f17.ttf create mode 100644 _static/fonts/c8a9fd4eab4e83382cc66fde70911b41.woff2 create mode 100644 _static/fonts/ca7eea0cf248d6e8442c01074765bd33.woff2 create mode 100644 _static/fonts/cadfb311297a9362b07fab73934b432a.ttf create mode 100644 _static/fonts/cbfd26d5bcf084ee407a0b2b7599e84b.woff2 create mode 100644 _static/fonts/ccdebed88064e470c15f37c432922e57.woff2 create mode 100644 _static/fonts/cce2217cc8323fe49789adefb3596291.woff2 create mode 100644 _static/fonts/cd3d1f17e048e2116f438bd7157baccf.woff2 create mode 100644 _static/fonts/d07f561ba87d93460742b060727d9e0d.woff2 create mode 100644 _static/fonts/d368cf5bed7856dbafa2af36b51acb9c.woff2 create mode 100644 _static/fonts/d422317033deb87342a5e56c7be67458.ttf create mode 100644 _static/fonts/d6f9cdf1a40893111566fcdee3bbe5a9.woff2 create mode 100644 _static/fonts/d98f35e926c11f3d5c0c8e3205d43907.ttf create mode 100644 _static/fonts/d9e6a498dac7e9e91f6e0b4f8930eba0.woff2 create mode 100644 _static/fonts/da6cd48e6dad1888fccc91735e7522f7.woff2 create mode 100644 _static/fonts/daf12b5f1889502004bba85ad71f9fa4.woff2 create mode 100644 _static/fonts/daf51ab540602b2d0b87646621637bac.woff2 create mode 100644 _static/fonts/db0424fb67fb52e7e538490240cc7fb9.woff2 create mode 100644 _static/fonts/dc25cbf4baaf778bd8ae78fbc0e79479.woff2 create mode 100644 _static/fonts/dd719f1662079ce6a61260f9af972379.woff2 create mode 100644 _static/fonts/de018865c95896bb57265fc97c48ebd7.woff2 create mode 100644 _static/fonts/e33716333704ab19fdf9989e072ad49a.woff2 create mode 100644 _static/fonts/e56cc9fb5272752b78f144b4be43175d.woff2 create mode 100644 _static/fonts/e704ef18719c08839bc99a32437ef0f8.woff2 create mode 100644 _static/fonts/e99627cd27de169d23ece4573006af2a.woff2 create mode 100644 _static/fonts/ef8f0236a7e8b46bc9d642ecf4ab0cb7.woff2 create mode 100644 _static/fonts/f154d62b4879af7a22895af7a4ef03f0.woff2 create mode 100644 _static/fonts/f17ee050ada0453f3bd07bc466c2dde2.woff2 create mode 100644 _static/fonts/f265cee675c0e5b2d6ab263d0edcc754.woff2 create mode 100644 _static/fonts/f2f69e8cd15fdd15a4244c95ec8a8514.woff2 create mode 100644 _static/fonts/f534242dea2255c25b9d05c2371986e3.woff2 create mode 100644 _static/fonts/f53f3b5a15d717b6d21d7885285e90ed.woff2 create mode 100644 _static/fonts/f55dac651a40fce74a5cf5728d9f8ffc.woff2 create mode 100644 _static/fonts/f5aebdfea35d1e7656ef4acc5db1f243.woff2 create mode 100644 _static/fonts/f5f971e9640a9eb86ef553a7e7e999c7.woff2 create mode 100644 _static/fonts/f6734f8177112c0839b961f96d813fcb.woff2 create mode 100644 _static/fonts/f75911313e1c7802c23345ab57e754d8.woff2 create mode 100644 _static/fonts/fb17f56622e45dd4ecee00bb5c63cd2b.woff2 create mode 100644 _static/fonts/fb1aaa90783b8cb9375265abeb91b153.woff2 create mode 100644 _static/fonts/fc66f942651a9fe1a598770d3d896529.woff2 create mode 100644 _static/ip.out create mode 100644 _static/language_data.js create mode 100644 _static/sphinx_immaterial_theme.1b5b7a2d5891aec19.min.js create mode 100644 _static/sphinx_immaterial_theme.af531f03affe68837.min.css create mode 100644 _static/static/logo.svg create mode 100644 _static/static/summary_downtriangle.svg create mode 100644 _static/static/summary_x_backslash.svg create mode 100644 _static/static/summary_x_slash.svg create mode 100644 _static/style.css create mode 100644 _static/system_report_summary.html create mode 100644 _static/uname.out create mode 100644 _static/white.svg create mode 100644 genindex.html create mode 100644 index.html create mode 100644 introduction.html create mode 100644 objects.inv create mode 100644 protoplaster--docs-example.pdf create mode 100644 protoplaster.html create mode 100644 readme.html create mode 100644 report.html create mode 100644 searchindex.js create mode 100644 system_report.html diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 0000000..4536331 --- /dev/null +++ b/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: bdc9fe5f9af8f48270429efb5837bccc +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/_sources/index.md.txt b/_sources/index.md.txt new file mode 100644 index 0000000..80322af --- /dev/null +++ b/_sources/index.md.txt @@ -0,0 +1,11 @@ +# {{project}} + +```{toctree} +:maxdepth: 2 + +introduction +readme +protoplaster +report +system_report +``` diff --git a/_sources/introduction.md.txt b/_sources/introduction.md.txt new file mode 100644 index 0000000..5bc41c1 --- /dev/null +++ b/_sources/introduction.md.txt @@ -0,0 +1,8 @@ +# Introduction + +This documentation serves as an example of how individual projects documentation can look like. + +The second chapter contains information from the README file. + +The last chapter is generated from the sample ``test.yml`` file which can be found in the README. +Its purpose is to demonstrate the documentation generated to describe test procedures used in a project. diff --git a/_sources/protoplaster.md.txt b/_sources/protoplaster.md.txt new file mode 100644 index 0000000..28994a2 --- /dev/null +++ b/_sources/protoplaster.md.txt @@ -0,0 +1,62 @@ +Protoplaster tests +================== + +```{note} + This page has been autogenerated from a Protoplaster tests definition file. +``` + +To perform hardware/BSP tests and open-source [Protoplaster](https://github.com/antmicro/protoplaster) framework has been used. + +Running Protoplaster runs the tests described in the following chapters: + +I2C devices tests +----------------- + +This module provides tests dedicated to i2c devices on specific buses: + +* /dev/i2c-0: + + * detection test for *Sensor name* on address: `0x3c` + + +* /dev/i2c-0: + + * detection test for *I2C-bus multiplexer* on address: `0x70` + + + +Camera sensor tests +------------------- + +This module provides tests dedicated to V4L devices on specific video node: + +* /dev/video0: + + * try to capture frame + + * check if the camera sensor name is `vivid` + + * check if the camera sensor driver name is `vivid` + + +* /dev/video2: + + * try to capture frameand store it to `frame.raw` file + + * check if the camera sensor name is `vivid` + + * check if the camera sensor driver name is `vivid` + + + +GPIOs tests +----------- + +This module provides tests dedicated to GPIO on specific pin number + +* /sys/class/gpio/gpio20: + + * write `1` and read back to confirm + + + diff --git a/_sources/readme.md.txt b/_sources/readme.md.txt new file mode 100644 index 0000000..dffcab0 --- /dev/null +++ b/_sources/readme.md.txt @@ -0,0 +1,258 @@ +# Protoplaster + +Copyright (c) 2022-2024 [Antmicro](https://www.antmicro.com) + +An automated framework for platform testing (Hardware and BSPs). + +Currently includes tests for: + +* I2C +* GPIO +* Camera +* FPGA + +## Installation +```bash +pip install git+https://github.com/antmicro/protoplaster.git +``` + +## Usage + +``` +usage: protoplaster [-h] [-t TEST_FILE] [-g GROUP] [--list-groups] [-o OUTPUT] [--csv CSV] [--csv-columns CSV_COLUMNS] [--generate-docs] [-c CUSTOM_TESTS] + +options: + -h, --help show this help message and exit + -t TEST_FILE, --test-file TEST_FILE + Path to the test yaml description + -g GROUP, --group GROUP + Group to execute + --list-groups List possible groups to execute + -o OUTPUT, --output OUTPUT + A junit-xml style report of the tests results + --csv CSV Generate a CSV report of the tests results + --csv-columns CSV_COLUMNS + Comma-separated list of columns to be included in generated CSV + --generate-docs Generate documentation + -c CUSTOM_TESTS, --custom-tests CUSTOM_TESTS + Path to the custom tests sources + --report-output REPORT_OUTPUT + Proplaster report archive + --system-report-config SYSTEM_REPORT_CONFIG + Path to the system report yaml config file + --sudo Run as sudo +``` + +Protoplaster expects a yaml file describing tests as an input. The yaml file should have a structure specified as follows: + + +```yaml +base: # A group specifier + i2c: # A module specifier + - bus: 0 # An interface specifier + devices: # Multiple instances of devices can be defined in one module + - name: "Sensor name" + address: 0x3c # The given device parameters determine which tests will be run for the module + - bus: 0 + devices: + - name: "I2C-bus multiplexer" + address: 0x70 + camera: + - device: "/dev/video0" + camera_name: "vivid" + driver_name: "vivid" + - device: "/dev/video2" + camera_name: "vivid" + driver_name: "vivid" + save_file: "frame.raw" +additional: + gpio: + - number: 20 + value: 1 +``` + +### Groups +In the YAML file, you can define different groups of tests to run them for different use cases. +In the YAML file example, there are two groups defined: base and additional. +Protoplaster, when run without a defined group, will execute every test in each group. +When the group is specified with the parameter `-g` or `--group`, only the tests in the specified group are going to be run. +You can also list existing groups in the YAML file, simply run `protoplaster --list-groups test.yaml`. + +## Base modules parameters +Each base module requires parameters for test initialization. +These parameters describe the tests and are passed to the test class as its attributes. + +### I2C +Required parameters: + +* `bus` - i2c bus to be checked +* `name` - name of device to be detected +* `address` - address of the device to be detected on the indicated bus + +### GPIO +Required parameters: + +* `number` - GPIO pin number +* `value` - value written to that pin + +Optional parameters: + +* `gpio_name` - name of the sysfs GPIO interface after exporting + +### Cameras +Required parameters: + +* `device` - path to the camera device (eg. /dev/video0) +* `camera_name` - expected camera name +* `driver_name` - expected driver name + +Optional parameters: + +* `save_file` - a path which the tested frame is saved to (the frame is saved only if this parameter is present) + +### FPGA +Required parameters: + +* `sysfs_interface` - path to a sysfs interface for flashing the bitstream to the FPGA +* `bitstream_path` - path to a test bitstream that is going to be flashed + +## Writing additional modules +Apart from base modules available in Protoplaster, you can provide your own extended modules. +The module should contain a `test.py` file in the root path. +This file should contain a test class that is decorated with `ModuleName("")` from the `protoplaster.conf.module` package. +This decorator tells Protoplaster what the name of the module is. +With this information, Protoplaster can correctly initialize the test parameters. +The test class should contain a `name()` method. Its return value is used for the `device_name` field in CSV output. + +The description of the external module should be added to the YAML file as for other tests. +By default, external modules are expected in the `/etc/protoplaster` directory. +If you want to store them in a different path, use the `--custom-tests` argument to set your own path. +Individual tests run by Protoplaster should be present in the main class in the `test.py` file. +The class's name should start with `Test`, and every test's name in this class should also start with `test`. +An example of an extended module test: + +```python +from protoplaster.conf.module import ModuleName + +@ModuleName("additional_camera") +class TestAdditionalCamera: + """ + {% macro TestAdditionalCamera(prefix) -%} + Additional camera tests + ----------------------- + {% do prefix.append('') %} + This module provides tests dedicated to camera sensors on specific video node: + {%- endmacro %} + """ + + def test_exists(self): + """ + {% macro test_exists(device) -%} + check if the path exists + {%- endmacro %} + """ + assert self.path == "/dev/video0" +``` + +And a YAML definition: + +```yaml +--- +base: + additional_camera: + - path: "/dev/video0" + - path: "/dev/video1" +``` + +## Protoplaster test report +Protoplaster provides `protoplaster-test-report`, a tool to convert test CSV output into a HTML or Markdown table. +``` +usage: protoplaster-test-report [-h] [-i INPUT_FILE] -t {md,html} [-o OUTPUT_FILE] + +options: + -h, --help show this help message and exit + -i INPUT_FILE, --input-file INPUT_FILE + Path to the csv file + -t {md,html}, --type {md,html} + Output type + -o OUTPUT_FILE, --output-file OUTPUT_FILE + Path to the output file +``` + + +## System report +Protoplaster provides `protoplaster-system-report`, a tool for obtaining information about system state and configuration. +It executes a list of commands and saves their outputs. +The outputs are stored in a single zip archive along with an HTML summary. + +### Usage +``` +usage: protoplaster-system-report [-h] [-o OUTPUT_FILE] [-c CONFIG] [--sudo] + +options: + -h, --help show this help message and exit + -o OUTPUT_FILE, --output-file OUTPUT_FILE + Path to the output file + -c CONFIG, --config CONFIG + Path to the YAML config file + --sudo Run as sudo +``` + +The YAML config contains a list of actions to perform. A single action is described as follows: + +```yaml +report_item_name: + run: script + summary: + - title: summary_title + run: summary_script + output: script_output_file + superuser: required | preferred + on-fail: ... +``` + +* `run` - command to be run +* `summary` – a list of summary generators, each one with fields: + * `title` – summary title + * `run` – command that generates the summary. This command gets the output of the original command as stdin. This field is optional; if not specified, the output is placed in the report as-is. +* `output` - output file for the output of `run`. +* `superuser` – optional, should be specified if the command requires elevated privileges to run. Possible values: + * `required` – `protoplaster-system-report` will terminate if the privilege requirement is not met + * `preferred` – if the privilege requirement is not met, a warning will be issued and this particular item won't be included in the report +* `on-fail` – optional description of an item to run in case of failure. It can be used to run an alternative command when the original one fails or is not available. + +Example config file: + +```yaml +uname: + run: uname -a + summary: + - title: os info + run: cat + output: uname.out +dmesg: + run: dmesg + summary: + - title: usb + run: grep usb + - title: v4l + run: grep v4l + output: dmesg.out + superuser: required +ip: + run: ip a + summary: + - title: Network interfaces state + run: python3 $PROTOPLASTER_SCRIPTS/generate_ip_table.py "$(cat)" + output: ip.out + on-fail: + run: ifconfig -a + summary: + - title: Network interfaces state + run: python3 $PROTOPLASTER_SCRIPTS/generate_ifconfig_table.py "$(cat)" + output: ifconfig.out +``` + +### Running as root +By default, `sudo` doesn't preserve `PATH`. +To run `protoplaster-system-report` installed by a non-root user as root, invoke `protoplaster-system-report --sudo` \ No newline at end of file diff --git a/_sources/report.md.txt b/_sources/report.md.txt new file mode 100644 index 0000000..0be3284 --- /dev/null +++ b/_sources/report.md.txt @@ -0,0 +1,13 @@ +Protoplaster tests report +================== +|device name|test name|module|duration|message|status| +|---|---|---|---|---|---| +|/dev/i2c-0|addresses|test.py::TestI2C::test_addresses|9ms 238us||passed| +|/dev/i2c-0|addresses|test.py::TestI2C::test_addresses|8ms 561us||passed| +|/dev/video0|frame|test.py::TestCamera::test_frame|232ms 469us||passed| +|/dev/video0|device_name|test.py::TestCamera::test_device_name|206ms 263us||passed| +|/dev/video0|driver_name|test.py::TestCamera::test_driver_name|221ms 888us||passed| +|/dev/video2|frame|test.py::TestCamera::test_frame|254ms 4us||passed| +|/dev/video2|device_name|test.py::TestCamera::test_device_name|205ms 782us||passed| +|/dev/video2|driver_name|test.py::TestCamera::test_driver_name|204ms 726us||passed| +|/sys/class/gpio/20|read_write|test.py::TestGPIO::test_read_write|12ms 390us||passed| \ No newline at end of file diff --git a/_sources/system_report.md.txt b/_sources/system_report.md.txt new file mode 100644 index 0000000..6ca1c0e --- /dev/null +++ b/_sources/system_report.md.txt @@ -0,0 +1,7 @@ +Protoplaster system report +================== +Protoplaster provides `protoplaster-system-report`, a tool to obtain information about system state and configuration. It executes a list of commands and saves their outputs. The outputs are stored in a single zip archive together with an HTML summary. An example summary can be found here. + +The following config was used to generate the example: +```{include} system-report-example.yml +``` \ No newline at end of file diff --git a/_static/dmesg.out b/_static/dmesg.out new file mode 100644 index 0000000..008ba3c --- /dev/null +++ b/_static/dmesg.out @@ -0,0 +1,594 @@ +[ 0.000000] Linux version 6.5.0-1023-azure (buildd@lcy02-amd64-041) (x86_64-linux-gnu-gcc-11 (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #24~22.04.1-Ubuntu SMP Wed Jun 12 19:55:26 UTC 2024 (Ubuntu 6.5.0-1023.24~22.04.1-azure 6.5.13) +[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.5.0-1023-azure root=PARTUUID=59f54ef5-0f68-4431-ae8c-21fd77494b37 ro console=tty1 console=ttyS0 earlyprintk=ttyS0 nvme_core.io_timeout=240 panic=-1 +[ 0.000000] KERNEL supported cpus: +[ 0.000000] Intel GenuineIntel +[ 0.000000] AMD AuthenticAMD +[ 0.000000] Hygon HygonGenuine +[ 0.000000] Centaur CentaurHauls +[ 0.000000] zhaoxin Shanghai +[ 0.000000] BIOS-provided physical RAM map: +[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable +[ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved +[ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved +[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000003ffeffff] usable +[ 0.000000] BIOS-e820: [mem 0x000000003fff0000-0x000000003fffefff] ACPI data +[ 0.000000] BIOS-e820: [mem 0x000000003ffff000-0x000000003fffffff] ACPI NVS +[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x00000004bfffffff] usable +[ 0.000000] printk: bootconsole [earlyser0] enabled +[ 0.000000] NX (Execute Disable) protection: active +[ 0.000000] SMBIOS 2.3 present. +[ 0.000000] DMI: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090008 12/07/2018 +[ 0.000000] Hypervisor detected: Microsoft Hyper-V +[ 0.000000] Hyper-V: privilege flags low 0xae7f, high 0x388030, hints 0x140c2c, misc 0xc0bed7b2 +[ 0.000000] Hyper-V: Host Build 10.0.20348.2867-2-0 +[ 0.000000] Hyper-V: Nested features: 0x4a0000 +[ 0.000000] Hyper-V: LAPIC Timer Frequency: 0xc3500 +[ 0.000000] Hyper-V: Using hypercall for remote TLB flush +[ 0.000000] clocksource: hyperv_clocksource_tsc_page: mask: 0xffffffffffffffff max_cycles: 0x24e6a1710, max_idle_ns: 440795202120 ns +[ 0.000000] clocksource: hyperv_clocksource_msr: mask: 0xffffffffffffffff max_cycles: 0x24e6a1710, max_idle_ns: 440795202120 ns +[ 0.000000] tsc: Detected 2445.433 MHz processor +[ 0.000418] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved +[ 0.000422] e820: remove [mem 0x000a0000-0x000fffff] usable +[ 0.000426] last_pfn = 0x4c0000 max_arch_pfn = 0x400000000 +[ 0.003278] MTRR map: 3 entries (1 fixed + 2 variable; max 17), built from 8 variable MTRRs +[ 0.006879] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT +[ 0.009874] e820: update [mem 0x40000000-0xffffffff] usable ==> reserved +[ 0.011274] last_pfn = 0x3fff0 max_arch_pfn = 0x400000000 +[ 0.017262] found SMP MP-table at [mem 0x000ff780-0x000ff78f] +[ 0.020141] Using GB pages for direct mapping +[ 0.022134] ACPI: Early table checksum verification disabled +[ 0.024569] ACPI: RSDP 0x00000000000F5C00 000014 (v00 ACPIAM) +[ 0.027028] ACPI: RSDT 0x000000003FFF0000 000040 (v01 VRTUAL MICROSFT 12001807 MSFT 00000097) +[ 0.030772] ACPI: FACP 0x000000003FFF0200 000081 (v02 VRTUAL MICROSFT 12001807 MSFT 00000097) +[ 0.034595] ACPI: DSDT 0x000000003FFF1D24 003CD5 (v01 MSFTVM MSFTVM02 00000002 INTL 02002026) +[ 0.038456] ACPI: FACS 0x000000003FFFF000 000040 +[ 0.040442] ACPI: WAET 0x000000003FFF1A80 000028 (v01 VRTUAL MICROSFT 12001807 MSFT 00000097) +[ 0.044262] ACPI: SLIC 0x000000003FFF1AC0 000176 (v01 VRTUAL MICROSFT 12001807 MSFT 00000097) +[ 0.048030] ACPI: OEM0 0x000000003FFF1CC0 000064 (v01 VRTUAL MICROSFT 12001807 MSFT 00000097) +[ 0.054467] ACPI: SRAT 0x000000003FFF0800 000160 (v02 VRTUAL MICROSFT 00000001 MSFT 00000001) +[ 0.058193] ACPI: APIC 0x000000003FFF0300 000072 (v01 VRTUAL MICROSFT 12001807 MSFT 00000097) +[ 0.062185] ACPI: OEMB 0x000000003FFFF040 000064 (v01 VRTUAL MICROSFT 12001807 MSFT 00000097) +[ 0.066153] ACPI: Reserving FACP table memory at [mem 0x3fff0200-0x3fff0280] +[ 0.069239] ACPI: Reserving DSDT table memory at [mem 0x3fff1d24-0x3fff59f8] +[ 0.072285] ACPI: Reserving FACS table memory at [mem 0x3ffff000-0x3ffff03f] +[ 0.075326] ACPI: Reserving WAET table memory at [mem 0x3fff1a80-0x3fff1aa7] +[ 0.078384] ACPI: Reserving SLIC table memory at [mem 0x3fff1ac0-0x3fff1c35] +[ 0.081883] ACPI: Reserving OEM0 table memory at [mem 0x3fff1cc0-0x3fff1d23] +[ 0.085066] ACPI: Reserving SRAT table memory at [mem 0x3fff0800-0x3fff095f] +[ 0.088092] ACPI: Reserving APIC table memory at [mem 0x3fff0300-0x3fff0371] +[ 0.091317] ACPI: Reserving OEMB table memory at [mem 0x3ffff040-0x3ffff0a3] +[ 0.094707] SRAT: PXM 0 -> APIC 0x00 -> Node 0 +[ 0.096952] SRAT: PXM 0 -> APIC 0x01 -> Node 0 +[ 0.098886] SRAT: PXM 0 -> APIC 0x02 -> Node 0 +[ 0.100806] SRAT: PXM 0 -> APIC 0x03 -> Node 0 +[ 0.102751] ACPI: SRAT: Node 0 PXM 0 [mem 0x00000000-0x3fffffff] hotplug +[ 0.105640] ACPI: SRAT: Node 0 PXM 0 [mem 0x100000000-0x4bfffffff] hotplug +[ 0.108587] ACPI: SRAT: Node 0 PXM 0 [mem 0x4c0000000-0xfbfffffff] hotplug +[ 0.111600] ACPI: SRAT: Node 0 PXM 0 [mem 0x1000000000-0xfcffffffff] hotplug +[ 0.115093] ACPI: SRAT: Node 0 PXM 0 [mem 0x10000000000-0x1ffffffffff] hotplug +[ 0.118186] ACPI: SRAT: Node 0 PXM 0 [mem 0x20000000000-0x3ffffffffff] hotplug +[ 0.121283] NUMA: Node 0 [mem 0x00000000-0x3fffffff] + [mem 0x100000000-0x4bfffffff] -> [mem 0x00000000-0x4bfffffff] +[ 0.125869] NODE_DATA(0) allocated [mem 0x4bffd5000-0x4bfffffff] +[ 0.128568] Zone ranges: +[ 0.129877] DMA [mem 0x0000000000001000-0x0000000000ffffff] +[ 0.132562] DMA32 [mem 0x0000000001000000-0x00000000ffffffff] +[ 0.135204] Normal [mem 0x0000000100000000-0x00000004bfffffff] +[ 0.137849] Device empty +[ 0.139085] Movable zone start for each node +[ 0.140913] Early memory node ranges +[ 0.142464] node 0: [mem 0x0000000000001000-0x000000000009efff] +[ 0.145435] node 0: [mem 0x0000000000100000-0x000000003ffeffff] +[ 0.148139] node 0: [mem 0x0000000100000000-0x00000004bfffffff] +[ 0.150834] Initmem setup node 0 [mem 0x0000000000001000-0x00000004bfffffff] +[ 0.153883] On node 0, zone DMA: 1 pages in unavailable ranges +[ 0.153897] On node 0, zone DMA: 97 pages in unavailable ranges +[ 0.170716] On node 0, zone Normal: 16 pages in unavailable ranges +[ 0.174938] ACPI: PM-Timer IO Port: 0x408 +[ 0.180182] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1]) +[ 0.182972] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23 +[ 0.185948] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) +[ 0.188887] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) +[ 0.191727] ACPI: Using ACPI (MADT) for SMP configuration information +[ 0.195109] smpboot: Allowing 4 CPUs, 0 hotplug CPUs +[ 0.197300] PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff] +[ 0.200555] PM: hibernation: Registered nosave memory: [mem 0x0009f000-0x0009ffff] +[ 0.203872] PM: hibernation: Registered nosave memory: [mem 0x000a0000-0x000dffff] +[ 0.207239] PM: hibernation: Registered nosave memory: [mem 0x000e0000-0x000fffff] +[ 0.210925] PM: hibernation: Registered nosave memory: [mem 0x3fff0000-0x3fffefff] +[ 0.214212] PM: hibernation: Registered nosave memory: [mem 0x3ffff000-0x3fffffff] +[ 0.217509] PM: hibernation: Registered nosave memory: [mem 0x40000000-0xffffffff] +[ 0.220762] [mem 0x40000000-0xffffffff] available for PCI devices +[ 0.223448] Booting paravirtualized kernel on Hyper-V +[ 0.225839] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns +[ 0.230333] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:4 nr_cpu_ids:4 nr_node_ids:1 +[ 0.233869] percpu: Embedded 62 pages/cpu s217088 r8192 d28672 u524288 +[ 0.236769] pcpu-alloc: s217088 r8192 d28672 u524288 alloc=1*2097152 +[ 0.236771] pcpu-alloc: [0] 0 1 2 3 +[ 0.236782] Hyper-V: PV spinlocks enabled +[ 0.238516] PV qspinlock hash table entries: 256 (order: 0, 4096 bytes, linear) +[ 0.242082] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.5.0-1023-azure root=PARTUUID=59f54ef5-0f68-4431-ae8c-21fd77494b37 ro console=tty1 console=ttyS0 earlyprintk=ttyS0 nvme_core.io_timeout=240 panic=-1 +[ 0.250276] Unknown kernel command line parameters "BOOT_IMAGE=/boot/vmlinuz-6.5.0-1023-azure", will be passed to user space. +[ 0.255222] random: crng init done +[ 0.258044] Dentry cache hash table entries: 2097152 (order: 12, 16777216 bytes, linear) +[ 0.262462] Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear) +[ 0.266012] Fallback order for Node 0: 0 +[ 0.266015] Built 1 zonelists, mobility grouping on. Total pages: 4128496 +[ 0.270696] Policy zone: Normal +[ 0.272045] mem auto-init: stack:off, heap alloc:on, heap free:off +[ 0.279692] software IO TLB: area num 4. +[ 0.305662] Memory: 16358032K/16776760K available (18432K kernel code, 4136K rwdata, 12664K rodata, 4584K init, 20480K bss, 418468K reserved, 0K cma-reserved) +[ 0.311984] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 +[ 0.316168] ftrace: allocating 53700 entries in 210 pages +[ 0.329207] ftrace: allocated 210 pages with 4 groups +[ 0.331631] rcu: Hierarchical RCU implementation. +[ 0.333668] rcu: RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=4. +[ 0.336562] Rude variant of Tasks RCU enabled. +[ 0.339053] Tracing variant of Tasks RCU enabled. +[ 0.341105] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.344395] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 +[ 0.349417] NR_IRQS: 524544, nr_irqs: 456, preallocated irqs: 16 +[ 0.352375] rcu: srcu_init: Setting srcu_struct sizes based on contention. +[ 0.360588] Console: colour VGA+ 80x25 +[ 0.362250] printk: console [tty1] enabled +[ 0.414046] printk: console [ttyS0] enabled +[ 0.418237] printk: bootconsole [earlyser0] disabled +[ 0.422938] ACPI: Core revision 20230331 +[ 0.425200] APIC: Switch to symmetric I/O mode setup +[ 0.430918] Hyper-V: enabling crash_kexec_post_notifiers +[ 0.434003] Hyper-V: Using IPI hypercalls +[ 0.436170] Hyper-V: Using enlightened APIC (xapic mode) +[ 0.447638] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 +[ 0.453962] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x233fde66930, max_idle_ns: 440795269764 ns +[ 0.459056] Calibrating delay loop (skipped), value calculated using timer frequency.. 4890.86 BogoMIPS (lpj=9781732) +[ 0.463534] x86/cpu: User Mode Instruction Prevention (UMIP) activated +[ 0.467443] Last level iTLB entries: 4KB 512, 2MB 512, 4MB 256 +[ 0.471417] Last level dTLB entries: 4KB 2048, 2MB 2048, 4MB 1024, 1GB 0 +[ 0.475451] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization +[ 0.479455] Spectre V2 : Mitigation: Retpolines +[ 0.481864] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch +[ 0.487053] Spectre V2 : Spectre v2 / SpectreRSB : Filling RSB on VMEXIT +[ 0.490417] Speculative Store Bypass: Vulnerable +[ 0.491420] Speculative Return Stack Overflow: IBPB-extending microcode not applied! +[ 0.495455] Speculative Return Stack Overflow: WARNING: See https://kernel.org/doc/html/latest/admin-guide/hw-vuln/srso.html for mitigation options. +[ 0.495455] Speculative Return Stack Overflow: Vulnerable: Safe RET, no microcode +[ 0.503494] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers' +[ 0.507821] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers' +[ 0.511419] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers' +[ 0.514614] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256 +[ 0.515420] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'compacted' format. +[ 0.547060] Freeing SMP alternatives memory: 44K +[ 0.549601] pid_max: default: 32768 minimum: 301 +[ 0.551474] LSM: initializing lsm=lockdown,capability,landlock,yama,apparmor,integrity +[ 0.555638] landlock: Up and running. +[ 0.557712] Yama: becoming mindful. +[ 0.559448] AppArmor: AppArmor initialized +[ 0.561719] Mount-cache hash table entries: 32768 (order: 6, 262144 bytes, linear) +[ 0.563465] Mountpoint-cache hash table entries: 32768 (order: 6, 262144 bytes, linear) +[ 0.567888] smpboot: CPU0: AMD EPYC 7763 64-Core Processor (family: 0x19, model: 0x1, stepping: 0x1) +[ 0.571640] RCU Tasks Rude: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1. +[ 0.575079] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1. +[ 0.578994] Performance Events: PMU not available due to virtualization, using software events only. +[ 0.579663] signal: max sigframe size: 1776 +[ 0.582051] rcu: Hierarchical SRCU implementation. +[ 0.583439] rcu: Max phase no-delay instances is 1000. +[ 0.587328] NMI watchdog: Perf NMI watchdog permanently disabled +[ 0.590472] smp: Bringing up secondary CPUs ... +[ 0.591576] smpboot: x86: Booting SMP configuration: +[ 0.595430] .... node #0, CPUs: #2 #1 #3 +[ 0.595645] smp: Brought up 1 node, 4 CPUs +[ 0.601706] smpboot: Max logical packages: 1 +[ 0.603421] smpboot: Total of 4 processors activated (19563.46 BogoMIPS) +[ 0.607480] devtmpfs: initialized +[ 0.609002] x86/mm: Memory block size: 128MB +[ 0.613887] ACPI: PM: Registering ACPI NVS region [mem 0x3ffff000-0x3fffffff] (4096 bytes) +[ 0.615537] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.619467] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) +[ 0.622997] pinctrl core: initialized pinctrl subsystem +[ 0.623870] PM: RTC time: 00:15:35, date: 2024-07-24 +[ 0.626924] NET: Registered PF_NETLINK/PF_ROUTE protocol family +[ 0.627717] DMA: preallocated 2048 KiB GFP_KERNEL pool for atomic allocations +[ 0.631157] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations +[ 0.635092] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations +[ 0.639070] audit: initializing netlink subsys (disabled) +[ 0.641817] audit: type=2000 audit(1721780135.192:1): state=initialized audit_enabled=0 res=1 +[ 0.641817] thermal_sys: Registered thermal governor 'fair_share' +[ 0.643486] thermal_sys: Registered thermal governor 'bang_bang' +[ 0.646586] thermal_sys: Registered thermal governor 'step_wise' +[ 0.647435] thermal_sys: Registered thermal governor 'user_space' +[ 0.650464] thermal_sys: Registered thermal governor 'power_allocator' +[ 0.651441] EISA bus registered +[ 0.655435] cpuidle: using governor ladder +[ 0.657695] cpuidle: using governor menu +[ 0.661919] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 +[ 0.663805] PCI: Using configuration type 1 for base access +[ 0.666801] PCI: Using configuration type 1 for extended access +[ 0.667796] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible. +[ 0.671462] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages +[ 0.674537] HugeTLB: 16380 KiB vmemmap can be freed for a 1.00 GiB page +[ 0.675428] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages +[ 0.683430] HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page +[ 0.696482] ACPI: Added _OSI(Module Device) +[ 0.699429] ACPI: Added _OSI(Processor Device) +[ 0.701793] ACPI: Added _OSI(3.0 _SCP Extensions) +[ 0.703428] ACPI: Added _OSI(Processor Aggregator Device) +[ 0.711074] ACPI: 1 ACPI AML tables successfully acquired and loaded +[ 0.719786] ACPI: Interpreter enabled +[ 0.723442] ACPI: PM: (supports S0 S5) +[ 0.725505] ACPI: Using IOAPIC for interrupt routing +[ 0.727989] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug +[ 0.731460] PCI: Using E820 reservations for host bridge windows +[ 0.735582] ACPI: Enabled 1 GPEs in block 00 to 0F +[ 0.767136] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) +[ 0.770439] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3] +[ 0.771864] PCI host bridge to bus 0000:00 +[ 0.774083] pci_bus 0000:00: root bus resource [mem 0xfc0000000-0xfffffffff window] +[ 0.775484] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window] +[ 0.779014] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window] +[ 0.779421] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window] +[ 0.783465] pci_bus 0000:00: root bus resource [mem 0x40000000-0xfffbffff window] +[ 0.787056] pci_bus 0000:00: root bus resource [bus 00-ff] +[ 0.790598] pci 0000:00:00.0: [8086:7192] type 00 class 0x060000 +[ 0.794477] pci 0000:00:07.0: [8086:7110] type 00 class 0x060100 +[ 0.797827] pci 0000:00:07.1: [8086:7111] type 00 class 0x010180 +[ 0.801247] pci 0000:00:07.1: reg 0x20: [io 0xffa0-0xffaf] +[ 0.804132] pci 0000:00:07.1: legacy IDE quirk: reg 0x10: [io 0x01f0-0x01f7] +[ 0.807526] pci 0000:00:07.1: legacy IDE quirk: reg 0x14: [io 0x03f6] +[ 0.810841] pci 0000:00:07.1: legacy IDE quirk: reg 0x18: [io 0x0170-0x0177] +[ 0.811423] pci 0000:00:07.1: legacy IDE quirk: reg 0x1c: [io 0x0376] +[ 0.815591] * Found PM-Timer Bug on the chipset. Due to workarounds for a bug, + * this clock source is slow. Consider trying other clock sources +[ 0.819488] pci 0000:00:07.3: [8086:7113] type 00 class 0x068000 +[ 0.824385] pci 0000:00:07.3: quirk: [io 0x0400-0x043f] claimed by PIIX4 ACPI +[ 0.828410] pci 0000:00:08.0: [1414:5353] type 00 class 0x030000 +[ 0.831857] pci 0000:00:08.0: reg 0x10: [mem 0xf8000000-0xfbffffff] +[ 0.836606] pci 0000:00:08.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff] +[ 0.860892] ACPI: PCI: Interrupt link LNKA configured for IRQ 11 +[ 0.863714] ACPI: PCI: Interrupt link LNKB configured for IRQ 0 +[ 0.866733] ACPI: PCI: Interrupt link LNKB disabled +[ 0.867687] ACPI: PCI: Interrupt link LNKC configured for IRQ 0 +[ 0.870948] ACPI: PCI: Interrupt link LNKC disabled +[ 0.871740] ACPI: PCI: Interrupt link LNKD configured for IRQ 0 +[ 0.874749] ACPI: PCI: Interrupt link LNKD disabled +[ 0.875728] iommu: Default domain type: Translated +[ 0.877672] iommu: DMA domain TLB invalidation policy: lazy mode +[ 0.879598] SCSI subsystem initialized +[ 0.883072] libata version 3.00 loaded. +[ 0.883097] ACPI: bus type USB registered +[ 0.885297] usbcore: registered new interface driver usbfs +[ 0.887438] usbcore: registered new interface driver hub +[ 0.890196] usbcore: registered new device driver usb +[ 0.891453] pps_core: LinuxPPS API ver. 1 registered +[ 0.894144] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti +[ 0.895462] PTP clock support registered +[ 0.897630] EDAC MC: Ver: 3.0.0 +[ 0.899871] hv_vmbus: Vmbus version:5.3 +[ 0.903816] NetLabel: Initializing +[ 0.905715] NetLabel: domain hash size = 128 +[ 0.907424] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO +[ 0.910546] NetLabel: unlabeled traffic allowed by default +[ 0.911452] mctp: management component transport protocol core +[ 0.914070] NET: Registered PF_MCTP protocol family +[ 0.915467] PCI: Using ACPI for IRQ routing +[ 0.918079] PCI: pci_cache_line_size set to 64 bytes +[ 0.918447] e820: reserve RAM buffer [mem 0x0009fc00-0x0009ffff] +[ 0.918450] e820: reserve RAM buffer [mem 0x3fff0000-0x3fffffff] +[ 0.918476] pci 0000:00:08.0: vgaarb: setting as boot VGA device +[ 0.918476] pci 0000:00:08.0: vgaarb: bridge control possible +[ 0.919052] pci 0000:00:08.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none +[ 0.919058] vgaarb: loaded +[ 0.920720] clocksource: Switched to clocksource tsc-early +[ 0.941737] VFS: Disk quotas dquot_6.6.0 +[ 0.944168] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) +[ 0.947929] AppArmor: AppArmor Filesystem Enabled +[ 0.950505] pnp: PnP ACPI init +[ 0.953303] pnp 00:03: [dma 0 disabled] +[ 0.959228] pnp 00:04: [dma 0 disabled] +[ 0.960077] pnp 00:05: [dma 2] +[ 0.960186] system 00:06: [io 0x01e0-0x01ef] has been reserved +[ 0.963312] system 00:06: [io 0x0160-0x016f] has been reserved +[ 0.966556] system 00:06: [io 0x0278-0x027f] has been reserved +[ 0.969645] system 00:06: [io 0x0378-0x037f] has been reserved +[ 0.973185] system 00:06: [io 0x0678-0x067f] has been reserved +[ 0.976324] system 00:06: [io 0x0778-0x077f] has been reserved +[ 0.979537] system 00:06: [io 0x04d0-0x04d1] has been reserved +[ 0.983057] system 00:07: [io 0x0400-0x043f] has been reserved +[ 0.986336] system 00:07: [io 0x0370-0x0371] has been reserved +[ 0.989606] system 00:07: [io 0x0440-0x044f] has been reserved +[ 0.992621] system 00:07: [mem 0xfec00000-0xfec00fff] could not be reserved +[ 0.996350] system 00:07: [mem 0xfee00000-0xfee00fff] has been reserved +[ 1.000047] system 00:08: [mem 0x00000000-0x0009ffff] could not be reserved +[ 1.003925] system 00:08: [mem 0x000c0000-0x000dffff] could not be reserved +[ 1.007412] system 00:08: [mem 0x000e0000-0x000fffff] could not be reserved +[ 1.011085] system 00:08: [mem 0x00100000-0x3fffffff] could not be reserved +[ 1.014688] system 00:08: [mem 0xfffc0000-0xffffffff] has been reserved +[ 1.018723] pnp: PnP ACPI: found 9 devices +[ 1.028945] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns +[ 1.033861] NET: Registered PF_INET protocol family +[ 1.037085] IP idents hash table entries: 262144 (order: 9, 2097152 bytes, linear) +[ 1.043706] tcp_listen_portaddr_hash hash table entries: 8192 (order: 5, 131072 bytes, linear) +[ 1.048056] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) +[ 1.052293] TCP established hash table entries: 131072 (order: 8, 1048576 bytes, linear) +[ 1.056554] TCP bind hash table entries: 65536 (order: 9, 2097152 bytes, linear) +[ 1.060410] TCP: Hash tables configured (established 131072 bind 65536) +[ 1.063956] MPTCP token hash table entries: 16384 (order: 6, 393216 bytes, linear) +[ 1.070341] UDP hash table entries: 8192 (order: 6, 262144 bytes, linear) +[ 1.073796] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes, linear) +[ 1.077508] NET: Registered PF_UNIX/PF_LOCAL protocol family +[ 1.080543] NET: Registered PF_XDP protocol family +[ 1.083295] pci_bus 0000:00: resource 4 [mem 0xfc0000000-0xfffffffff window] +[ 1.086953] pci_bus 0000:00: resource 5 [io 0x0000-0x0cf7 window] +[ 1.090126] pci_bus 0000:00: resource 6 [io 0x0d00-0xffff window] +[ 1.093268] pci_bus 0000:00: resource 7 [mem 0x000a0000-0x000bffff window] +[ 1.096744] pci_bus 0000:00: resource 8 [mem 0x40000000-0xfffbffff window] +[ 1.100538] pci 0000:00:00.0: Limiting direct PCI/PCI transfers +[ 1.103767] PCI: CLS 0 bytes, default 64 +[ 1.105958] PCI-DMA: Using software bounce buffering for IO (SWIOTLB) +[ 1.109267] software IO TLB: mapped [mem 0x000000003bff0000-0x000000003fff0000] (64MB) +[ 1.113936] Initialise system trusted keyrings +[ 1.116538] Key type blacklist registered +[ 1.118869] workingset: timestamp_bits=36 max_order=22 bucket_order=0 +[ 1.122132] zbud: loaded +[ 1.123964] squashfs: version 4.0 (2009/01/31) Phillip Lougher +[ 1.127233] fuse: init (API version 7.38) +[ 1.129634] integrity: Platform Keyring initialized +[ 1.132472] integrity: Machine keyring initialized +[ 1.144198] Key type asymmetric registered +[ 1.146744] Asymmetric key parser 'x509' registered +[ 1.149349] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244) +[ 1.153196] io scheduler mq-deadline registered +[ 1.155927] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4 +[ 1.159334] hv_vmbus: registering driver hv_pci +[ 1.161865] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0 +[ 1.165924] ACPI: button: Power Button [PWRF] +[ 1.168779] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled +[ 1.197944] 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A +[ 1.227421] 00:04: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A +[ 1.234149] Linux agpgart interface v0.103 +[ 1.238814] loop: module loaded +[ 1.240889] hv_vmbus: registering driver hv_storvsc +[ 1.244243] ata_piix 0000:00:07.1: version 2.13 +[ 1.244482] ata_piix 0000:00:07.1: Hyper-V Virtual Machine detected, ATA device ignore set +[ 1.244620] scsi host1: storvsc_host_t +[ 1.248322] scsi host3: storvsc_host_t +[ 1.248328] scsi host0: storvsc_host_t +[ 1.250293] scsi 0:0:0:0: Direct-Access Msft Virtual Disk 1.0 PQ: 0 ANSI: 5 +[ 1.251172] scsi host2: storvsc_host_t +[ 1.251719] scsi host4: ata_piix +[ 1.251987] scsi host5: ata_piix +[ 1.252051] ata1: PATA max UDMA/33 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0 irq 14 +[ 1.252064] scsi 1:0:1:0: Direct-Access Msft Virtual Disk 1.0 PQ: 0 ANSI: 5 +[ 1.253036] sd 1:0:1:0: Attached scsi generic sg0 type 0 +[ 1.253216] sd 1:0:1:0: [sda] 157286400 512-byte logical blocks: (80.5 GB/75.0 GiB) +[ 1.253271] sd 1:0:1:0: [sda] Write Protect is off +[ 1.253273] sd 1:0:1:0: [sda] Mode Sense: 0f 00 10 00 +[ 1.253367] sd 1:0:1:0: [sda] Write cache: disabled, read cache: enabled, supports DPO and FUA +[ 1.254409] sda: sda1 +[ 1.257556] ata2: PATA max UDMA/33 cmd 0x170 ctl 0x376 bmdma 0xffa8 irq 15 +[ 1.257741] tun: Universal TUN/TAP device driver, 1.6 +[ 1.260142] sd 1:0:1:0: [sda] Attached SCSI disk +[ 1.261604] PPP generic driver version 2.4.2 +[ 1.261715] scsi 0:0:0:0: Attached scsi generic sg1 type 0 +[ 1.263146] sd 0:0:0:0: [sdb] 157286400 512-byte logical blocks: (80.5 GB/75.0 GiB) +[ 1.266312] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at 0x60,0x64 irq 1,12 +[ 1.269786] sd 0:0:0:0: [sdb] 4096-byte physical blocks +[ 1.277767] serio: i8042 KBD port at 0x60,0x64 irq 1 +[ 1.278754] sd 0:0:0:0: [sdb] Write Protect is off +[ 1.279075] serio: i8042 AUX port at 0x60,0x64 irq 12 +[ 1.282876] sd 0:0:0:0: [sdb] Mode Sense: 0f 00 10 00 +[ 1.283009] sd 0:0:0:0: [sdb] Write cache: disabled, read cache: enabled, supports DPO and FUA +[ 1.284182] mousedev: PS/2 mouse device common for all mice +[ 1.288713] sdb: sdb1 sdb14 sdb15 +[ 1.289598] rtc_cmos 00:00: RTC can wake from S4 +[ 1.294107] sd 0:0:0:0: [sdb] Attached SCSI disk +[ 1.298670] rtc_cmos 00:00: registered as rtc0 +[ 1.340958] rtc_cmos 00:00: setting system clock to 2024-07-24T00:15:36 UTC (1721780136) +[ 1.341242] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input1 +[ 1.345082] rtc_cmos 00:00: alarms up to one month, 114 bytes nvram +[ 1.352869] device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled. Duplicate IMA measurements will not be recorded in the IMA log. +[ 1.358829] device-mapper: uevent: version 1.0.3 +[ 1.361384] device-mapper: ioctl: 4.48.0-ioctl (2023-03-01) initialised: dm-devel@redhat.com +[ 1.365570] platform eisa.0: Probing EISA bus 0 +[ 1.367989] platform eisa.0: EISA: Cannot allocate resource for mainboard +[ 1.371514] platform eisa.0: Cannot allocate resource for EISA slot 1 +[ 1.374799] platform eisa.0: Cannot allocate resource for EISA slot 2 +[ 1.378225] platform eisa.0: Cannot allocate resource for EISA slot 3 +[ 1.381452] platform eisa.0: Cannot allocate resource for EISA slot 4 +[ 1.384761] platform eisa.0: Cannot allocate resource for EISA slot 5 +[ 1.388313] platform eisa.0: Cannot allocate resource for EISA slot 6 +[ 1.391560] platform eisa.0: Cannot allocate resource for EISA slot 7 +[ 1.394779] platform eisa.0: Cannot allocate resource for EISA slot 8 +[ 1.398015] platform eisa.0: EISA: Detected 0 cards +[ 1.400563] amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled +[ 1.406703] hv_utils: Registering HyperV Utility Driver +[ 1.409420] hv_vmbus: registering driver hv_utils +[ 1.411930] hv_vmbus: registering driver hv_balloon +[ 1.414806] hv_utils: Heartbeat IC version 3.0 +[ 1.414815] hv_utils: Shutdown IC version 3.2 +[ 1.414820] hv_utils: TimeSync IC version 4.0 +[ 1.422536] drop_monitor: Initializing network drop monitor service +[ 1.425796] hv_balloon: Using Dynamic Memory protocol version 2.0 +[ 1.439465] NET: Registered PF_INET6 protocol family +[ 1.443229] Segment Routing with IPv6 +[ 1.445345] In-situ OAM (IOAM) with IPv6 +[ 1.447613] NET: Registered PF_PACKET protocol family +[ 1.450284] Key type dns_resolver registered +[ 1.453143] IPI shorthand broadcast: enabled +[ 1.458222] sched_clock: Marking stable (1368008219, 89876776)->(1563100987, -105215992) +[ 1.462419] registered taskstats version 1 +[ 1.464971] Loading compiled-in X.509 certificates +[ 1.468279] Loaded X.509 cert 'Build time autogenerated kernel key: 21ddb14f35168714d8e229f4f20ccb5314eee728' +[ 1.473856] Loaded X.509 cert 'Canonical Ltd. Live Patch Signing: 14df34d1a87cf37625abec039ef2bf521249b969' +[ 1.479252] Loaded X.509 cert 'Canonical Ltd. Kernel Module Signing: 88f752e560a1e0737e31163a466ad7b70a850c19' +[ 1.484408] blacklist: Loading compiled-in revocation X.509 certificates +[ 1.487982] Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing: 61482aa2830d0ab2ad5af10b7250da9033ddcef0' +[ 1.492722] Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2017): 242ade75ac4a15e50d50c84b0d45ff3eae707a03' +[ 1.497824] Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (ESM 2018): 365188c1d374d6b07c3c8f240f8ef722433d6a8b' +[ 1.503443] Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2019): c0746fd6c5da3ae827864651ad66ae47fe24b3e8' +[ 1.508466] Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2021 v1): a8d54bbb3825cfb94fa13c9f8a594a195c107b8d' +[ 1.513665] Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2021 v2): 4cf046892d6fd3c9a5b03f98d845f90851dc6a8c' +[ 1.524048] Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (2021 v3): 100437bb6de6e469b581e61cd66bce3ef4ed53af' +[ 1.529233] Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing (Ubuntu Core 2019): c1d57b8f6b743f23ee41f4f7ee292f06eecadfb9' +[ 1.538031] Key type .fscrypt registered +[ 1.540364] Key type fscrypt-provisioning registered +[ 1.543289] Key type encrypted registered +[ 1.545436] AppArmor: AppArmor sha1 policy hashing enabled +[ 1.548511] ima: No TPM chip found, activating TPM-bypass! +[ 1.551452] Loading compiled-in module X.509 certificates +[ 1.554756] Loaded X.509 cert 'Build time autogenerated kernel key: 21ddb14f35168714d8e229f4f20ccb5314eee728' +[ 1.559576] ima: Allocated hash algorithm: sha1 +[ 1.561953] ima: No architecture policies found +[ 1.564550] evm: Initialising EVM extended attributes: +[ 1.567161] evm: security.selinux +[ 1.569039] evm: security.SMACK64 +[ 1.570871] evm: security.SMACK64EXEC +[ 1.572876] evm: security.SMACK64TRANSMUTE +[ 1.575147] evm: security.SMACK64MMAP +[ 1.577147] evm: security.apparmor +[ 1.579104] evm: security.ima +[ 1.581039] evm: security.capability +[ 1.583019] evm: HMAC attrs: 0x1 +[ 1.585218] PM: Magic number: 0:526:254 +[ 1.587483] memory memory128: hash matches +[ 1.596323] RAS: Correctable Errors collector initialized. +[ 1.599284] clk: Disabling unused clocks +[ 1.602430] md: Waiting for all devices to be available before autodetect +[ 1.604615] md: If you don't use raid, use raid=noautodetect +[ 1.606570] md: Autodetecting RAID arrays. +[ 1.608042] md: autorun ... +[ 1.609208] md: ... autorun DONE. +[ 1.614126] EXT4-fs (sdb1): mounted filesystem 0e72b1bc-1051-449a-a6a1-620989380c19 ro with ordered data mode. Quota mode: none. +[ 1.617680] VFS: Mounted root (ext4 filesystem) readonly on device 8:17. +[ 1.620010] devtmpfs: mounted +[ 1.622834] Freeing unused kernel image (initmem) memory: 4584K +[ 1.633892] Write protecting the kernel read-only data: 32768k +[ 1.636351] Freeing unused kernel image (rodata/data gap) memory: 1672K +[ 1.691850] x86/mm: Checked W+X mappings: passed, no W+X pages found. +[ 1.695408] Run /sbin/init as init process +[ 1.696920] with arguments: +[ 1.696923] /sbin/init +[ 1.696924] with environment: +[ 1.696926] HOME=/ +[ 1.696927] TERM=linux +[ 1.696929] BOOT_IMAGE=/boot/vmlinuz-6.5.0-1023-azure +[ 2.048828] systemd[1]: Inserted module 'autofs4' +[ 2.097261] systemd[1]: systemd 249.11-0ubuntu3.12 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified) +[ 2.107102] systemd[1]: Detected virtualization microsoft. +[ 2.109857] systemd[1]: Detected architecture x86-64. +[ 2.119789] systemd[1]: Hostname set to . +[ 2.141925] tsc: Refined TSC clocksource calibration: 2445.434 MHz +[ 2.144083] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x233fdf4f8c5, max_idle_ns: 440795226840 ns +[ 2.147225] clocksource: Switched to clocksource tsc +[ 2.160306] systemd[1]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set +[ 2.214841] block sdb: the capability attribute has been deprecated. +[ 2.702805] systemd[1]: Configuration file /run/systemd/system/netplan-ovs-cleanup.service is marked world-inaccessible. This has no effect as configuration data is accessible via APIs without restrictions. Proceeding anyway. +[ 2.833429] systemd[1]: /etc/systemd/system/runner-provisioner.service:3: Invalid URL, ignoring: None +[ 2.967383] systemd[1]: Queued start job for default target Graphical Interface. +[ 2.970046] systemd[1]: Unnecessary job was removed for /sys/devices/virtual/misc/vmbus!hv_fcopy. +[ 2.972961] systemd[1]: Unnecessary job was removed for /sys/devices/virtual/misc/vmbus!hv_vss. +[ 2.990840] systemd[1]: Created slice Slice for Azure VM Agent and Extensions. +[ 2.996758] systemd[1]: Created slice Slice /system/modprobe. +[ 3.001397] systemd[1]: Created slice Slice /system/serial-getty. +[ 3.005960] systemd[1]: Created slice Slice /system/systemd-fsck. +[ 3.010519] systemd[1]: Created slice User and Session Slice. +[ 3.014697] systemd[1]: Started Forward Password Requests to Wall Directory Watch. +[ 3.020223] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point. +[ 3.026328] systemd[1]: Reached target Slice Units. +[ 3.030097] systemd[1]: Reached target Mounting snaps. +[ 3.033694] systemd[1]: Reached target Swaps. +[ 3.037016] systemd[1]: Reached target System Time Set. +[ 3.041216] systemd[1]: Reached target Local Verity Protected Volumes. +[ 3.045846] systemd[1]: Listening on Device-mapper event daemon FIFOs. +[ 3.051064] systemd[1]: Listening on LVM2 poll daemon socket. +[ 3.055121] systemd[1]: Listening on multipathd control socket. +[ 3.059668] systemd[1]: Listening on Syslog Socket. +[ 3.063211] systemd[1]: Listening on fsck to fsckd communication Socket. +[ 3.067852] systemd[1]: Listening on initctl Compatibility Named Pipe. +[ 3.072659] systemd[1]: Listening on Journal Audit Socket. +[ 3.076477] systemd[1]: Listening on Journal Socket (/dev/log). +[ 3.080583] systemd[1]: Listening on Journal Socket. +[ 3.084342] systemd[1]: Listening on Network Service Netlink Socket. +[ 3.091526] systemd[1]: Listening on udev Control Socket. +[ 3.095370] systemd[1]: Listening on udev Kernel Socket. +[ 3.118040] systemd[1]: Mounting Huge Pages File System... +[ 3.123238] systemd[1]: Mounting POSIX Message Queue File System... +[ 3.128544] systemd[1]: Mounting Kernel Debug File System... +[ 3.133409] systemd[1]: Mounting Kernel Trace File System... +[ 3.139031] systemd[1]: Starting Journal Service... +[ 3.143494] systemd[1]: Starting Set the console keyboard layout... +[ 3.148702] systemd[1]: Starting Create List of Static Device Nodes... +[ 3.154551] systemd[1]: Starting Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling... +[ 3.160036] systemd[1]: Condition check resulted in LXD - agent being skipped. +[ 3.163683] systemd[1]: Starting Load Kernel Module configfs... +[ 3.169171] systemd[1]: Starting Load Kernel Module drm... +[ 3.173833] systemd[1]: Starting Load Kernel Module efi_pstore... +[ 3.178968] systemd[1]: Starting Load Kernel Module fuse... +[ 3.182950] systemd[1]: Condition check resulted in OpenVSwitch configuration for cleanup being skipped. +[ 3.188011] systemd[1]: Starting File System Check on Root Device... +[ 3.193925] systemd[1]: Starting Load Kernel Modules... +[ 3.198749] systemd[1]: Starting Coldplug All udev Devices... +[ 3.209394] systemd[1]: Starting Setup network rules for WALinuxAgent... +[ 3.215427] systemd[1]: Started Journal Service. +[ 3.234711] ACPI: bus type drm_connector registered +[ 4.010605] EXT4-fs (sdb1): re-mounted 0e72b1bc-1051-449a-a6a1-620989380c19 r/w. Quota mode: none. +[ 4.045763] alua: device handler registered +[ 4.055916] emc: device handler registered +[ 4.062388] rdac: device handler registered +[ 4.066989] systemd-journald[154]: Received client request to flush runtime journal. +[ 4.343446] hv_vmbus: registering driver hyperv_keyboard +[ 4.347138] input: AT Translated Set 2 keyboard as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/device:07/VMBUS:01/d34b2567-b9b6-42b9-8778-0a4ec0b955bf/serio2/input/input3 +[ 4.371514] cryptd: max_cpu_qlen set to 1000 +[ 4.403909] hv_vmbus: registering driver hyperv_drm +[ 4.404314] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm] Synthvid Version major 3, minor 5 +[ 4.405261] hv_vmbus: registering driver hv_netvsc +[ 4.413596] [drm] Initialized hyperv_drm 1.0.0 2020 for 5620e0c7-8062-4dce-aeb7-520c7ef76171 on minor 0 +[ 4.448795] AVX2 version of gcm_enc/dec engaged. +[ 4.448918] AES CTR mode by8 optimization enabled +[ 4.679293] Console: switching to colour frame buffer device 128x48 +[ 4.762219] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm] fb0: hyperv_drmdrmfb frame buffer device +[ 5.073970] hid: raw HID events driver (C) Jiri Kosina +[ 5.077861] hv_vmbus: registering driver hid_hyperv +[ 5.079048] input: Microsoft Vmbus HID-compliant Mouse as /devices/0006:045E:0621.0001/input/input4 +[ 5.079309] hid 0006:045E:0621.0001: input: VIRTUAL HID v0.01 Mouse [Microsoft Vmbus HID-compliant Mouse] on +[ 5.128104] hv_utils: KVP IC version 4.0 +[ 5.226608] kvm_amd: TSC scaling supported +[ 5.226614] kvm_amd: Nested Virtualization enabled +[ 5.226615] kvm_amd: Nested Paging enabled +[ 5.226618] kvm_amd: kvm_amd: Hyper-V enlightened NPT TLB flush enabled +[ 5.226619] kvm_amd: kvm_amd: Hyper-V Direct TLB Flush enabled +[ 5.226621] kvm_amd: Virtual VMLOAD VMSAVE supported +[ 5.226622] kvm_amd: PMU virtualization is disabled +[ 5.277894] workqueue: drm_fb_helper_damage_work [drm_kms_helper] hogged CPU for >10000us 4 times, consider switching to WQ_UNBOUND +[ 5.596669] loop0: detected capacity change from 0 to 130960 +[ 5.599770] loop1: detected capacity change from 0 to 178240 +[ 5.602880] loop2: detected capacity change from 0 to 79520 +[ 5.683734] audit: type=1400 audit(1721780141.050:2): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=372 comm="apparmor_parser" +[ 5.683743] audit: type=1400 audit(1721780141.050:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=372 comm="apparmor_parser" +[ 5.684911] audit: type=1400 audit(1721780141.050:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="lsb_release" pid=371 comm="apparmor_parser" +[ 5.690962] audit: type=1400 audit(1721780141.058:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/man" pid=381 comm="apparmor_parser" +[ 5.690969] audit: type=1400 audit(1721780141.058:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="man_filter" pid=381 comm="apparmor_parser" +[ 5.690974] audit: type=1400 audit(1721780141.058:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="man_groff" pid=381 comm="apparmor_parser" +[ 5.693522] audit: type=1400 audit(1721780141.058:8): apparmor="STATUS" operation="profile_load" profile="unconfined" name="ubuntu_pro_apt_news" pid=374 comm="apparmor_parser" +[ 5.697193] audit: type=1400 audit(1721780141.062:9): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=373 comm="apparmor_parser" +[ 5.697199] audit: type=1400 audit(1721780141.062:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-helper" pid=373 comm="apparmor_parser" +[ 5.697204] audit: type=1400 audit(1721780141.062:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/connman/scripts/dhclient-script" pid=373 comm="apparmor_parser" +[ 6.951627] /dev/sr0: Can't open blockdev +[ 10.233289] sda: sda1 +[ 12.489100] EXT4-fs (sda1): mounted filesystem fe39e5e1-3924-465f-a191-98ef56bc702f r/w with ordered data mode. Quota mode: none. +[ 14.430806] Adding 4194300k swap on /mnt/swapfile. Priority:-2 extents:9 across:4505596k FS +[ 18.619006] loop3: detected capacity change from 0 to 8 +[ 18.938284] kauditd_printk_skb: 34 callbacks suppressed +[ 18.938288] audit: type=1400 audit(1721780154.308:46): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/snapd/snap-confine" pid=916 comm="apparmor_parser" +[ 18.962425] audit: type=1400 audit(1721780154.332:47): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=916 comm="apparmor_parser" +[ 20.303743] overlayfs: fs on '/home/runner/.local/share/containers/storage/overlay/compat2551884418/lower1' does not support file handles, falling back to xino=off. +[ 20.331469] overlayfs: fs on '/home/runner/.local/share/containers/storage/overlay/metacopy-check676508299/l1' does not support file handles, falling back to xino=off. +[ 20.334899] overlayfs: fs on '/home/runner/.local/share/containers/storage/overlay/opaque-bug-check1542246542/l2' does not support file handles, falling back to xino=off. +[ 26.748451] audit: type=1400 audit(1721780162.116:48): apparmor="STATUS" operation="profile_load" profile="unconfined" name="docker-default" pid=1259 comm="apparmor_parser" +[ 28.947837] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. +[ 29.029441] Bridge firewalling registered +[ 30.160871] Initializing XFRM netlink socket +[ 49.513540] hv_balloon: Max. dynamic memory size: 16384 MB +[ 434.754421] overlayfs: lowerdir is in-use as upperdir/workdir of another mount, accessing files from both mounts will result in undefined behavior. +[ 528.426035] overlayfs: lowerdir is in-use as upperdir/workdir of another mount, accessing files from both mounts will result in undefined behavior. +[ 1762.222174] loop3: detected capacity change from 0 to 1543429 +[ 1762.253332] EXT4-fs (loop3): recovery complete +[ 1762.253567] EXT4-fs (loop3): mounted filesystem 65f865c9-e338-46c1-91d1-6819561d21ea r/w with ordered data mode. Quota mode: none. diff --git a/_static/fonts/0053ba6958e79f26751eabb555bd73d0.woff2 b/_static/fonts/0053ba6958e79f26751eabb555bd73d0.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ab30100982f087a925abe34641b5909b145516b2 GIT binary patch literal 4728 zcmV-;5{K<~Pew8T0RR9101|ir4gdfE04D$d01_Sm0RR9100000000000000000000 z0000SGzMTlQ&d4zL;!(E5eN#ie5@A>f*Jq;HUcCAf*J%M1%(<1iWm$B8w(*tMum+7 zAfUElM78ER+5ea1#t^~%2$`|OZL~#3&^R!HLEye*SAs;V^MXUsg5&pee0Ronw;5RMJt^ll$(x+4#CUV>%9_D zd^J)$v1~_bbA*b8oe`vn)fSKb!|~(Zd(fv7q_wq$C?Kr_D3qn5wk0?;|EYVG{>k)S zfN@xo5{;HaGs5Cm)9xLV%E&%|b008HF%B-v4zyS6jLjY+Nvjg!xT?Q;;jTKUXN<6`F z;}?51$RpaOWtzMWrl-hYw-My&0RSD%zAVm=6*F2eJ1#I6JG-|w5deH6OFJ?JL|cd= zLK?$t$&t<6fE1%7uqYClT^SHEYTL7=qe2l-iGzsD5sR@{>aQR|h$4ZOf5wOL8>ayP zRZI|&DWWkNOZ*ndR|fQp@ky7H{=$cF%Ku*fwtxH&AKwFbeCOdKt1f^$YP=IBFFsft z)rDJgV#Ap&7Y^Lmp|I!5(PVZ6l7?mMn-GoE2@z*Qe**Fdz>Wd23u6RNEkqcxf5j1! zAYlea;44XkLSU#H5CHO@HNCt!c|>2SQKt*{1Zd?dFSk$!jitfI-;dduEGK)w49FNv96Xk=Ln`wE!P5L)CN$_*>?2l;*F zBO%R8s6Hr&e*wDUoX$o zt4ePP9Ma6aQb;x+xq$P(x= ztf!bF@KW|vr9%Q3?zFV8cVf>2G^3JPJ0z{~Br~S8)rMB2mdL^Hm068hFMiiCa6&?{ z%mpf714xE11SMdvC4itZ!wTXFA_B^F!-NXG2hNFj(VAT!onEOEX?3F>`>mxb7~Joq zAYpL92DBQLjkXM)_lZU4FaU4QCOX$-hFcq5z+sy$PXU!RB3h?X26=1IhLySRP8!6) znLc$Cpg_#P9M7F>3<0$0q{nNh;+;n2IvG;dT=`;Qb(g~g?q{Zg!;gG-amGX*KMOs*W}Wu+%ugv zKu}!IS-otanyB-w$Uz_ zo3V~etfCO|F^y+^>xf7#31ZyJKD8nm7tV=-`fGPw)t)9-H*K}U&1S(bo`#|0YsYvV z_MhTw64$M%ZM3PWO;Cjj4d7zjhJ{7?-V&Gn6*&$~Z*<6tKJ{nUPCsMF_}t2*M9?VL zj4C*{mO~v#r?42|s$*^R9Q+i=`Y`4F=Xqn(Hrm7wFIgABn(&eN!R6snsUWQRcRJon@#sC)AB zvxGD%bm+>>beh{_b|l}Ti{ctmIWSnwkBhJ356%g#qEIZmjF045cDhnRD(8-^62!$# z%LfLomb=Rpn)? z)grM_9AhYf^x00fPUGDICLoMDV7N&p48qzz^Gg*qm?`I^LG@x84nUz3j__jt3}$luL3ei`Q#Hl*GYVAh~1&s#d1! zYM15&s{Lhw$6I^tHS~qGwcUw%Wee(<*(9&@rNza$UFzCA#zL56JN9gOM5-bzEPkn? zBn>7?SdO97iK#S}OfTFPA_*0*Qda6VB}dC*Wb%_u>}uH|aY9V|?qqEFzoS(+rH|Ji zW4ckPM57)(Y!3$ePotH+CB2pU%KD3Qy_wSmg5^xRrTf;oIXb$n+cynHa;UX2$0KFo z@~vqN^;^;-j*T(LYEc*=i;!<24MRGpy#JPoRM2^g-<=;L%gETYy+6lajCv~YQPR2h zqw6!r$^Z^~6Sn`kR!-?!QcsVQ6#5z)dvs{$x6K7Tf7y$d1H!D1p_0H%_+7DA z@J2O>ay9gCp9c=aP_JCC0!K;ESobCm*}~7J_Ivl_44%!=BJ&dI0K|OK=^Au!cx?c= zxv5A?%ue|@I0+`Ceoo1cSKllcjpWby=loZu`{ego1#7jT;uuxjMWkUWQWtq9LLp4p zkk*L2oCWETwnLEPdC)s0ToKx`-=!I()ixIC$fpadPRGWrJyYox-MBVSs7%Og(B37oHxGEBw3|cm#6U7kFw`{9smL$@qNV1iqGaD*H&j;AW79B_65G zEf~yV#|hM&GlN$Yze&4fq>5lO9Lpo$ieN>+$twFA;U%FeP&z-kG_cTNWuqiy261rq&4-&q>}R9u)#mwUQW82MR6G(p zB356P<>a5<85hEldM$&duKyKG26KeqH7UL73T%L~d^$c)scws9vzmyJ69?(x!f z-YhA#Yn+Q5LYoiiNSl_L#g1%_#G$l#Gf8K{&eLkj7*SE1uc^_p@<2d+!g%2A^MS#5 zxh)h2bQ%z4G^0gkcLy0}>T zdJugpIKzqAm+P(dtNk6FHSOiV_Lso4zj-BiBMnT@mT!z_M7QmC3+wp0@#m}8o)5;# zY_9e7#aMa!O04?(t`hVFzN)>V%sE`7ckU?XsUXbLPzp!Z>!Yo_ePXP7>yBC%TXU6} znWZkmuu_*y8CNOxOCue5+tdAl&MLduoo~voHi*#^uX>D~_vu?_4nbI{p@vud%Aepi zaqW2!Hf++D=s}daN{>wMD|+JN^QBKa!@88fR?8K|6p^TeqL8!H1m9>YA8%g|pWew~ zG-*Z-K^$WdO7x}v-tG-$#-`^0p$BY$To!PQ8VN~?87h$stjGgM5>gd}yLeG^b6D)S zoQIc@w}HwXm~4VMb3`NBL{K;R`vCSFD@Ny%HV}QN*IelJ$kklv9j>YmzdF-%_se_VB;SEB*Yd=drVy|YbW!1of%t%;pxct4R*J%I5ZFkveI zh<@}P%i$l8A{Pw|3^a2TxhWVr5DoJ+Z^h{*S`Fb;`j{@V^6fK@ou*Z!7M^ln z7$(o*wV=&QSq*7Om-0aTXkNm1F#OZrNgXGI@z@`Hj*sW~i!>B3Bl&-haejab^N#=C z>6B1U%mA~7cQgc5GXe;CCj~`3sYMdRVjolP3d7_nycXi~oYkNzi*(=%ATS%Isq|Ba zVM~Vr3N!Tf&JdTA`ec$4f*EviK2q!ebPb=R8tj-+!(%E#)gbsgLOw@95ld=LnJSJ? z9>Z%uotLr?BuJMsN18el`F6+}BQt=#gF23!n1%gzRnFzIp`>{Od&V#azmWFD^JX5z zgb!r+9LWJPe6*dehedD&m;p|RW(!m}#O$G=R7tAl*(oP`<)sUD5qsmy($08Nfg~W< z9WuPA#QsrJ8~|Mi%HbPShZ)3FKJ7+@L)ji0vNfb?F0pj>^e5vM=&>9C0muaUAB6?y zTZVs^b|V0I{?C{O!jErJ>;L(N`AlvUSrY)p2mk;O@WJpk!bx2|$bUrqY7Ae*kqn|b_JYGk34!e(xF0bKgB}8s#Vcbqmc$G1G3zId0Z|+PV zG-!;7Mhlyc6m~$Zj zGfoh-*vzYkXg)Q78m2o?>@}F8=*A3XG5^Y%sht!Z!ltl-5me$47)@MN5`TqSU9UoF zV$E`#1+N8b1%p_R-6O+dWBJ&^4J8#_quH)J{P75^_+zif35zte^n`8n4k5q*Rx2D` zk$62=HLMktINUuemOX{;qn9XamDqIE6J1%D;7`C$(9uePuvjyS1`Qq7HlNLm8e&** z*04XV1fOtnBXRULxvpi(3kN%BTnt;mSy&P?bLwrd$qzAiJn_o`XOZXN=?(*0guiYk zPd+&Og$gHCQ`a^`<1HpeHbs>>y}^jdY_Zxx0ux=_b~lW1Gfa2_kwm6YQPa@U(K9eY zFcUKiD;qlpCl@ylFCV{vppdYLsF=8fq?ELbtem`pqJpB5vWlvjx`w8fwvMizzJZ~U zu?Z4|#$a)H0+B?fn3|beSXx=z*xK1UIKosKoxx;vg>!yrd5D+W{7l~>Z+v5ugF~!$ z&&*G=$*zh|?z^11=KIRnN>O_Qgpnm#=&4iA-^I`5GIcrQz|2&?Qd)NL5lR^dP^0jf z3F~icFZs_n{8v2|)m3(l-y)%V)eyJAxn#Hga#gT0Qm*Ca-cNtuye@TL!g|JXy{wRv zS5Q<^R#8<0e4uIGW&!{J0000;k|arzB+bms%*@Qp%p^&YBuSE-+h@x;=f?fM;N!>W G0%`y>M(+3k literal 0 HcmV?d00001 diff --git a/_static/fonts/029e176ad602329b4434892101db9cf3.woff2 b/_static/fonts/029e176ad602329b4434892101db9cf3.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..09e03c952296f0ba1e46dadb0ef38c0ad1950130 GIT binary patch literal 6044 zcmV;N7h~vmPew8T0RR9102iD94gdfE04SUQ02e?20RR9100000000000000000000 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 aZ;p=U&6{>stk@{AqPB76aF%E9h7|z0(@g*X literal 0 HcmV?d00001 diff --git a/_static/fonts/0948409a22b5979aa7e1ec20da9e61f1.woff2 b/_static/fonts/0948409a22b5979aa7e1ec20da9e61f1.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6b0b4afef95479fff34683895510f679a5ebd45a GIT binary patch literal 5604 zcmV3CmxKT719J?g1=`;t*omE%DVl-mx!FcDRLO)EiWF%n+<2k; z{z!elnfh#A=$8#;!oA;6mu@pLR*NAVtg+#ALiW^f_ySP*^v)3)`y^K*nwsVo&Xm+~ zQXtm}w{@t54sii7Pz1cVK=4512TJ*thqv4N+ieFDwlzzlR>%WV4EEd^apPH1)UnWjm&>+$*LSaQ!hypx2nQCG zLhtfhOk#69N}~|A+V6@oo&h)=sa=$6+}x!>ZvQJIv~sZo+&sCcwbt$t^Z{`^3im?U zGzV5L7lcE?JmoT2GI(_I)OJU03Sp2nPVKu#I*j4}be8S^GaAA1$oHNPDqaW|ooxlN zOP8jRzIHA0*giz>5qU$T-9tM7gdIV7ZC;utU75B_nj){mF7m#G&0oIiJ(RT-N~x^K zRL1-MvkcA~-9uXWIyi_X*x~g?(J*1ckSeMpaTbHLGXMu=2)=BaC|-QY%QkzXn`Wr*+Hdm{ zHA3A`0ksP*@{k~PC2Od$rkZQ1wYE~E$&iIq%X=EDIQ0SXdb?br?u4G(P14&4$%