Compare commits
2696 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6efc8f1fd3 | |||
| bf44faeeb1 | |||
| 47ff38693b | |||
| f9e323a29e | |||
| 9b7799a03a | |||
| 07a1a9372f | |||
| 1dc3d59bc4 | |||
| d0e71c8f5a | |||
| 2327247a29 | |||
| c0981002a6 | |||
| 6627f3105a | |||
| 52ea187067 | |||
| 10165b31ba | |||
| f481cbeaca | |||
| ff5f2e41c7 | |||
| 637ebdc2ba | |||
| 1b8fe35939 | |||
| ce3a6c3321 | |||
| 10d167b543 | |||
| 2020f5b1a6 | |||
| c913639121 | |||
| fb989f6291 | |||
| 8e32449d47 | |||
| 97cc3cfbbd | |||
| df0063ef02 | |||
| 41ca0a41b9 | |||
| 056119551c | |||
| 5071a60b34 | |||
| 4e16119846 | |||
| 81ea8a4e54 | |||
| f975d1dc00 | |||
| e90885986f | |||
| 7b21fb9159 | |||
| b753e49df3 | |||
| edbb9286e5 | |||
| 1b15019f03 | |||
| f9d976de41 | |||
| cdaa36e279 | |||
| e2e1a2896c | |||
| 0a8674c530 | |||
| 7a4e6c6d1c | |||
| 410768be7e | |||
| 389887026e | |||
| 0aa9fad0ec | |||
| 96b4c58aa7 | |||
| d539c6feff | |||
| 6e3e1d9135 | |||
| f8207916a3 | |||
| c98dfdad9c | |||
| 912bb57255 | |||
| 8ca656b901 | |||
| 112ec79c56 | |||
| 9264ae8b73 | |||
| dbf84a7bb9 | |||
| a39c15e550 | |||
| 74fd2fab55 | |||
| c9134c7283 | |||
| 2258c90604 | |||
| 3ec50a2cf8 | |||
| dd6d5aeed2 | |||
| d4cb55239f | |||
| 7f61f94836 | |||
| 5a66e0effe | |||
| 69f7314da2 | |||
| b3dc735a6c | |||
| a1c4bf38dc | |||
| 0351271a7e | |||
| 63cd737447 | |||
| 23bbd6ba73 | |||
| c99e596c79 | |||
| 5eebaea1f6 | |||
| d5dcf8a7a0 | |||
| 32e1b94030 | |||
| d744224c8e | |||
| 4df2dfdc15 | |||
| 58cba207fa | |||
| 9095e06aad | |||
| 992a703fbe | |||
| fab1ad6f85 | |||
| b3ca8be1a5 | |||
| 7e74e7b8ca | |||
| 20af82abd8 | |||
| 1b24b3629f | |||
| 211e5c1bdd | |||
| 718e480d71 | |||
| 46a25b42e7 | |||
| 9b13de39be | |||
| 72cca8f019 | |||
| 2102b71d83 | |||
| 0fcb703eeb | |||
| deb72b741c | |||
| 1688e2241a | |||
| a1822e21e8 | |||
| 3fa6558b07 | |||
| c811324028 | |||
| 1bc2804b1b | |||
| a3f72d407a | |||
| 59c745abfd | |||
| 2387065e74 | |||
| 73e5ba9f6f | |||
| 265469c584 | |||
| 3bbc77a187 | |||
| 6e7c909fef | |||
| b2e82fe887 | |||
| eb5c874627 | |||
| cace98df58 | |||
| 29d9bd2233 | |||
| 7030b996e9 | |||
| 0df6c38203 | |||
| fbfe5f43c6 | |||
| d4529b126b | |||
| 2f0a056995 | |||
| 8c588b9ac2 | |||
| 36c8cf81da | |||
| 6cc03629a3 | |||
| a4b24d7f86 | |||
| d671e584aa | |||
| fc972821c1 | |||
| 7861c356db | |||
| 4707f1d3e4 | |||
| 1f82cf1dab | |||
| 6cd5f65b17 | |||
| d0de8ee64a | |||
| 1806ec04dd | |||
| 8cf25310af | |||
| fa708972f4 | |||
| da2334e3ab | |||
| 8c0ad119e7 | |||
| c04bbed8cb | |||
| c1c4e6793f | |||
| 87930e2f2b | |||
| f3ffba44a1 | |||
| 0fa7d2bc64 | |||
| 5549a0a186 | |||
| 2ec68b4ab1 | |||
| 22e1af3d7e | |||
| a2de1ee7ba | |||
| 5a041baa1c | |||
| 6ac6b4812b | |||
| 565560ee7b | |||
| 699c4e60a9 | |||
| 03943a1774 | |||
| 21ae1da040 | |||
| cd0ec7217c | |||
| 72762f1399 | |||
| bc8907acb0 | |||
| ee38997188 | |||
| 973cd6a98b | |||
| d865735824 | |||
| d42d3ab438 | |||
| 69ec80848d | |||
| d2717ac3eb | |||
| 49efe4f7bc | |||
| 79daa13b75 | |||
| f226df0738 | |||
| e5678ec3e5 | |||
| f73fe76cbb | |||
| 02c4daa41c | |||
| 040a1b41ce | |||
| 3537e7e8a6 | |||
| 580b2166ec | |||
| a19948e235 | |||
| 17e70abdf2 | |||
| bb874bec89 | |||
| a20dee18a7 | |||
| 6902e5319b | |||
| 6d763205d2 | |||
| 8b19b4b151 | |||
| 1873b3f69e | |||
| ca25cc647d | |||
| cf59c3486e | |||
| cc56d56ee9 | |||
| 10d1185f9e | |||
| 637f193c3a | |||
| 34cb3a92de | |||
| 92f2e56bf3 | |||
| 8495797b22 | |||
| 91df7411ad | |||
| c4f13e3cd6 | |||
| 5568654afd | |||
| 1de7a6bfbb | |||
| 9668814f85 | |||
| d673b707b7 | |||
| 4fb7f97575 | |||
| 28f1567213 | |||
| 2d70f0ea10 | |||
| 6cc1688051 | |||
| c631035913 | |||
| 8b7d2f01b0 | |||
| 9ec3816256 | |||
| 81956eab54 | |||
| 12a9c29a5d | |||
| 3b59eef4a5 | |||
| 7a9c102925 | |||
| 8830c289e9 | |||
| 7e83487235 | |||
| a6d8af9b4e | |||
| 62e82d3cc5 | |||
| b1e039e870 | |||
| 1605650039 | |||
| e0eacf0f30 | |||
| 7c6b8e941d | |||
| fd2060292b | |||
| 6041602913 | |||
| 8e66dad187 | |||
| 4925650c45 | |||
| 17f4c7fab4 | |||
| 5a0144e6ee | |||
| a3e6c8821b | |||
| 2eac3e7560 | |||
| 7c97d15551 | |||
| a7005f8f34 | |||
| bed3874cf3 | |||
| ec919565e5 | |||
| 6e1aab0f20 | |||
| 180f1b23fa | |||
| 9e1426cc0f | |||
| ae915a02fa | |||
| 084d7b3468 | |||
| 1b4264113d | |||
| 85b19cbf8e | |||
| aeae61fbbb | |||
| 40f5bfee74 | |||
| 340d5ebce5 | |||
| 5d27002511 | |||
| d2396a6b4f | |||
| 4c26471624 | |||
| 3a6a753a60 | |||
| 40e05ce150 | |||
| 5a87ad722e | |||
| 2f0f133386 | |||
| 08438fb919 | |||
| 54aa3297df | |||
| 22f164cb4d | |||
| 21f2cd5e6f | |||
| e04a5b85af | |||
| c372e8179f | |||
| 1054aff322 | |||
| af2324df0e | |||
| 388228aa6b | |||
| 806748336a | |||
| 3b70eb23d5 | |||
| a23056d78d | |||
| 3a18501f30 | |||
| badddca2e4 | |||
| 3f2ff7321a | |||
| a8aa87ec9d | |||
| 2898310fae | |||
| bc2bd3537c | |||
| fbcf9a8b8f | |||
| 3c3a1c3757 | |||
| 6e701d229e | |||
| 5d716ab1ba | |||
| c12262ebe1 | |||
| 3c339a3ed6 | |||
| ab64d449b3 | |||
| e67a9d0c7b | |||
| c1b36ed13b | |||
| a74cc40fd5 | |||
| c6cf74e087 | |||
| aca6e933bf | |||
| fc2f2ee872 | |||
| 9a52aa4866 | |||
| 78fb10d4d9 | |||
| a8c71632e2 | |||
| 564c1de03e | |||
| 117359b38c | |||
| 63317e9d43 | |||
| 18497257c8 | |||
| 2fe134912c | |||
| bff6f34e06 | |||
| 4240513f90 | |||
| 0c90ae98b7 | |||
| ae818da5d8 | |||
| dda2e0a3bb | |||
| 8ed9b2ddfb | |||
| a3afa314d1 | |||
| 4129d8a584 | |||
| 759dd0b01a | |||
| 82a8d7aaa5 | |||
| 1df1cd7aec | |||
| a55b3bf9fd | |||
| 7773245d4a | |||
| 346bcedd83 | |||
| 85a24f7e42 | |||
| 120591233d | |||
| ceb242d095 | |||
| 352cfc5614 | |||
| 6cf3c3eb35 | |||
| 0860c695cc | |||
| 075cb99837 | |||
| 55e1eacc1b | |||
| c8d0ba28f0 | |||
| 62a845e73a | |||
| 25819fccd9 | |||
| ef133322bd | |||
| b1a8266c35 | |||
| e16ffe2f9b | |||
| c9fbbdc4de | |||
| c24e785a6b | |||
| 78d86d4428 | |||
| bca539523d | |||
| 21bf11a7dc | |||
| d9f3ac31ad | |||
| 1a0d6ff7ee | |||
| ef4c06cd61 | |||
| 91898e45b0 | |||
| fa7e7f5ef3 | |||
| 08bca6db10 | |||
| 3a3c8e0854 | |||
| a542c66b40 | |||
| 270850a51e | |||
| aa0f12673d | |||
| 612b95344b | |||
| 48e9c206a5 | |||
| 2d4254721f | |||
| 2b161b0ac3 | |||
| a629e92459 | |||
| ede9062664 | |||
| 3d7e832023 | |||
| 143449c77c | |||
| f9ae43dbc6 | |||
| 14179cf8ca | |||
| ac7d52e512 | |||
| 23f595c4d6 | |||
| 563f4e598f | |||
| 15c5bb355e | |||
| 369271ed81 | |||
| b8d2f88a67 | |||
| 88977e0bef | |||
| 2ce50349a0 | |||
| 998834a6d0 | |||
| 5a54484080 | |||
| 67d92173f2 | |||
| fabf2ad1db | |||
| 91637d6480 | |||
| c46b5479e5 | |||
| 8f958b598a | |||
| 6144c129f1 | |||
| 81f0bd5989 | |||
| 5eea10305c | |||
| 34711e6266 | |||
| 3b29da1296 | |||
| f5dc0bf2e7 | |||
| 01cb09e442 | |||
| ca6c769fee | |||
| 83fea39d7c | |||
| e36c86ed7e | |||
| 11b3063363 | |||
| 50a4b83318 | |||
| a71d9e1f5f | |||
| 68cc5899ad | |||
| 9cad7aa2dd | |||
| 26299677c1 | |||
| 69378a5408 | |||
| 2cf769511e | |||
| 5ba7b9e356 | |||
| b2566c9be0 | |||
| 551ab83221 | |||
| 2a6a91d68b | |||
| e39019c016 | |||
| 61620b4b6a | |||
| 687aa3abcc | |||
| b9e5806856 | |||
| 5ab6383d6d | |||
| 67907a111d | |||
| bfa5831d8a | |||
| 55afe3a126 | |||
| 33fb4ca67d | |||
| 965c26870d | |||
| d9a53a1266 | |||
| 2860bccbf0 | |||
| 76d47aa32b | |||
| 5c2d268188 | |||
| 1f9b05f54a | |||
| 34ea6681cb | |||
| a5ca3d3744 | |||
| cac1634962 | |||
| c91bd2357e | |||
| 1abe189da3 | |||
| 59c0f13160 | |||
| fedf4fd743 | |||
| 6c2edca52b | |||
| 1ddf720e80 | |||
| 3e1e8291bd | |||
| 5bd551fda5 | |||
| 5835e70a19 | |||
| 5744070a85 | |||
| 07f61f81f6 | |||
| ec9e3caf5a | |||
| b7288202cf | |||
| 676fc1fb37 | |||
| 4f32e1995f | |||
| 43aa98bac1 | |||
| 95d8252c8e | |||
| ddf04eb8c8 | |||
| 2d29565e3a | |||
| 744d99d23b | |||
| ecb9593c3d | |||
| af63cd4105 | |||
| 6f2cfb1883 | |||
| 289df47754 | |||
| e5338e5f0a | |||
| 31e872669e | |||
| 4a45517456 | |||
| e3329bc2ca | |||
| 86afb6b21b | |||
| 31b519e901 | |||
| 269f409f6c | |||
| 337bff934b | |||
| beab785600 | |||
| 9b47a4a599 | |||
| 015470e7d6 | |||
| bd0a8e6a93 | |||
| a10198259f | |||
| 8afc8bed1e | |||
| 25fc109318 | |||
| 36758ad647 | |||
| ba9fd8f0a7 | |||
| 2502b13637 | |||
| e169996687 | |||
| 67c4c6f8cf | |||
| 9931ae0937 | |||
| d93fa81e2e | |||
| 24e812f707 | |||
| f89f43e06f | |||
| db5b8e0737 | |||
| 77552f4a9f | |||
| d9b97cda29 | |||
| 87488cf303 | |||
| 1b0da2f72f | |||
| 9f55410a12 | |||
| f2a5c5a46b | |||
| db98a4f65e | |||
| 5687653508 | |||
| 70a9988c6b | |||
| 186f1e02b8 | |||
| 167b3bf4c3 | |||
| 633f3d0194 | |||
| f4f2e2bec7 | |||
| 6290be9041 | |||
| 55f70475cf | |||
| 0f0eb17809 | |||
| fe2194355a | |||
| 000a3d60df | |||
| 1b82905947 | |||
| d6c7796382 | |||
| 09f3f68649 | |||
| 264001c830 | |||
| 66778cc38b | |||
| 1769d6eff4 | |||
| b44b744a0a | |||
| 1e29bd2f8f | |||
| 4f86b06936 | |||
| ea7263c429 | |||
| 95602108b1 | |||
| 21b94251e5 | |||
| 88c7dc1264 | |||
| a829786be6 | |||
| 45ce94d4df | |||
| 0070d49b94 | |||
| a7fe4595d3 | |||
| e489014707 | |||
| 3df0f684d3 | |||
| ab72289223 | |||
| 122da5da45 | |||
| 18794a66ed | |||
| 3c1cfd9056 | |||
| 815c250bab | |||
| e3538c68a5 | |||
| be3c7f00d1 | |||
| cff315e9c6 | |||
| 645c05a10f | |||
| d03e0b88bd | |||
| 9b544a135e | |||
| 6e47f8d986 | |||
| 91b4aa51e1 | |||
| 524bb694ee | |||
| a95c1eede9 | |||
| b302966d26 | |||
| 43dbb3b9e7 | |||
| b33ec1b46b | |||
| 216db17df2 | |||
| ac2590d4ea | |||
| f874f783c2 | |||
| 5086e9180d | |||
| 7caea349e3 | |||
| 655ec84042 | |||
| 7a00983771 | |||
| 843abc3ef7 | |||
| 8a07199ef0 | |||
| ced53e8df3 | |||
| 1d45182130 | |||
| 45361ba0b3 | |||
| 1887b87f6f | |||
| be8aa2c024 | |||
| 1d284eee71 | |||
| f7012bc1ca | |||
| 52e8e1ff01 | |||
| 2376e19023 | |||
| 3d6e624aa5 | |||
| ea0915365b | |||
| a8943625b1 | |||
| 4b00a981d7 | |||
| 90bf8f6256 | |||
| 8da654bea6 | |||
| 788cb5fcf0 | |||
| cf0a5e27e1 | |||
| a29775b8bb | |||
| f180f88dc0 | |||
| 9fa3a0a0e7 | |||
| 206bf71728 | |||
| a9da3b0366 | |||
| 046cfd2bd2 | |||
| de8f97102c | |||
| 56b9ff52c3 | |||
| 53ab457fb9 | |||
| 9a5106c834 | |||
| 2ea2d5f14d | |||
| b198747958 | |||
| 603207ea43 | |||
| 02aec48b78 | |||
| 151ccc32b7 | |||
| bdb43254c8 | |||
| 5ff59f975d | |||
| 5b20941aeb | |||
| 979f0c2979 | |||
| 00cd2b705c | |||
| 467ea0d195 | |||
| 5cfc679bec | |||
| be8119048a | |||
| 9c1772e594 | |||
| 065904177f | |||
| 680eadb806 | |||
| ea70b3a1ff | |||
| 0333167a97 | |||
| e3c5d45ea4 | |||
| 4e470a178f | |||
| 8897dbb6cd | |||
| 8ab6ddfcea | |||
| 9a4df878ed | |||
| 306081763f | |||
| 7d7bb474d2 | |||
| 4188e47810 | |||
| 8da517d825 | |||
| 05d017fcd6 | |||
| 45801309fa | |||
| b95b80cc69 | |||
| 470922b28b | |||
| 14e4dadca7 | |||
| cc9196f920 | |||
| da2a938f3a | |||
| 96c243a2ce | |||
| 5db336d01a | |||
| e8b6ba46ba | |||
| 101020bd84 | |||
| edfa00fbff | |||
| a7ce92acdf | |||
| 73e154d072 | |||
| 99f9289a67 | |||
| 92c79d862c | |||
| b2b6e9e527 | |||
| 7e86cab634 | |||
| 1e0175b195 | |||
| 8a6d69b82e | |||
| 96fa0b1a9e | |||
| 3fe3bc533a | |||
| e5aa14b32b | |||
| ce37ed3814 | |||
| 5d9865ad92 | |||
| c8c43c6944 | |||
| 4d40923a4d | |||
| cca61c722e | |||
| 4c8c9d7526 | |||
| c6bd5e7a55 | |||
| cbb8b26534 | |||
| bd4ac010d1 | |||
| d71cdef1e2 | |||
| 11cf27052b | |||
| e83fe4a543 | |||
| a9cceb9a23 | |||
| 6a5fba7267 | |||
| 2a95b25526 | |||
| 5452f67e35 | |||
| e922cf27ce | |||
| dbb8ba03bd | |||
| 553f4f359c | |||
| c1485ce264 | |||
| 22b9bddb5f | |||
| f21f8570d0 | |||
| 55163e84d4 | |||
| fbe4e8aa8d | |||
| 385d486068 | |||
| b51dae4a5a | |||
| ad2aeec457 | |||
| b746a56748 | |||
| ad16371260 | |||
| d1ff18c733 | |||
| d24ce5769d | |||
| 02b243cce8 | |||
| a012f8263e | |||
| 8b81e30615 | |||
| fc8cc08e6d | |||
| e4d239d5dc | |||
| 4dc6c0330e | |||
| f5409367a1 | |||
| 745723c17e | |||
| f688fb707a | |||
| fa70e17e54 | |||
| d9d07ce19c | |||
| 55ca810209 | |||
| ece6e185be | |||
| 0bc659380f | |||
| d0b8da5b62 | |||
| f1d0388103 | |||
| 27dfab02f6 | |||
| e6210910ea | |||
| 5835226816 | |||
| f65a253767 | |||
| 8f089a86e5 | |||
| ab9cf0572a | |||
| 00412e0346 | |||
| 126c33eb5e | |||
| f394826b11 | |||
| d7d63129a0 | |||
| b0f86d8865 | |||
| cbe030580e | |||
| 2ccd7778a3 | |||
| 791dbb244b | |||
| a5a38deb60 | |||
| d1c921abf9 | |||
| 39d8df5194 | |||
| 01622aa3b6 | |||
| 170d7540b9 | |||
| f080e928fe | |||
| 07eecae52c | |||
| 3f8156992b | |||
| 9b996f7b98 | |||
| 4287088ec1 | |||
| 6519a551ef | |||
| bc68936e49 | |||
| f5fc3113cf | |||
| 4102f8c8a5 | |||
| dd81d28fc0 | |||
| 701ebc5904 | |||
| 4167919a82 | |||
| 5470b57c54 | |||
| 37acf6fe5f | |||
| 3b1e0acc97 | |||
| 323b1d5fab | |||
| 32a703810b | |||
| 105845dd25 | |||
| 508cdc828d | |||
| 01866ca69f | |||
| b62e43b210 | |||
| 78b56df417 | |||
| cea34f2cc3 | |||
| f67cf636d7 | |||
| eca1118e7d | |||
| 28c724f0cf | |||
| 5367fe1a90 | |||
| 6db5f233f9 | |||
| f4c3c1103f | |||
| 7c240e2ac3 | |||
| c3dd992a60 | |||
| 9c3b768a9b | |||
| 339b4543c2 | |||
| b998f85628 | |||
| e6678eff7b | |||
| e04eeec536 | |||
| 546bab0a96 | |||
| 44a8e3dbfe | |||
| d4533e5f23 | |||
| 905e87ac50 | |||
| 4a6dcbdd0e | |||
| d7f3b3d243 | |||
| 355179a487 | |||
| 56c5a4e5a3 | |||
| a1e5c4547a | |||
| d39d821f7b | |||
| 87148509f4 | |||
| cc110e2719 | |||
| 41304dd834 | |||
| 1e3eab3bb3 | |||
| 2036d492b1 | |||
| 625104a309 | |||
| 0d7641aaa5 | |||
| ad4206dd39 | |||
| c05190db11 | |||
| 023c28ec59 | |||
| 3773fa64a1 | |||
| 67ca6982ab | |||
| 2350b5378d | |||
| a73c1c2f98 | |||
| 63244c3cdc | |||
| e3e2ce46cc | |||
| 76166d83e9 | |||
| b7d6154805 | |||
| 2a7004b984 | |||
| a7c82b0477 | |||
| 28d4bed881 | |||
| c9fcd7f298 | |||
| b49e9089e9 | |||
| 38b0e9772f | |||
| 57db5fe424 | |||
| b24e78c61a | |||
| 816cb9fc79 | |||
| 8208181421 | |||
| d4c59fdf56 | |||
| e08eab3440 | |||
| a5f8bf686a | |||
| 1ad731f4cc | |||
| 02b064e757 | |||
| 6db71c1cca | |||
| 1f3c60968a | |||
| 4e2240fb43 | |||
| 064a327a7c | |||
| 62ffa17315 | |||
| 37870481f8 | |||
| f536c008ee | |||
| 5bc82f962c | |||
| 7258b0f7f2 | |||
| 04179558fe | |||
| b7d0f27b54 | |||
| 47fb8af7b5 | |||
| 7df2e75491 | |||
| 9f675e5816 | |||
| c5e7d3b278 | |||
| 0361f796c9 | |||
| 5ca61a686c | |||
| dcaad94000 | |||
| 72f24c09f5 | |||
| aae3b1f10c | |||
| d7cd1cc8d6 | |||
| 9fa729a2d1 | |||
| ab298911a2 | |||
| 68c5d1fb0c | |||
| ded3aa7350 | |||
| 33e64bb9b7 | |||
| 7d5c95c022 | |||
| 1aa805dddc | |||
| b307b0f74e | |||
| b2bd488c89 | |||
| 79b67d3f29 | |||
| 3fb80e139d | |||
| 4fa1ca1fe1 | |||
| bf138afade | |||
| 01a75d18c5 | |||
| 7f7841d40a | |||
| c1f790129d | |||
| e9c0375fb5 | |||
| 1e61134720 | |||
| b099433b6c | |||
| 52b93d649e | |||
| 7270dbe3e2 | |||
| 7d70b47969 | |||
| 1cef3727ac | |||
| 1b9b5912aa | |||
| 549f99f0f3 | |||
| 5c0e18b885 | |||
| b6db090cee | |||
| 0855e8ed8d | |||
| 4205346fd4 | |||
| 52a6071097 | |||
| 0bcc09772c | |||
| 88a09a22f6 | |||
| e535b4f5d2 | |||
| bdde35c4f2 | |||
| 6e738feb60 | |||
| efff560252 | |||
| bf4e694444 | |||
| 2abf324208 | |||
| a3c1c5b9c3 | |||
| a738b7c2cd | |||
| e7a0d4429c | |||
| 86dcede319 | |||
| 7bd80a2eee | |||
| 2d302c4cf0 | |||
| ef85451593 | |||
| 4bfecb4533 | |||
| da4fb27dfc | |||
| 057a597ef1 | |||
| a80b1f5727 | |||
| d296fc0ba8 | |||
| 90f5872aa7 | |||
| da0e559c04 | |||
| e028176cae | |||
| f6f773dd56 | |||
| c2cdeb0258 | |||
| 6d8c80dcfd | |||
| 5a17f4423e | |||
| 69061a3253 | |||
| 72515eedde | |||
| 783bf56107 | |||
| a88206391e | |||
| 92c499067d | |||
| 12eea5d1f8 | |||
| 4a3b374367 | |||
| 44978b744d | |||
| aca22ba939 | |||
| 0ea9d7f975 | |||
| 324a7dc6a2 | |||
| 2769247895 | |||
| 793403d74f | |||
| 17a027fa1a | |||
| c40f34b02a | |||
| 9b2b3ce49f | |||
| cfe8a59429 | |||
| 7d237b95e2 | |||
| b6643c6e60 | |||
| 9305acdc2b | |||
| a4bd78a0ed | |||
| ef41d32c2b | |||
| d577d20712 | |||
| eb1762819c | |||
| 20c32a306c | |||
| 76550a2011 | |||
| 236d2034a9 | |||
| e645d36a30 | |||
| 73528a33a9 | |||
| 67e2a3e7a9 | |||
| b33e0036a5 | |||
| 6db0268f5c | |||
| 42e279b3ba | |||
| 2dfdd47a31 | |||
| e402a86b2c | |||
| 56712a4e84 | |||
| 4e92af7dd7 | |||
| 000acebd60 | |||
| 1468b5cd8f | |||
| 22be299c02 | |||
| eed8cb9271 | |||
| 35fbd6c01e | |||
| d16052f125 | |||
| b7c989d8bb | |||
| 98a8a09f00 | |||
| aee04b001f | |||
| c09973fdd7 | |||
| 1d0e7fc34d | |||
| c213d7e6bc | |||
| ad00e9cac9 | |||
| ae1261daf3 | |||
| 239ecb2cff | |||
| d4c04a4d49 | |||
| 5a21140194 | |||
| 83e211878d | |||
| 62cdbe1439 | |||
| 61cfc256a5 | |||
| 5ae7faa7e3 | |||
| 09ee3d9b0f | |||
| 8d392bdd60 | |||
| 1faf329bed | |||
| 114fca5986 | |||
| 57eb03e316 | |||
| af3e84e292 | |||
| caa1e33790 | |||
| b4aa772811 | |||
| 88ce699f98 | |||
| c4e32466a1 | |||
| 4e116ac32c | |||
| 7089de89fc | |||
| 4d54feeaf7 | |||
| 14286bf230 | |||
| 4290721320 | |||
| 86c9fb9dde | |||
| 41fc8d41a0 | |||
| 2d5c6e76ee | |||
| 8392938ca1 | |||
| bf77a1a391 | |||
| 775f66bc3d | |||
| c0397f38fd | |||
| e5f9bc0b7a | |||
| 0a652c4f70 | |||
| 43215b89fa | |||
| 15a1eeedeb | |||
| 5dcc51337b | |||
| f9118344c8 | |||
| 52373613c2 | |||
| 8d75ee9599 | |||
| a309b935c9 | |||
| bd74663dc3 | |||
| 30b80d33dd | |||
| b86f0da357 | |||
| bd4886cb7e | |||
| dfa355b89d | |||
| 75dca16915 | |||
| f5b036fb9e | |||
| bbefa05d09 | |||
| 07a05604ed | |||
| f2afe2420b | |||
| b37f135399 | |||
| 5d669ce3a0 | |||
| 77f5c1594a | |||
| 03b0107829 | |||
| 8970fbc04a | |||
| 1d9d4e769d | |||
| d18e7698db | |||
| 60be280fac | |||
| 45f6999b92 | |||
| 45c35257a6 | |||
| 739ecbe4a6 | |||
| c21f3b9301 | |||
| 145679ac60 | |||
| a88c59bdfd | |||
| 7f6b4a935c | |||
| 0128b5243b | |||
| ecbbb78759 | |||
| 2b5c7fb1ef | |||
| b94c22cf59 | |||
| 26468b6203 | |||
| 7066a4642f | |||
| c2d0ece7f5 | |||
| 6c900602eb | |||
| 4df59f7fe9 | |||
| d894493235 | |||
| 159263d7b9 | |||
| e400af6439 | |||
| 1ac170279a | |||
| 1444fee6af | |||
| 1af09259a8 | |||
| 17f5f7402b | |||
| a395fc16ca | |||
| 56d799c727 | |||
| 25873903eb | |||
| 61311d70de | |||
| 56b197c276 | |||
| fb217bc924 | |||
| 2cd9ea94f2 | |||
| e514baa3d3 | |||
| 82836666c9 | |||
| 54f7bb9c10 | |||
| 276d764221 | |||
| 6ceebea52e | |||
| c34f8a148b | |||
| 7ead9926de | |||
| 79d967924a | |||
| c0e5ffa2db | |||
| f4b275c480 | |||
| 549b9a5585 | |||
| ac4c443305 | |||
| fc3fbda322 | |||
| e64a2d5212 | |||
| 9145b8ce52 | |||
| da942ec694 | |||
| 950fa154ea | |||
| 0e54ac7da6 | |||
| ed17a45e71 | |||
| 61f07faaca | |||
| d2c9620079 | |||
| 35e09fc2e4 | |||
| 5bc2cec874 | |||
| 4c202b66d3 | |||
| e61dec33be | |||
| 81db392938 | |||
| 5c2f5e804f | |||
| 47bc6a3dad | |||
| dd693b5256 | |||
| d419346adc | |||
| 137d613a91 | |||
| a081d9ed11 | |||
| fd386a9130 | |||
| b79ceb24fb | |||
| 534514c83e | |||
| c9c36fb01c | |||
| a6fb705169 | |||
| 816df17a6d | |||
| 7b75a68df9 | |||
| aded6c6957 | |||
| 66d1c7fb9a | |||
| a58b36117d | |||
| 09c0a66193 | |||
| a5c93dbc69 | |||
| 4cb18f4643 | |||
| 0cc215db84 | |||
| 68d078ee4c | |||
| 92b30e5349 | |||
| 37cf16fd6d | |||
| 33bf629eef | |||
| ba6f02b318 | |||
| ef14117b8e | |||
| 822a3b9e04 | |||
| 75ba97561e | |||
| 35eeed664f | |||
| d5636371f6 | |||
| 56f9440936 | |||
| d31836951e | |||
| 214ad3890d | |||
| 44fd806ade | |||
| c8bdc52e44 | |||
| aa9fe2bd27 | |||
| 8de92f42d7 | |||
| e6bce3b1e0 | |||
| 5ac83dc3e8 | |||
| 4f288d0239 | |||
| af933879ab | |||
| 1161f50adf | |||
| e2c79d33cd | |||
| b376c2c284 | |||
| 689fcc2cff | |||
| 55141d9e9a | |||
| 8e4fa016a6 | |||
| 83a1df3d21 | |||
| 1e2b3fdfa4 | |||
| 98f6c7c5d5 | |||
| 4180c34902 | |||
| a3ea96283d | |||
| 404ef3b18b | |||
| e2db667098 | |||
| d009fbd3bd | |||
| 3d66d2a719 | |||
| 300e8e7b5b | |||
| 23c3285766 | |||
| 0e40388eda | |||
| fe2fe7268d | |||
| 296dbbfa16 | |||
| f3e8dc8307 | |||
| 68d9e7ca76 | |||
| 1d5b582ace | |||
| 2cefc36098 | |||
| 945531b04a | |||
| f6e5be79c1 | |||
| 6a1840ecf4 | |||
| 35785b2f3d | |||
| bee312a109 | |||
| ad208d0e21 | |||
| d8ce35eef8 | |||
| 6aafe95620 | |||
| d3551dd7fb | |||
| 0f38c2363a | |||
| 02dbf2b8e2 | |||
| b8dff12df4 | |||
| a083d600a8 | |||
| 514a61042d | |||
| e5dfd2adb6 | |||
| 0d09f0a59f | |||
| 03337a6c13 | |||
| e04f718fd2 | |||
| 892d064df3 | |||
| d2603e5aec | |||
| 1d04a16d61 | |||
| c95d8c08a0 | |||
| b2e9a88202 | |||
| eda7f5a53c | |||
| 279b316fd1 | |||
| 710a5ca7b1 | |||
| 1beb4065ea | |||
| a4fe59fa53 | |||
| e15f049aad | |||
| 1567b43a22 | |||
| 5098d6de32 | |||
| fce6846e5c | |||
| c692fbfd8f | |||
| 86e3645465 | |||
| 86a2b44d81 | |||
| d1b9acf9f1 | |||
| a815ad2d0e | |||
| 393d92c21a | |||
| 5a55dd249f | |||
| b78fd71f6a | |||
| 26227215bf | |||
| 89d9d27f55 | |||
| 4e0c79ffae | |||
| 813ab57dd0 | |||
| 40947890ed | |||
| 047da96e0c | |||
| b1f84c5ece | |||
| a4e17ccfa4 | |||
| afaa1ce5be | |||
| a76fc74390 | |||
| b8a3886122 | |||
| 6293ca6529 | |||
| fdbdf84f63 | |||
| 84217dfdf2 | |||
| a781500ed3 | |||
| de5bf5e08c | |||
| a852c71fd8 | |||
| d762d27cb8 | |||
| 07514bdd3f | |||
| 24cad8de93 | |||
| d173dbd252 | |||
| 8525a68f51 | |||
| 4a2fa7e395 | |||
| 1ac66ffacb | |||
| de9cd6fbe0 | |||
| e25713ab00 | |||
| 9a03f10c64 | |||
| 6577f229d3 | |||
| a1553223bd | |||
| f288e9d6d6 | |||
| 060a991f04 | |||
| d06da0be88 | |||
| 453b1dd878 | |||
| 6e049b8dd1 | |||
| e698306f52 | |||
| 8a57367c5f | |||
| fb6faf10e5 | |||
| f8d0f57257 | |||
| 98c6b48104 | |||
| 7d658283df | |||
| 85210e0583 | |||
| b5a99a453c | |||
| 06738341b4 | |||
| 819050bfde | |||
| ce5c1aa2e4 | |||
| cd7ed20ea5 | |||
| 1da0a12508 | |||
| 068b927aca | |||
| 71f7de4740 | |||
| bd693d2b1c | |||
| 386acead9a | |||
| d146ac5c49 | |||
| 4db7e3e5d6 | |||
| 904d62888c | |||
| 6ed2ba376e | |||
| 3d92de602b | |||
| b75b688066 | |||
| 19c6f692b6 | |||
| 181d91b6f7 | |||
| 46b7bcb845 | |||
| 3ae68432b0 | |||
| ef8ab0cd88 | |||
| c70d105c98 | |||
| ba4bfb8c74 | |||
| 26c4d5c2c7 | |||
| 53171a42ec | |||
| b1d133291e | |||
| 25257c5d6f | |||
| 3f5c9ca69d | |||
| fb32a149ae | |||
| c2df870101 | |||
| d9c0b4b084 | |||
| add771144b | |||
| 8f172fa508 | |||
| bd0cc2b3f5 | |||
| 14377428b6 | |||
| 0ed5d4e203 | |||
| 3856ab90fe | |||
| 5c85eb2a47 | |||
| 1b0e7414cb | |||
| c8c4fc842d | |||
| e4ffc495c6 | |||
| 5ea027a47c | |||
| 9e91f68f59 | |||
| c7c3f68f0a | |||
| a79e4e8d82 | |||
| 1a1ce6c40f | |||
| 023e0ee8c3 | |||
| 7f4cd54d9d | |||
| bde0278279 | |||
| 88369f8742 | |||
| 5880eed5de | |||
| b240097e17 | |||
| 1862a2593d | |||
| 9b716482db | |||
| 3d6f5b631a | |||
| f49bcb80b0 | |||
| e9c32f7397 | |||
| 11c9ba03b1 | |||
| a8c38e5a4b | |||
| d419b0ba3b | |||
| aad153106e | |||
| 820e69f383 | |||
| 44d608ca69 | |||
| 3c1f11273e | |||
| 028f6798f1 | |||
| 5e67c4fa52 | |||
| cdce8905b8 | |||
| 5d499fe7c8 | |||
| 39d1f88a04 | |||
| 048687f557 | |||
| ecffbf09e5 | |||
| 55d3cd6c91 | |||
| 1fe62a0c41 | |||
| cd6e0b6cf6 | |||
| 307dc6dcd7 | |||
| 5ef00db52c | |||
| 429de66f72 | |||
| 04522e1b01 | |||
| 0894c919c6 | |||
| 2f1ba1f36e | |||
| e884735a73 | |||
| 777af9aa97 | |||
| d35522aee4 | |||
| 8b85477a25 | |||
| 16c13d4079 | |||
| 95618807d3 | |||
| 9b65f735b5 | |||
| 0b961155d5 | |||
| 408d5817b8 | |||
| d3880ce8d8 | |||
| 16354e3872 | |||
| 7720c91423 | |||
| 2dcc0e147d | |||
| e2316340eb | |||
| ed8b66a4e1 | |||
| f575df49a6 | |||
| f316932ef2 | |||
| acfcd7a121 | |||
| 14fd18edc9 | |||
| 5e191ae3d4 | |||
| a7fa43ddcd | |||
| 6912afdcd4 | |||
| 8a8b31f2b6 | |||
| b889f8fa22 | |||
| 90b728d13a | |||
| 4e24f2e89d | |||
| 8c44749f72 | |||
| 76a40083e3 | |||
| acd86c2149 | |||
| c4d3a7d598 | |||
| d57c051e89 | |||
| 10f9fb9daf | |||
| a0ac2fd124 | |||
| 6ed3f93b87 | |||
| 5258f1abe3 | |||
| 4e9dbf8505 | |||
| 92093be98c | |||
| 243e0703ff | |||
| ef893406be | |||
| 67bbcd60cd | |||
| 6255b69307 | |||
| c1878b35d4 | |||
| 38e37a0e45 | |||
| ed6eab4fd2 | |||
| fca6168266 | |||
| 551e34e7f4 | |||
| 71ebc35287 | |||
| 12e17d7883 | |||
| afea723c4b | |||
| 2ee73cec40 | |||
| 2a448cc415 | |||
| e33b854a90 | |||
| f9d170afe3 | |||
| 4e0adfa689 | |||
| 3e31b00b91 | |||
| fc87dbb0d2 | |||
| 0f40fefb61 | |||
| 80fe620b3c | |||
| a79bb5b7a3 | |||
| 91ce6c3590 | |||
| 28f0b5eacf | |||
| 4f80aecda3 | |||
| 00cd5de43d | |||
| 170f68c977 | |||
| d67da866d1 | |||
| 37811ae11f | |||
| caed282b6d | |||
| 941501f262 | |||
| 4fa71378eb | |||
| abe6932a64 | |||
| 5d4447281e | |||
| 84bb9e9857 | |||
| c417d87125 | |||
| 0fcde11cce | |||
| 27aba465b5 | |||
| 260f5e4969 | |||
| ea713be3fb | |||
| 468d7b6ced | |||
| dae467c115 | |||
| fd209affcd | |||
| 648276de82 | |||
| 9081f8e97d | |||
| 878af25d9e | |||
| 20cb86a11d | |||
| febbb7af87 | |||
| c92b616aee | |||
| 7cd79e72e7 | |||
| 58ca30f1bb | |||
| f1c2a0bfd9 | |||
| 826dd7faf2 | |||
| 23a47af45d | |||
| 6aecafbb22 | |||
| e3ea11ab08 | |||
| 0e422f4733 | |||
| 700f2d754b | |||
| 1258c5d4f4 | |||
| e78e3eff1b | |||
| 4143c261bc | |||
| a6a24fc132 | |||
| a208cc8d84 | |||
| c47f74cac5 | |||
| 1c1f2b3fa6 | |||
| 90418a9195 | |||
| 155d3f1bc9 | |||
| 15a81d1347 | |||
| d4a07f4470 | |||
| 0a83102459 | |||
| f252dce315 | |||
| 9c93967789 | |||
| ca3e88d7cc | |||
| 406aa79b6c | |||
| 5f8fe10c88 | |||
| 700707f438 | |||
| 2ad5774038 | |||
| 3a110c77a7 | |||
| 13c6cfd571 | |||
| 0af368dfa6 | |||
| d0d95ce789 | |||
| 04c3a56b45 | |||
| b93737553e | |||
| 2bb84715b9 | |||
| 33d77d9b89 | |||
| ed264ca10d | |||
| 973ec261a1 | |||
| 6a996309a3 | |||
| 97948d6903 | |||
| adaf3159ae | |||
| 29e0f275fa | |||
| 1bea0ec609 | |||
| acfa8fcd91 | |||
| 849db054ee | |||
| 49ae1ad3dc | |||
| 94a7cb4010 | |||
| a244881bac | |||
| 0f64b8deb7 | |||
| ddadce7857 | |||
| 6c3e1964f2 | |||
| 1f95d68954 | |||
| 8a0c7387b4 | |||
| 5a33a42730 | |||
| 9689ac0eeb | |||
| 224f1c3c24 | |||
| fd33bb2f79 | |||
| ae8f303b35 | |||
| c84c7af336 | |||
| 769c922fbc | |||
| 51ceff5817 | |||
| dd823416ce | |||
| bdf97e4c7e | |||
| 34487d2d46 | |||
| d2ffc5f8ae | |||
| 543b255b6e | |||
| bc5115df97 | |||
| a39a091926 | |||
| 11f5669991 | |||
| 8a264676da | |||
| cddc32b1ca | |||
| 60b404a900 | |||
| b727b5f1e5 | |||
| a8b0555407 | |||
| f420164490 | |||
| f0a130bbca | |||
| 93577dcec3 | |||
| 48095298ff | |||
| 121e6f1658 | |||
| 1f84339237 | |||
| 5b39163851 | |||
| 4cf7a21bc4 | |||
| ace4f38a59 | |||
| 7331b6d354 | |||
| e6ea26dd82 | |||
| af11db092a | |||
| 32d465787a | |||
| ab77c0c7a6 | |||
| e13738c0f5 | |||
| 04055beee1 | |||
| 50e9cbeb19 | |||
| 30c9a19184 | |||
| a5e0dcc6e0 | |||
| ea4ce1a9e0 | |||
| 288a3edd59 | |||
| bc4b4b673d | |||
| db0ba5cce0 | |||
| 10aece4ee2 | |||
| 7074d43144 | |||
| 09fdf7747e | |||
| ae25316714 | |||
| 4c85ddc01b | |||
| ab15d98ddc | |||
| 1b52463239 | |||
| 27e2ab30a6 | |||
| f429d58d6e | |||
| 7d8c5dde9f | |||
| 51cf60b2d2 | |||
| cb51dfddbf | |||
| bd281c65c2 | |||
| e8f6a074b9 | |||
| 09d392ac95 | |||
| a4875df4fb | |||
| 5eab2ea6bf | |||
| addd0961ba | |||
| 9b0e141aa1 | |||
| cbea9d3f4d | |||
| 217ac48b47 | |||
| 8ecd89265a | |||
| 00b6ca1c4f | |||
| e06981e4cf | |||
| 0b08cf0cb0 | |||
| a1b765bedd | |||
| 1384891b3e | |||
| 1b55b0d487 | |||
| cbb38e1544 | |||
| 32d44093f7 | |||
| 8aa642f68f | |||
| 9cec9dcf3c | |||
| e056361c6e | |||
| 3e8a8889a7 | |||
| a1b37ab895 | |||
| 34ba21d28c | |||
| b7a99447df | |||
| 85dd899c83 | |||
| 6f5e1aa84c | |||
| ff01559f28 | |||
| 9b68607094 | |||
| 01b518495e | |||
| 4c818be239 | |||
| 1ee47c4767 | |||
| 5ed6448e93 | |||
| 18ca599fe1 | |||
| a16acb9084 | |||
| 8cce36d61f | |||
| 9dfe5aa567 | |||
| e23dcbbe9c | |||
| bdfa11846e | |||
| dada6c0a4f | |||
| 0eaa2542c7 | |||
| 85ce42bfe6 | |||
| bf70fb60fd | |||
| 9b3013b2d7 | |||
| 276db46105 | |||
| b620349700 | |||
| 7cb3cf7bcc | |||
| 0299157e2b | |||
| 6c2012f21d | |||
| dd716f19bb | |||
| cc080b83bc | |||
| 13a515d8aa | |||
| 29c96a21fa | |||
| 47a803d0dc | |||
| 79b63b440e | |||
| 963039ec22 | |||
| 9b0ff80def | |||
| 123cc7313a | |||
| 9242b467b8 | |||
| 2e4c037ac6 | |||
| 2135cccc98 | |||
| 979abaa9f6 | |||
| 70d8c38987 | |||
| 93a1f5621d | |||
| b9dbe66076 | |||
| 598d4fda9a | |||
| 7386f26245 | |||
| dea47748b5 | |||
| e65963e72d | |||
| 5379715cf9 | |||
| 98b2c0715f | |||
| daa1a45997 | |||
| 053d57c682 | |||
| 27273f7aea | |||
| 353f967c3d | |||
| 85e87d3b16 | |||
| 1e9b5ce107 | |||
| d8e52793d8 | |||
| 48fda09850 | |||
| aa9baaad2a | |||
| 3bcb776ef1 | |||
| 23364b05a3 | |||
| d92a71908e | |||
| d1542099f3 | |||
| 5b6c781c69 | |||
| a19a19e48d | |||
| b6baaa0317 | |||
| b16660a9f0 | |||
| 5d30581692 | |||
| 79511445b0 | |||
| fcc3d3095c | |||
| 371b823e2e | |||
| f014bc5c01 | |||
| be55e1bcf5 | |||
| c5e462ade0 | |||
| 63a862b615 | |||
| b8af0eb051 | |||
| 2797953be3 | |||
| 074f83f707 | |||
| 54cfae7152 | |||
| 746bef2d0d | |||
| 53ad59e18d | |||
| 078ee76f1d | |||
| 14c47506fc | |||
| be1fb1a2b5 | |||
| 88472e1771 | |||
| ee85257df2 | |||
| f9b7daac80 | |||
| 2ea34e21da | |||
| 5d61a12854 | |||
| 11d1b948cc | |||
| 0475eb046f | |||
| 1e3cab5c97 | |||
| 6ad227259c | |||
| 170e57f168 | |||
| a05e77266d | |||
| 9edd01e45b | |||
| 795080b740 | |||
| b24b843c7f | |||
| 848cd6b56c | |||
| 874ba35b07 | |||
| 3352304b89 | |||
| 2eade889b6 | |||
| cccbf3f825 | |||
| 048ad74817 | |||
| 36bb6e8640 | |||
| 994faace1f | |||
| adf4fb2d8d | |||
| e1ff924c5b | |||
| 2a10118cd7 | |||
| db0250a59b | |||
| 5d66e6b749 | |||
| 52135c0de0 | |||
| 5f1968ff83 | |||
| 266c4938fe | |||
| 98a160e429 | |||
| f8b14becc0 | |||
| 1d570b8622 | |||
| d167321df1 | |||
| efd58c5f25 | |||
| c021c2ead2 | |||
| 1488fbf926 | |||
| c70398f401 | |||
| 6879c905cf | |||
| 5b05cfec6b | |||
| 27e4ca028d | |||
| 27bfcaa26c | |||
| b4d18e506e | |||
| 17dec2889a | |||
| 8624dd641c | |||
| 4fb08dd06d | |||
| bf53105833 | |||
| 75e5346af6 | |||
| baf6286af8 | |||
| 3c09a81b29 | |||
| 83b319cb7a | |||
| 1e97469b0f | |||
| 5a23b1d30e | |||
| c0be615bbf | |||
| 51ab8b0d0a | |||
| e33e17c584 | |||
| 32d6afc357 | |||
| c546acf667 | |||
| 88f4af6616 | |||
| 511e529e67 | |||
| ca96adc757 | |||
| 128ea2c982 | |||
| 27fcdeb874 | |||
| 6bbfade67d | |||
| dc695cb69b | |||
| 46fa324bd8 | |||
| 8bb164ba82 | |||
| 4b64400cba | |||
| 1e085f678b | |||
| 319b3f3f99 | |||
| 0f1981d83b | |||
| 4832cc6434 | |||
| 1f8a538962 | |||
| 2521ca7a41 | |||
| c06dbd66d4 | |||
| 1cfaf8bbc1 | |||
| 518fbb2631 | |||
| 23362aafd8 | |||
| 0d68512d50 | |||
| 0ba295030d | |||
| 1f42c8f112 | |||
| 65923ebcef | |||
| ec24e4107c | |||
| da6544ff03 | |||
| dfb52b4aa6 | |||
| 5ffd3c34cc | |||
| 15a029921c | |||
| dde4cfe56d | |||
| bbe3677d71 | |||
| 3869c357c1 | |||
| 2f75df4bd4 | |||
| b363a1ec23 | |||
| ae7a29ebe6 | |||
| 229de087cb | |||
| 4cf099a202 | |||
| 16b74af76a | |||
| edca3ea8c0 | |||
| d1d6b29267 | |||
| 164c96893e | |||
| c671bf0789 | |||
| a4593d369d | |||
| be614f0326 | |||
| aa4af3e489 | |||
| 7d06d9397a | |||
| d0732ba818 | |||
| 1e68608029 | |||
| c1ff16eef0 | |||
| a0e6a499cb | |||
| e02db2c907 | |||
| 01b3a4f449 | |||
| 603ae6f001 | |||
| f224763f49 | |||
| aa46fc70af | |||
| d9dd767f85 | |||
| c472a0b7c8 | |||
| d0de27112f | |||
| d8cf6db3d8 | |||
| 9e6833d1e0 | |||
| 7e09fc02e6 | |||
| 786d7f3c25 | |||
| f89889e504 | |||
| 64c4bd9908 | |||
| de18d0d24f | |||
| 2250fd2005 | |||
| 96b1efb417 | |||
| 78d4e0720a | |||
| 65bdc30ad1 | |||
| 22b3d76759 | |||
| 12131cab1e | |||
| 35082e2787 | |||
| a237a045e7 | |||
| c2f67addd1 | |||
| 463847b251 | |||
| 60504f4334 | |||
| 0d95de5bfb | |||
| 9e8467126c | |||
| 39cc11c0bf | |||
| 38e1e2a3e5 | |||
| 7b6101c28b | |||
| c03e3cfef7 | |||
| cc3f0e2016 | |||
| c3d2d9942d | |||
| cce029917d | |||
| f70348cece | |||
| 199d60d77c | |||
| a467d3ab4a | |||
| 219b2c126a | |||
| bbd64f7d22 | |||
| 6c0b9091f4 | |||
| f8c99f3751 | |||
| 91f3725ef5 | |||
| 48f0d5aabd | |||
| 08ab82106a | |||
| 563b806f72 | |||
| df4ebae60e | |||
| caf39ae177 | |||
| bd9630ea4c | |||
| 471a66e1a5 | |||
| 18ce81a7f4 | |||
| 123a6ac335 | |||
| fabbf2b634 | |||
| 6f6342f57f | |||
| ad584b4b3d | |||
| 1acd1513ae | |||
| d7f8576b27 | |||
| ff6990efa5 | |||
| ece2cbab30 | |||
| 850ac305c7 | |||
| 97f9d90863 | |||
| 6525cfe218 | |||
| 9dd7564334 | |||
| f2e73b0004 | |||
| 0c5062dcbf | |||
| dd60ab0102 | |||
| 41fc6c24f7 | |||
| 54dcdb5c75 | |||
| 5e8976bfa1 | |||
| 74d0af843b | |||
| a3ef3a5231 | |||
| 9216912f68 | |||
| 4919274824 | |||
| 288eed6f46 | |||
| dbda6cbe29 | |||
| b392d59792 | |||
| b949223fcc | |||
| 2e8a607a34 | |||
| 74f4649e25 | |||
| 206ba54c33 | |||
| fbfdb313ca | |||
| b12c33bee2 | |||
| 800ef9130e | |||
| 86e3c85187 | |||
| 7803558d92 | |||
| c89cfe05ee | |||
| 1c48597bd4 | |||
| ef04ca612a | |||
| 61975f7ced | |||
| bb5aa9d49a | |||
| 4a1a81875b | |||
| e64e400141 | |||
| 31900f3c34 | |||
| 5f9bed0e27 | |||
| fdbd1dafc5 | |||
| eb26ba09c6 | |||
| c2902ec1a5 | |||
| 888cf2ff27 | |||
| 73f21faff8 | |||
| 510b40fc3d | |||
| fe5ec7b7de | |||
| 19995d3c2c | |||
| 15417d6999 | |||
| 62265b552c | |||
| 314ac4215a | |||
| 78ef0ebabc | |||
| f817a58066 | |||
| 7c2269ac7c | |||
| 0572dc2c66 | |||
| 24ab40b3b4 | |||
| 59f983eab6 | |||
| d824d9e446 | |||
| cd064c730d | |||
| 6ff9bf4db1 | |||
| 7603ee3e9f | |||
| a73905e6d3 | |||
| ccdc438bc8 | |||
| 507c89ec4c | |||
| 79365ec3f5 | |||
| 9264fca554 | |||
| 4d6bf8f2a6 | |||
| 590da0c54d | |||
| 21bd1a484e | |||
| 96c194dfc6 | |||
| 51ced0c9f8 | |||
| f3a2ecc6d7 | |||
| 2ec956e5a7 | |||
| 3d0c2b398f | |||
| e9d0d05445 | |||
| c7487bba4a | |||
| 26f525f7dc | |||
| 6cb51ae261 | |||
| 4c31ddfa55 | |||
| 79e98aa24f | |||
| 8f09184172 | |||
| 5d945394cf | |||
| e4a917545d | |||
| acc99589d2 | |||
| 329407cb29 | |||
| 09ce2d4647 | |||
| 4503f1df5b | |||
| 5b4690f9d3 | |||
| 0f2d87cf42 | |||
| 9df6997d61 | |||
| b44ee0cc7a | |||
| 6283319128 | |||
| facee27946 | |||
| 3f86b0c65f | |||
| 30869c1fa3 | |||
| 0d4b27e4ff | |||
| 89a38c7d62 | |||
| 1cb211448f | |||
| 2a4ec0d2ef | |||
| 310f01deeb | |||
| c919aaae6a | |||
| 905b7202ae | |||
| 78571ea4dc | |||
| 5374d87c3d | |||
| 4177fef6df | |||
| 7f52cf29ef | |||
| 9fc3d460b4 | |||
| 22a3606782 | |||
| 946a7a254e | |||
| 95c7e1ec98 | |||
| 62d1a2c318 | |||
| 6357befa22 | |||
| d289a59133 | |||
| 7a58605507 | |||
| cb1efed189 | |||
| 6580bfa845 | |||
| e75734d839 | |||
| 55d3a2c6df | |||
| 9660f4a317 | |||
| dff34afe72 | |||
| 02bd94d658 | |||
| c9867f3121 | |||
| 5fb205a1ad | |||
| f35df7dc89 | |||
| 66e34fc059 | |||
| 80b834cca5 | |||
| c02b52da15 | |||
| 0f12f4cc1f | |||
| d7862de653 | |||
| c96aab3b47 | |||
| 8fab20a747 | |||
| 8f946d06bb | |||
| 267546e617 | |||
| a5df65b2f4 | |||
| 0e05c524b5 | |||
| afe412b317 | |||
| 666dbf0e73 | |||
| f5f825b47f | |||
| cae3f21c0d | |||
| d20ae56f2f | |||
| 1d583b2fb1 | |||
| 6bc15cd809 | |||
| 50a9e5d300 | |||
| 192f101cf0 | |||
| c71d61a1f3 | |||
| 5fb10cb6f3 | |||
| 8c086bcf00 | |||
| c840c721d2 | |||
| 7669f13713 | |||
| 9a876dd542 | |||
| b874bafdbb | |||
| 76109e7d1a | |||
| ab1cc8cfd7 | |||
| 35ea5f2e1b | |||
| fc94038df4 | |||
| 8d873f2bad | |||
| 78846def94 | |||
| c2cb0b5172 | |||
| 5e6ee8d164 | |||
| 1f44407461 | |||
| 2990bb7be2 | |||
| d6fe2db526 | |||
| 6983d2ab83 | |||
| c5833cd8a5 | |||
| b8655a12eb | |||
| 277bf974b3 | |||
| beb345e383 | |||
| df8ec09cae | |||
| e37d83bc2c | |||
| d52d6c9fd2 | |||
| 1794e126f5 | |||
| a9d613b776 | |||
| 32644a4e4e | |||
| 27b35b5cc6 | |||
| 13fcc866c7 | |||
| 89b82e5613 | |||
| 4962a15dbf | |||
| 1817bd8cdb | |||
| 7ef76bb61f | |||
| 3981d23c62 | |||
| 5d883d8154 | |||
| c6188f1c51 | |||
| b63daa17e9 | |||
| 5dd68cfb03 | |||
| 1edc07bb66 | |||
| 3f6b6ce010 | |||
| be1df8a364 | |||
| de5815fbe5 | |||
| 2c6489e0d2 | |||
| 7469489d15 | |||
| 3e20be0758 | |||
| fc3f4f2930 | |||
| 2adc76b40f | |||
| be7d55bcb3 | |||
| 032b7974fe | |||
| 2d6c8e8764 | |||
| 8cb2f63a73 | |||
| f94a44de0d | |||
| 5e34e0b9d1 | |||
| a781ddbef4 | |||
| 0e736d16c9 | |||
| 96251bbc64 | |||
| 63f9565e30 | |||
| 4e8e380a18 | |||
| d052919209 | |||
| 8b9d754a2f | |||
| 874f7d23fe | |||
| fe07e66c25 | |||
| eaa041fc78 | |||
| 8f891366c0 | |||
| 9f69cf69a6 | |||
| 2c9d2ef91a | |||
| a801942c30 | |||
| 230d4d187a | |||
| f59a698781 | |||
| 2af4eaaa2e | |||
| ce8f8668cc | |||
| 41070e9c48 | |||
| 1e66b12e12 | |||
| c32ed6a8f9 | |||
| 5e983578d6 | |||
| 487391bdac | |||
| b57e08b19b | |||
| f7b5b5087e | |||
| c1f7581692 | |||
| aee95cd862 | |||
| 7d2118006e | |||
| 7e67b72c92 | |||
| 86f8cc9c6e | |||
| f30c824672 | |||
| a4b436e6e4 | |||
| d5525c88ae | |||
| 2f6baf2ec8 | |||
| d0e41106df | |||
| 4b39cb6e39 | |||
| ec71b24e8d | |||
| df8f2275b7 | |||
| 137f347775 | |||
| 1d7f1c2d14 | |||
| b7e2ec9b81 | |||
| a5dd6304ef | |||
| e21d4aeefa | |||
| df9e468316 | |||
| a01eadb020 | |||
| 3c5048cc77 | |||
| 9ce08c74be | |||
| fadfc88a35 | |||
| fd8ede0cef | |||
| 367cf0e3e9 | |||
| b06bb3c828 | |||
| 58f209e792 | |||
| f8eea61f85 | |||
| 9183978164 | |||
| f68808fd42 | |||
| b2b016280a | |||
| a29c1339a5 | |||
| 013c941547 | |||
| d73441d6b6 | |||
| 7d02f0a925 | |||
| 4c48ea7d71 | |||
| 108330f049 | |||
| b70580ed60 | |||
| 2e0f058316 | |||
| c44d12a6d9 | |||
| 66ad40ba70 | |||
| 01835f7dc4 | |||
| 2adb780198 | |||
| 8058630a52 | |||
| 26912ddda1 | |||
| 8b1b1a5965 | |||
| 9de655405f | |||
| 55cbf61297 | |||
| 7cb9cb0720 | |||
| 622b8c0a3e | |||
| 88849819fd | |||
| cb1676c8cb | |||
| 942a4e5040 | |||
| 87af8defad | |||
| 28fa2af4de | |||
| e48ff134f2 | |||
| a33aa84e82 | |||
| 0e9bc7cf59 | |||
| 8956a98d7b | |||
| c26d49d804 | |||
| 58d6fe8387 | |||
| 40843b600d | |||
| 4dcfde73ee | |||
| 0d6017e1cd | |||
| 183d1f025e | |||
| 1e98bd0c8d | |||
| 810030171c | |||
| bb59955c87 | |||
| 0810aa55bf | |||
| f1d2af20d1 | |||
| a64e18c056 | |||
| bd9d05a73e | |||
| c08e8dc5d2 | |||
| 65b6970ff0 | |||
| a4e557f862 | |||
| 9290ee1808 | |||
| 6de99c9207 | |||
| a75b82c0b7 | |||
| 6b0f4af4a0 | |||
| 679de52726 | |||
| b24cfb4c37 | |||
| a5851eaf28 | |||
| cc336f2bd7 | |||
| 267fa18384 | |||
| 1dd5881251 | |||
| 7eb1fc790d | |||
| 7f45ae29c2 | |||
| a57a80687d | |||
| 47837bf7c0 | |||
| 0ef78a2210 | |||
| 0ef30fc1eb | |||
| d8f515448b | |||
| 0eea7ed061 | |||
| fccbdfd06c | |||
| eb329436c6 | |||
| f46b6349c3 | |||
| a010093d69 | |||
| 4feca7e56e | |||
| 4c417f9f00 | |||
| 9d5e13a7fb | |||
| 17e4d52145 | |||
| c98e8fec60 | |||
| 04fed04b72 | |||
| b5fc4e31d9 | |||
| 001dde91f1 | |||
| a2b4eb7d4c | |||
| fcdece9cf6 | |||
| 83e4e3b65e | |||
| 650be6bdf8 | |||
| 600aa3fa73 | |||
| 7909c089d3 | |||
| a8087efc5d | |||
| b3a7de4ca1 | |||
| 0e212e9e86 | |||
| 4ac7aa7761 | |||
| 8159aa5ca4 | |||
| 0e4b784505 | |||
| f72905c6c3 | |||
| 45678abde7 | |||
| b5f8fc33fd | |||
| cc14739d3b | |||
| 366dc83e69 | |||
| 45a50907ef | |||
| 13c4b36637 | |||
| 9840e9feb4 | |||
| c2e3f6915e | |||
| a1be4d37f1 | |||
| 6cabfa5bef | |||
| eb5f2b52a3 | |||
| 81160e6aec | |||
| f2cf589da4 | |||
| c713ad16f7 | |||
| d517b0fd91 | |||
| 5a2b933e54 | |||
| 94c9e0ad76 | |||
| 940c1c304b | |||
| 34a0b6050f | |||
| a616b26072 | |||
| 7bae6fc45d | |||
| 24cdc80220 | |||
| 9a02428183 | |||
| da13452b80 | |||
| 3cc367bb59 | |||
| 79f63cfb97 | |||
| dd3813cbab | |||
| f3eb56f6cf | |||
| a0b9ba2dc5 | |||
| 7b9677fa07 | |||
| 23700f4dce | |||
| 6400db0b7d | |||
| 3d84071e9d | |||
| 3898d9fd9d | |||
| b24c20902a | |||
| 0ecec53d8b | |||
| a2d80b384a | |||
| c04ae61adc | |||
| 1bed20647a | |||
| 786c4d6315 | |||
| 0de490901e | |||
| af23d02245 | |||
| 95cdb03ff2 | |||
| 8d8581da08 | |||
| 4eaba1af30 | |||
| 6708de460d | |||
| 8c19466502 | |||
| ef7cafca9e | |||
| f644c9b962 | |||
| b96a823d51 | |||
| baaaae3f60 | |||
| 52c84f7a22 | |||
| 3fb86f772c | |||
| 22668669dd | |||
| 688035926d | |||
| 05946bd785 | |||
| 2407b2e173 | |||
| 2d3d79d70e | |||
| 14c59c8a11 | |||
| 883dd75e91 | |||
| 77cab7fdfb | |||
| b2b8a8a9ff | |||
| f10c3e6fe4 | |||
| 2100955eab | |||
| 1fda173353 | |||
| 4232a17a03 | |||
| e51c49640b | |||
| fcdf7d7c5a | |||
| b386a59d64 | |||
| 5de438e389 | |||
| 81c538b9f0 | |||
| e0b7e5384a | |||
| be478316a6 | |||
| b7b732e6e9 | |||
| a86fc32f22 | |||
| 3e0dc35cac | |||
| d10af2b7cc | |||
| 345ba4a58c | |||
| 95a1433f77 | |||
| d31c34ef0e | |||
| ba197de900 | |||
| 567d5e1a27 | |||
| b478e3aea1 | |||
| 743d5a3d3e | |||
| 617a38cd5d | |||
| adc976db81 | |||
| 065c8b0f3d | |||
| d8f3676ec5 | |||
| 8bff266264 | |||
| 11c30ce07e | |||
| 52fcf25dca | |||
| f897ee2a5f | |||
| a43d72d802 | |||
| 2f8a967ea9 | |||
| 170e514be8 | |||
| 8521d27cfc | |||
| 2daf1e714f | |||
| 9d5c275fda | |||
| 348c991426 | |||
| e3a06bbae9 | |||
| eed2c1928a | |||
| afdc0162a7 | |||
| 587e6f2eab | |||
| ab3fda595b | |||
| 4d4c7daa7c | |||
| b4ef34cea5 | |||
| 5b71c21854 | |||
| bd4612d6a3 | |||
| 2ed9d99e3a | |||
| 4b4223522d | |||
| 0ee4db96a1 | |||
| 38fcc5b3ba | |||
| 02c0eb6d7b | |||
| a0cef16c2b | |||
| 895bf69621 | |||
| 5b81c6571a | |||
| 9dede39a6a | |||
| 2d8ce53b0a | |||
| d047612b8e | |||
| c6084245c9 | |||
| 4602a4e03c | |||
| 05c611ee19 | |||
| cd8c549646 | |||
| 0bcd6d8afe | |||
| 0be50671fb | |||
| 58145324a8 | |||
| 35b55d494c | |||
| a86b860f1c | |||
| 7e92c41278 | |||
| 15c1992a18 | |||
| f93db6e235 | |||
| 54a8c59f1e | |||
| 288520f305 | |||
| 7d694618bb | |||
| 9dcb6ea477 | |||
| ec7c2af24c | |||
| 0ec3e6bea7 | |||
| 9dc3cb036c | |||
| d86d446306 | |||
| a7948f0e50 | |||
| d81f995941 | |||
| 91e44c1cc5 | |||
| 44f3841a13 | |||
| 9d10e6414b | |||
| 95f7c81076 | |||
| 5a54cfc160 | |||
| 3d8421d4c0 | |||
| 11eddd8aa6 | |||
| 98a1855706 | |||
| 8b55b9f522 | |||
| 958dbc585e | |||
| b60a69bd52 | |||
| ebb09566a8 | |||
| 69a8af6e2c | |||
| d1196d4b29 | |||
| 6ce85c2bea | |||
| 9cb8d1ad3e | |||
| 8909424d68 | |||
| a89cef7f40 | |||
| b0a90e5457 | |||
| 91a042f64b | |||
| 684c6499f1 | |||
| eba49deb27 | |||
| 66b4163136 | |||
| 41cdf6ab0d | |||
| 4d707bc539 | |||
| a4b61aecf9 | |||
| b18458758e | |||
| b2f80a72d5 | |||
| b782c27e57 | |||
| f3bc348adf | |||
| bad08e4592 | |||
| 6fd986755d | |||
| b3fb1bda73 | |||
| 35bd6c2fe2 | |||
| 90ea6a221f | |||
| 601d20b2e2 | |||
| cabead95d0 | |||
| 6100dcd49f | |||
| fabf731552 | |||
| bb98c15f46 | |||
| 30b522facd | |||
| c22d4839cc | |||
| be1ee9c3fd | |||
| 35315b8316 | |||
| 528e17ee4c | |||
| b80be7a175 | |||
| 71f8a2ba1b | |||
| 272b6b11e7 | |||
| ffae175390 | |||
| e57687e515 | |||
| 737d04b864 | |||
| 242e98d8aa | |||
| 8e1b1cad18 | |||
| 8e51e5edbf | |||
| 78cd59b4f2 | |||
| 2c916e9a8b | |||
| b50465280b | |||
| 12389c4361 | |||
| 5c9edab9bd | |||
| 3ab90f5f4f | |||
| 3217fdb8ad | |||
| 7e09747727 | |||
| 6c955aef33 | |||
| 86af3ff844 | |||
| de7d9cbec4 | |||
| fa6fe5cb24 | |||
| bf7eb959dc | |||
| d2caf13b60 | |||
| 9847b3d4ac | |||
| c4cc76c471 | |||
| 9decb9d9cf | |||
| 7781b64552 | |||
| c4049ed744 | |||
| 6cdff123b4 | |||
| 49f1640059 | |||
| 8c5eb4e5e3 | |||
| c5123f7a5d | |||
| dfb4f1393d | |||
| a1e605ea9c | |||
| 0d9fbc8de9 | |||
| 5017472075 | |||
| e22ea10b74 | |||
| b88c271295 | |||
| bc8c14c580 | |||
| 6251282b4d | |||
| 8cd997c531 | |||
| 5e77d7779a | |||
| 13395ea9d8 | |||
| 06a381d44f | |||
| 8a62d93743 | |||
| c7c47c6f80 | |||
| fceef6671a | |||
| 3a05efb10b | |||
| 750f649c71 | |||
| 81a50e9aa5 | |||
| 0ef3fe99ad | |||
| 0bc8c9451c | |||
| 93cb76681b | |||
| d87ea7450f | |||
| cacb450589 | |||
| c6eaa124eb | |||
| 366eded708 | |||
| fa1efd71df | |||
| 2d24ee5e76 | |||
| c2147039bb | |||
| ceb9476476 | |||
| fa8679c6c1 | |||
| 0792b600f0 | |||
| b17b0191f7 | |||
| 666007052f | |||
| 7164746293 | |||
| 2c476ffe43 | |||
| ba731a8fab | |||
| 08b0c2bc80 | |||
| 7a7fae1a4a | |||
| 726d75b8bd | |||
| 03a5d5d0c0 | |||
| 28bcac1d1a | |||
| e0dcd88171 | |||
| 0b8283d7b9 | |||
| e8f5fd415b | |||
| f996c5086b | |||
| ebf94ee792 | |||
| a5f8079f7c | |||
| 36f66ff853 | |||
| 62a9a176cc | |||
| 9cd11a3e0a | |||
| 187fbede1c | |||
| ae1cb3b607 | |||
| 20d9513e30 | |||
| 3c0c9abc22 | |||
| ff55768c65 | |||
| 9652f78d71 | |||
| bcc8fc4d34 | |||
| fce4821696 | |||
| 90f7bbfd97 | |||
| 6eda4b7062 | |||
| 21449a24ca | |||
| 7275edf942 | |||
| e1a7a8ad6e | |||
| 1574143575 | |||
| eb3aebe04d | |||
| d6c4507848 | |||
| 9861edf08b | |||
| 41b6a4fb4c | |||
| 97dcc0333d | |||
| 49f16d46da | |||
| 219ab4b309 | |||
| 93db1737c1 | |||
| fbbe67518d | |||
| 4e5b2bfd75 | |||
| c52dd38ee8 | |||
| e483a93b34 | |||
| 870225f793 | |||
| 320ba144cb | |||
| f0f4f6a0dc | |||
| ca20b647af | |||
| 15ba5c5641 | |||
| 55053858b2 | |||
| ac6b902226 | |||
| 7ca5d6c5e6 | |||
| cc78b42cb6 | |||
| 6e9f73dbe6 | |||
| a749e7b9dc | |||
| b9edd20c09 | |||
| bf264bee3c | |||
| 8607a6f29f | |||
| 3e0c827188 | |||
| b6f6929c87 | |||
| dd38bae970 | |||
| 7eabc505fa | |||
| 0fc7807fb5 | |||
| 92b0ce3610 | |||
| e6c27bbdc2 | |||
| 893c595675 | |||
| 5699f2db83 | |||
| 001e95b8f3 | |||
| 05a1b20cfc | |||
| 4750be4c2f | |||
| ec3a427288 | |||
| 4cb82622c0 | |||
| e654cc2278 | |||
| e799720c6d | |||
| 25640d1af1 | |||
| 10f42e5d51 | |||
| f8360b72b6 | |||
| 8b94376f2a | |||
| 52f341d847 | |||
| d1451676c0 | |||
| ff254eed10 | |||
| bdbb4417de | |||
| fbd90911f6 | |||
| b103c1e43f | |||
| fd8fbdda6d | |||
| fa6fe7663c | |||
| 21743b44b4 | |||
| e6d8b18df2 | |||
| cf102d46d7 | |||
| ed5a7bca31 | |||
| 60bfd051e5 | |||
| 4ac4ca18f5 | |||
| deaeb272c7 | |||
| 6b724cc226 | |||
| 05a6f2e20b | |||
| 0af1ae7902 | |||
| 0c9677d359 | |||
| 0a05cbf7ba | |||
| e180e3dc6f | |||
| 730493c5a0 | |||
| 769c6ea11f | |||
| 7112df9f9f | |||
| 33cdf11162 | |||
| ba8456e877 | |||
| ed551e6a17 | |||
| b6677bef1a | |||
| 95181ccb9f | |||
| 52c2c959fe | |||
| 3b40a1e93b | |||
| 391ff3d89a | |||
| 94dcf24397 | |||
| 99b8d45f63 | |||
| e9c931c9b4 | |||
| 79b8feef92 | |||
| 61a4bcf86d | |||
| 7b1741cf25 | |||
| 6833466c6f | |||
| 289457e625 | |||
| bf3698d504 | |||
| 0ddb8ea0fc | |||
| 225f17d3ad | |||
| 6d538a5d73 | |||
| 1a38454bb3 | |||
| 654d72a5d2 | |||
| 0138836f10 | |||
| 9b3ce5efc7 | |||
| 811beb9f54 | |||
| 648d136d4a | |||
| 0276254053 | |||
| 7b364dc859 | |||
| 3c12a9a877 | |||
| af0d939531 | |||
| 6a89910f7a | |||
| f2d91732d5 | |||
| af9fc10986 | |||
| 649f2616a9 | |||
| fb2c81bf4b | |||
| b8fd2666b4 | |||
| 81eaffac48 | |||
| 71cb852b98 | |||
| 583827ee1c | |||
| 819a592a37 | |||
| 31a5543b21 | |||
| 06e434949f | |||
| f2cf4645c9 | |||
| 36b4d64cc0 | |||
| 009be63a3c | |||
| 26fc93e858 | |||
| e9f7627d8f | |||
| db8996a5fb | |||
| 692fabba72 | |||
| 82e35d5a5a | |||
| 3de6a7dc50 | |||
| 73c3d3abf5 | |||
| b0f7c45713 | |||
| 686293f4e4 | |||
| f589e9bf1b | |||
| 9299392103 | |||
| 634ec24020 | |||
| 8569f92120 | |||
| 0b375c2471 | |||
| ab25d7c5ef | |||
| 61b57124a7 | |||
| 1b3afeb150 | |||
| 81427deb9d | |||
| a3e17f2402 | |||
| be46563f67 | |||
| cf188a10ed | |||
| bd016554a9 | |||
| 1062a17b3f | |||
| aef9793a47 | |||
| 3c88447a38 | |||
| 2d11b8282f | |||
| afddccf5c7 | |||
| 1e6ddf0e47 | |||
| 5ed4492203 | |||
| c0c380ab60 | |||
| 87337ba42e | |||
| f1b95e01a6 | |||
| 720e0728cc | |||
| a378079e5d | |||
| cb8dc9ac30 | |||
| d571fd72a3 | |||
| bcbde35105 | |||
| ab219abd7a | |||
| cedd0e757b | |||
| a71b904f80 | |||
| 3a9cc8b200 | |||
| 6a9998a135 | |||
| 5c9df43bd5 | |||
| 6cb241397a | |||
| 919b2e4efa | |||
| fd813e3096 | |||
| d691849540 | |||
| d0d7a13644 | |||
| b9a88d7e03 | |||
| 7c8763ca9e | |||
| 1bab6bdf8d | |||
| 8380fabf38 | |||
| d7b99c1bd0 | |||
| 6735fa36f2 | |||
| ad873384eb | |||
| 860ca51432 | |||
| 85b8ed49e4 | |||
| 4cf62418d4 | |||
| 66928e1800 | |||
| fe1f30d8f1 | |||
| b7c2764e3b | |||
| 5b7f79281a | |||
| 952485ee67 | |||
| d371e82e62 | |||
| 04bf65c149 | |||
| 9bef8f4da3 | |||
| 4836b8ef6c | |||
| f036705c40 | |||
| 3305c63001 | |||
| ba47f889b6 | |||
| 8ad3a1a817 | |||
| a695312660 | |||
| 0cb7f943f3 | |||
| aaf6b23dfb | |||
| 2846f007ff | |||
| 2eb3d7aab1 | |||
| b3c57cb383 | |||
| 87282481b4 | |||
| daadf061b4 | |||
| 71e60d06e4 | |||
| 22067e6126 | |||
| ed1e936f54 | |||
| f516347b78 | |||
| 11faee509a | |||
| 56121109cf | |||
| 10c5dbdf03 | |||
| 80977700e4 | |||
| 15a78465cd | |||
| 294785d799 | |||
| 6447d72dec | |||
| c7b995e899 | |||
| afd1e2622d | |||
| 6d703d4e3c | |||
| a69566fc42 | |||
| 0b56d750e4 | |||
| 1374687325 | |||
| f8e7176b05 | |||
| f6f0b5030b | |||
| f6010ec4b7 | |||
| 15a2309c6c | |||
| 70469c87a4 | |||
| 51723ead7c | |||
| 08a26d60df | |||
| d8b872420c | |||
| b3e7737ee8 | |||
| bd05d95140 | |||
| e3e48395b2 | |||
| c817b0f178 | |||
| d190f10c0f | |||
| c629da082f | |||
| 0fa30a6c7f | |||
| 8bb9bcca6e | |||
| ba75b06527 | |||
| 0e2ced0edd | |||
| 3954d6a204 | |||
| 8d33ca0325 | |||
| e56f6e73e0 | |||
| 2fb39de7d9 | |||
| ec26657d14 | |||
| cd3da2553b | |||
| 9c1219a9b7 | |||
| b3817c2aa4 | |||
| 42cd0fffc2 | |||
| 1c2928d042 | |||
| ea599e09e3 | |||
| f837a9fe3a | |||
| 739e4cc9cd | |||
| 62414fd544 | |||
| f3f11a2eb2 | |||
| 74c798d257 | |||
| 116881eec2 | |||
| 229b06f917 | |||
| ed2640ac59 | |||
| c9e863b32c | |||
| f90aaea2bd | |||
| 6120306d64 | |||
| 97f20ba58b | |||
| 7c18bf9ae0 | |||
| 957cc67c31 | |||
| d69be558d9 | |||
| cfee08c98e | |||
| 971306f515 | |||
| 253da872b3 | |||
| 59a4f80d7b | |||
| f47ac964e1 | |||
| 2a93396f78 | |||
| c086ee4473 | |||
| 082088cef1 | |||
| 9a27456d3e | |||
| 3e2a9202d5 | |||
| 75486809d6 | |||
| 6925a8fd5a | |||
| 202a45a548 | |||
| 88e35c8b1a | |||
| 1a5fad7dbd | |||
| 7992e64bb2 | |||
| dac945b6a6 | |||
| aa87dc7265 | |||
| 449b54c847 | |||
| e79777ecd0 | |||
| c24b54330a | |||
| 65d92d3836 | |||
| adee55b3f8 | |||
| 1217568e87 | |||
| ad3402d908 | |||
| ac5effa225 | |||
| a1c518a163 | |||
| 4fb9bad13c | |||
| b9f049a7bf | |||
| 4bff0bd598 | |||
| bf6047a47c | |||
| cc2cbb245b | |||
| 90d9af8443 | |||
| fab2b47bff | |||
| fc129652ab | |||
| a561fe94a8 | |||
| 435bb24416 | |||
| 820df025f0 | |||
| eb15ef6425 | |||
| 41d478a0ff | |||
| b561dbe189 | |||
| 0f62a9268f | |||
| cc2a25ecf5 | |||
| e909078db7 | |||
| 5e69cd80d1 | |||
| 84b86f4ea5 | |||
| b966192df8 | |||
| 74672780ba | |||
| d1c357bd03 | |||
| d9a4e72cdd | |||
| e386a14cff | |||
| 3891716c55 | |||
| 3efb9d787e | |||
| df1fcf34b2 | |||
| 3e532d81df | |||
| 6db6470ab4 | |||
| 9bd7fc3f45 | |||
| ee821a5272 | |||
| 6062fe0d81 | |||
| ab9fbb5698 | |||
| c04d9c0280 | |||
| 06a6e71cf9 | |||
| db34ff168a | |||
| 0484345b6d | |||
| 6762504799 | |||
| 8130556cec | |||
| 706ee9f71a | |||
| 559917bd36 | |||
| 42fbaf2d4f | |||
| e96f671daa | |||
| 2caa18bc2a | |||
| fe4e176c0c | |||
| e0f2e1d55f | |||
| f57f093f62 | |||
| 42af65be62 | |||
| 4be88534a6 | |||
| 61baab7016 | |||
| ae9aba68fe | |||
| 54bd382d78 | |||
| 045fb9abe2 | |||
| ccfddb1c32 | |||
| 4e7ed89078 | |||
| ec135eae3c | |||
| 5f15301376 | |||
| be89cea6d9 | |||
| 158bc2f163 | |||
| c407e981bc | |||
| 31e79e9b36 | |||
| be0f1b67cb | |||
| 95fa254486 | |||
| e16fe932a2 | |||
| 6506a3f099 | |||
| 8edf3ebfa3 | |||
| 30d01d4541 | |||
| 5e151b0217 | |||
| 102d4a7d75 | |||
| 1466f0f56a | |||
| 08da077a30 | |||
| d5adc2a005 | |||
| dad9990979 | |||
| d1aaa82219 | |||
| ed749d6dd6 | |||
| d29f1ae519 | |||
| d27cbbccc0 | |||
| dd1caf9fc0 | |||
| 780dff4113 | |||
| 5afdd69bd9 | |||
| 292871597d | |||
| 20263d6eb4 | |||
| 346d0129b7 | |||
| ef959e42d8 | |||
| b01b4a5e61 | |||
| c5331edcb7 | |||
| 60c59b7b56 | |||
| 6c621540c8 | |||
| 9d6a3a9775 | |||
| 77aa446bc7 | |||
| 2835826e08 | |||
| 23a90c13d0 | |||
| 7ab57a6011 | |||
| 2d549a9966 | |||
| 2325841705 | |||
| 8ee1b5635e | |||
| d04353be96 | |||
| 6e431bb51d | |||
| 6e6ed02695 | |||
| 57009416cc | |||
| df905e8c3a | |||
| 0a48ff6fca | |||
| c181bae020 | |||
| 7ee4f07193 | |||
| 3a475ea7da | |||
| 38f2c69561 | |||
| 7c68827878 | |||
| 4edd6b0045 | |||
| baaed9cae6 | |||
| a551537306 | |||
| c9c84c5414 | |||
| f523805248 | |||
| 22b64d3850 | |||
| 68d7b3b96a | |||
| 3afc6e5f5c | |||
| 0c13d5a416 | |||
| 5c0c4ece4e | |||
| fa539bbc7e | |||
| 469325183e | |||
| c900819436 | |||
| df3867a2cb | |||
| 1a09625672 | |||
| 70254a4ba7 | |||
| 591a2638d7 | |||
| 039173fc70 | |||
| 2ff1f8e854 | |||
| b7e0df7399 | |||
| 8dd8f26c56 | |||
| 4521dd0778 | |||
| db63896e2d | |||
| 569049891c | |||
| 134412bc27 | |||
| b7b9952547 | |||
| 56830380ef | |||
| ad15db3485 | |||
| 01ab639500 | |||
| deee5f6ac1 | |||
| 18b522c387 | |||
| 901e6cef13 | |||
| a88dce9724 | |||
| 0799c39e75 | |||
| 1d43a764eb | |||
| 34f74d5dca | |||
| f467fc9a3f | |||
| 89853ef51e | |||
| 362f652ef4 | |||
| cc9f5e6e51 | |||
| d1e73affd7 |
@@ -1,4 +0,0 @@
|
||||
# Sphinx build info version 1
|
||||
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||
config: f8974e043de468370d3f73767671d8de
|
||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
name: Modify document
|
||||
about: Modify a document for the Clear Linux* Project
|
||||
title: ''
|
||||
labels: P2
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the error/improvement to an existing document or image**
|
||||
Provide a clear and concise description of the error or proposed improvement.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain the error or unexpected behavior.
|
||||
|
||||
**Environment (please complete the following):**
|
||||
- Clear Linux OS version: [`cat /usr/lib/os-release`]
|
||||
- Third-party tool/software: [version]
|
||||
- Command [ [e.g. `sudo -i`]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
name: New document
|
||||
about: Request a new document for the Clear Linux* project
|
||||
title: ''
|
||||
labels: P2
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Do you think Clear Linux documentation needs a new document? Please describe.**
|
||||
Please provide a clear and concise description of the title and content. Identify the target audience: Developer; System Administrator; or Basic User.
|
||||
|
||||
**Should the new document be a guide, a reference, or a tutorial?**
|
||||
Recommend a type of document, based on the structure here: https://clearlinux.org/documentation/clear-linux
|
||||
|
||||
**Describe or provide examples of similar documents, if possible, from other web sites**
|
||||
Please provide an example of similar documents if possible.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots for the document request here.
|
||||
@@ -0,0 +1,13 @@
|
||||
name: Greetings
|
||||
|
||||
on: [pull_request, issues]
|
||||
|
||||
jobs:
|
||||
greeting:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/first-interaction@v1
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-message: 'Welcome to Clear Linux* OS Docs. Thanks for submitting your first issue.'
|
||||
pr-message: 'Welcome to Clear Linux* OS Docs. Thanks for submitting your first PR.'
|
||||
@@ -0,0 +1,19 @@
|
||||
#Exluding from the tree the html build files
|
||||
source/_build
|
||||
# ignore vi temporary files
|
||||
*.swp
|
||||
*~
|
||||
.*~
|
||||
|
||||
# ignore VS code settings
|
||||
.vscode/
|
||||
|
||||
# ignore .mo translation files
|
||||
*.mo
|
||||
|
||||
# ignore artifacts generated by running make py
|
||||
cloned_repo
|
||||
bundles.html.txt
|
||||
|
||||
# ignore the venv, used for running make py
|
||||
venv
|
||||
@@ -0,0 +1,19 @@
|
||||
image: alpine
|
||||
|
||||
pages:
|
||||
script:
|
||||
- apk --no-cache add python3
|
||||
- python3 -m ensurepip
|
||||
- pip3 install sphinx==1.8.0 docutils==0.14 sphinx_rtd_theme breathe==4.9.1 sphinxcontrib-plantuml sphinx-intl==2.0.0 sphinx-sitemap==1.0.2
|
||||
- apk --no-cache add make
|
||||
- apk --no-cache add doxygen
|
||||
- apk --no-cache add graphviz
|
||||
- apk --no-cache add ttf-dejavu
|
||||
- apk --no-cache add openjdk8-jre
|
||||
- make htmlall
|
||||
- mv source/_build/html/ public/
|
||||
artifacts:
|
||||
paths:
|
||||
- public
|
||||
only:
|
||||
- rtd-theme
|
||||
@@ -0,0 +1,54 @@
|
||||
language: python
|
||||
|
||||
python:
|
||||
- "3.6"
|
||||
|
||||
# command to install dependencies
|
||||
install:
|
||||
- pip3 install -q -r requirements.txt
|
||||
|
||||
# command to run tests
|
||||
script:
|
||||
- make py
|
||||
- make htmlall
|
||||
|
||||
before_deploy:
|
||||
- make linkcheck
|
||||
# only deploy the latest tagged release of Simplified Chinese docs
|
||||
- wget https://github.com/clearlinux/clear-linux-documentation-zh-CN/releases/latest/download/clearlinux-docs-zh-CN.tar.gz
|
||||
- mkdir source/_build/html/zh_CN
|
||||
- tar xvzf clearlinux-docs-zh-CN.tar.gz -C source/_build/html/zh_CN
|
||||
|
||||
deploy:
|
||||
- provider: pages
|
||||
skip_cleanup: true
|
||||
github_token: $GITHUB_TOKEN
|
||||
target-branch: latestHTML
|
||||
on:
|
||||
branch: publish
|
||||
local_dir: source/_build/html/
|
||||
- provider: pages
|
||||
skip_cleanup: true
|
||||
github_token: $GITHUB_TOKEN
|
||||
target-branch: developmentHTML
|
||||
on:
|
||||
branch: master
|
||||
local_dir: source/_build/html/
|
||||
- provider: pages
|
||||
skip_cleanup: true
|
||||
github_token: $GITHUB_TOKEN
|
||||
target-branch: developmentHTML
|
||||
on:
|
||||
branch: development
|
||||
local_dir: source/_build/html/
|
||||
- provider: releases
|
||||
skip_cleanup: true
|
||||
api_key: $GITHUB_TOKEN
|
||||
file: clearlinux-docs-zh-CN.tar.gz
|
||||
on:
|
||||
tags: true
|
||||
|
||||
|
||||
after_deploy:
|
||||
- wget $PUBLISH_URL
|
||||
- cat clearlinux-latest
|
||||
@@ -1,405 +0,0 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en" data-content_root="../">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>FAQ — Documentation for Clear Linux* project</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/bizstyle.css?v=5283bb3d" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/copybutton.css?v=76b2166b" />
|
||||
|
||||
<script src="../_static/documentation_options.js?v=5929fcd5"></script>
|
||||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
|
||||
<script src="../_static/copybutton.js?v=a56c686a"></script>
|
||||
<script src="../_static/bizstyle.js"></script>
|
||||
<link rel="canonical" href="https://clearlinux.github.io/clear-linux-documentation/FAQ/index.html" />
|
||||
<link rel="icon" href="../_static/favicon.ico"/>
|
||||
<link rel="author" title="About these documents" href="../about.html" />
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Contribute" href="../collaboration/collaboration.html" />
|
||||
<link rel="prev" title="Tutorial difficulty ratings" href="../reference/tutorial-ratings.html" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/css3-mediaqueries.js"></script>
|
||||
<![endif]-->
|
||||
</head><body>
|
||||
<div class="related" role="navigation" aria-label="Related">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../collaboration/collaboration.html" title="Contribute"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="../reference/tutorial-ratings.html" title="Tutorial difficulty ratings"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Documentation for Clear Linux* project</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">FAQ</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="faq">
|
||||
<span id="id1"></span><h1>FAQ<a class="headerlink" href="#faq" title="Link to this heading">¶</a></h1>
|
||||
<p>Below is a list of commonly asked questions with answers sourced from the
|
||||
Clear Linux* OS team and <a class="reference external" href="https://community.clearlinux.org">Clear Linux community forums</a>.</p>
|
||||
<nav class="contents local" id="contents">
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="#general" id="id2">General</a></p>
|
||||
<ul>
|
||||
<li><p><a class="reference internal" href="#what-is-cl" id="id3">What is Clear Linux OS?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#why-another-linux-distribution" id="id4">Why another Linux distribution?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#is-it-a-derivative-of-another-linux-distribution" id="id5">Is it a derivative of another Linux distribution?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#can-others-copy-improvements-from-cl" id="id6">Can others copy improvements from Clear Linux OS?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#how-often-does-it-update" id="id7">How often does it update?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#is-telemetry-required" id="id8">Is telemetry required?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#what-is-the-default-firewall" id="id9">What is the default firewall?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#where-are-the-files-that-i-usually-see-under-etc-like-fstab" id="id10">Where are the files that I usually see under /etc like fstab?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#does-it-use-the-intel-compiler-icc" id="id11">Does it use the Intel Compiler (icc)?</a></p></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p><a class="reference internal" href="#software" id="id12">Software</a></p>
|
||||
<ul>
|
||||
<li><p><a class="reference internal" href="#how-is-software-installed-and-updated" id="id13">How is software installed and updated?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#does-it-use-rpms-or-debs-packages-like-other-distros" id="id14">Does it use RPMs or DEBs packages like other distros?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#why-does-it-have-a-different-approach-to-software-management" id="id15">Why does it have a different approach to software management?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#can-i-install-a-software-package-from-another-os-on-cl" id="id16">Can I install a software package from another OS on Clear Linux OS?</a></p></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p><a class="reference internal" href="#software-availability" id="id17">Software availability</a></p>
|
||||
<ul>
|
||||
<li><p><a class="reference internal" href="#what-software-is-available-on-cl" id="id18">What software is available on Clear Linux OS?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#is-google-chrome-available" id="id19">Is Google* Chrome* available?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#is-microsoft-visual-studio-code-available" id="id20">Is Microsoft* Visual Studio Code* available?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#is-ffmpeg-available" id="id21">Is FFmpeg available?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#is-zfs-available" id="id22">Is ZFS* available?</a></p></li>
|
||||
<li><p><a class="reference internal" href="#can-you-add-a-driver-that-i-need" id="id23">Can you add a driver that I need?</a></p></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<section id="general">
|
||||
<h2><a class="toc-backref" href="#id2" role="doc-backlink">General</a><a class="headerlink" href="#general" title="Link to this heading">¶</a></h2>
|
||||
<section id="what-is-cl">
|
||||
<h3><a class="toc-backref" href="#id3" role="doc-backlink">What is Clear Linux OS?</a><a class="headerlink" href="#what-is-cl" title="Link to this heading">¶</a></h3>
|
||||
<p>Clear Linux OS is an open source, rolling release Linux distribution optimized for
|
||||
performance and security. See <a class="reference external" href="https://clearlinux.org/about">the about page</a>
|
||||
for more information.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="why-another-linux-distribution">
|
||||
<h3><a class="toc-backref" href="#id4" role="doc-backlink">Why another Linux distribution?</a><a class="headerlink" href="#why-another-linux-distribution" title="Link to this heading">¶</a></h3>
|
||||
<p>The Clear Linux OS team felt that performance was left on the table with Linux software.
|
||||
Clear Linux OS takes a holistic approach to improve performance across the stack. We
|
||||
also wanted to take more modern approaches with OS updates and tooling.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="is-it-a-derivative-of-another-linux-distribution">
|
||||
<h3><a class="toc-backref" href="#id5" role="doc-backlink">Is it a derivative of another Linux distribution?</a><a class="headerlink" href="#is-it-a-derivative-of-another-linux-distribution" title="Link to this heading">¶</a></h3>
|
||||
<p>No. Clear Linux OS is a new Linux distribution. It is not a fork and does not have a
|
||||
parent Linux distribution.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="can-others-copy-improvements-from-cl">
|
||||
<h3><a class="toc-backref" href="#id6" role="doc-backlink">Can others copy improvements from Clear Linux OS?</a><a class="headerlink" href="#can-others-copy-improvements-from-cl" title="Link to this heading">¶</a></h3>
|
||||
<p>Yes, we absolutely love open source reuse and upstreaming improvements.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="how-often-does-it-update">
|
||||
<h3><a class="toc-backref" href="#id7" role="doc-backlink">How often does it update?</a><a class="headerlink" href="#how-often-does-it-update" title="Link to this heading">¶</a></h3>
|
||||
<p>The Clear Linux OS team puts out multiple releases a week, often releasing two or more
|
||||
times a day. This rolling release approach allows Clear Linux OS to remain agile to
|
||||
upstream changes and security patches.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="is-telemetry-required">
|
||||
<h3><a class="toc-backref" href="#id8" role="doc-backlink">Is telemetry required?</a><a class="headerlink" href="#is-telemetry-required" title="Link to this heading">¶</a></h3>
|
||||
<p>The telemetry solution provided by Clear Linux OS is entirely optional and customizable.
|
||||
It is disabled by default. If you do choose to enable telemetry, the data
|
||||
helps the Clear Linux OS team proactively identify and resolve bugs. See the
|
||||
<a class="reference internal" href="../guides/clear/telemetrics.html#telem-guide"><span class="std std-ref">telemetry</span></a> guide for more information.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="what-is-the-default-firewall">
|
||||
<h3><a class="toc-backref" href="#id9" role="doc-backlink">What is the default firewall?</a><a class="headerlink" href="#what-is-the-default-firewall" title="Link to this heading">¶</a></h3>
|
||||
<p>Clear Linux OS packages <strong class="command">iptables</strong> and <strong class="command">firewalld</strong> as optional
|
||||
bundles, however, there are no default firewall rules. All network traffic is
|
||||
allowed by default.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="where-are-the-files-that-i-usually-see-under-etc-like-fstab">
|
||||
<h3><a class="toc-backref" href="#id10" role="doc-backlink">Where are the files that I usually see under /etc like fstab?</a><a class="headerlink" href="#where-are-the-files-that-i-usually-see-under-etc-like-fstab" title="Link to this heading">¶</a></h3>
|
||||
<p>Clear Linux OS has a stateless design that maintains a separation between system files
|
||||
and user files. Default values are stored under <code class="file docutils literal notranslate"><span class="pre">/usr/share/defaults/</span></code>.
|
||||
Clear Linux OS starts with a mostly empty <code class="file docutils literal notranslate"><span class="pre">/etc</span></code> directory to store user-defined
|
||||
configurations. See the <a class="reference internal" href="../guides/clear/stateless.html#stateless"><span class="std std-ref">stateless</span></a> page for more information.</p>
|
||||
<p>See <a class="reference external" href="https://clearlinux.org/news-blogs/where-etcfstab-clear-linux">this blog post</a> for an
|
||||
example explaining how this is accomplished with <code class="file docutils literal notranslate"><span class="pre">/etc/fstab/</span></code>
|
||||
specifically.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="does-it-use-the-intel-compiler-icc">
|
||||
<h3><a class="toc-backref" href="#id11" role="doc-backlink">Does it use the Intel Compiler (icc)?</a><a class="headerlink" href="#does-it-use-the-intel-compiler-icc" title="Link to this heading">¶</a></h3>
|
||||
<p>No. Clear Linux OS uses open source compilers: <strong class="command">gcc</strong> and <strong class="command">clang</strong>. Clear Linux OS
|
||||
does not compile any packages with <strong class="command">icc</strong>.</p>
|
||||
<p>For a more detailed explanation, see <a class="reference external" href="https://community.clearlinux.org/t/does-clear-linux-os-use-the-intel-compiler-icc-tl-nope/">this discussion on the community forum</a>.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="software">
|
||||
<h2><a class="toc-backref" href="#id12" role="doc-backlink">Software</a><a class="headerlink" href="#software" title="Link to this heading">¶</a></h2>
|
||||
<section id="how-is-software-installed-and-updated">
|
||||
<h3><a class="toc-backref" href="#id13" role="doc-backlink">How is software installed and updated?</a><a class="headerlink" href="#how-is-software-installed-and-updated" title="Link to this heading">¶</a></h3>
|
||||
<p>Clear Linux OS provides software in the form of <a class="reference internal" href="../guides/clear/bundles.html#bundles-guide"><span class="std std-ref">bundles</span></a> and
|
||||
updates software with <a class="reference internal" href="../guides/clear/swupd.html#swupd-guide"><span class="std std-ref">swupd</span></a>.</p>
|
||||
<p><a class="reference internal" href="../tutorials/flatpak.html#flatpak-tutorial"><span class="std std-ref">Flatpak*</span></a> is an application virtualization solution
|
||||
that allows more software to be available to Clear Linux OS users by augmenting the
|
||||
software Clear Linux OS packages natively with software available through Flatpak.</p>
|
||||
<p>Our goal is to have software packaged natively and made available through
|
||||
bundles whenever possible.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="does-it-use-rpms-or-debs-packages-like-other-distros">
|
||||
<h3><a class="toc-backref" href="#id14" role="doc-backlink">Does it use RPMs or DEBs packages like other distros?</a><a class="headerlink" href="#does-it-use-rpms-or-debs-packages-like-other-distros" title="Link to this heading">¶</a></h3>
|
||||
<p>No. Clear Linux OS provides software to systems in the form of <a class="reference internal" href="../guides/clear/bundles.html#bundles-guide"><span class="std std-ref">Bundles</span></a>.
|
||||
Under the hood, Clear Linux OS developers use the RPM format as an intermediary step for
|
||||
packaging and determining software dependencies at OS build time.</p>
|
||||
<p>Individual RPMs and DEBs can sometimes be manually extracted and installed on
|
||||
a Clear Linux OS system with the right tools, but that is not the intended use case.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="why-does-it-have-a-different-approach-to-software-management">
|
||||
<h3><a class="toc-backref" href="#id15" role="doc-backlink">Why does it have a different approach to software management?</a><a class="headerlink" href="#why-does-it-have-a-different-approach-to-software-management" title="Link to this heading">¶</a></h3>
|
||||
<p>The Clear Linux OS team wants software <em>installation</em> and <em>updates</em> to be as efficient
|
||||
and error free as possible. Clear Linux OS packages software differently and uses a
|
||||
novel updater to solve some of the classic problems with how the software
|
||||
packages are on Linux.</p>
|
||||
<p>For a more detailed explanation, see <a class="reference external" href="https://community.clearlinux.org/t/why-does-clearlinux-use-swupd-and-not-apt-deb-rpm/">this discussion on our community forum</a>.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="can-i-install-a-software-package-from-another-os-on-cl">
|
||||
<h3><a class="toc-backref" href="#id16" role="doc-backlink">Can I install a software package from another OS on Clear Linux OS?</a><a class="headerlink" href="#can-i-install-a-software-package-from-another-os-on-cl" title="Link to this heading">¶</a></h3>
|
||||
<p>Software that is packaged in other formats for other Linux distributions is
|
||||
not guaranteed to work on Clear Linux OS and may be impacted by Clear Linux OS updates.</p>
|
||||
<p>If the software you’re seeking is open source, please submit a request to add
|
||||
it to Clear Linux OS. Submit requests on GitHub* here:
|
||||
<a class="reference external" href="https://github.com/clearlinux/distribution/issues">https://github.com/clearlinux/distribution/issues</a></p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="software-availability">
|
||||
<h2><a class="toc-backref" href="#id17" role="doc-backlink">Software availability</a><a class="headerlink" href="#software-availability" title="Link to this heading">¶</a></h2>
|
||||
<section id="what-software-is-available-on-cl">
|
||||
<h3><a class="toc-backref" href="#id18" role="doc-backlink">What software is available on Clear Linux OS?</a><a class="headerlink" href="#what-software-is-available-on-cl" title="Link to this heading">¶</a></h3>
|
||||
<p>Available software can be found in the <a class="reference external" href="https://clearlinux.org/software">Software Store</a>, through the GNOME*
|
||||
Software application on the desktop, or by using <a class="reference internal" href="../guides/clear/swupd.html#swupd-quick-ref"><span class="std std-ref">swupd search</span></a>.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="is-google-chrome-available">
|
||||
<h3><a class="toc-backref" href="#id19" role="doc-backlink">Is Google* Chrome* available?</a><a class="headerlink" href="#is-google-chrome-available" title="Link to this heading">¶</a></h3>
|
||||
<p>The Google Chrome web browser is not distributed as a bundle in Clear Linux OS due to
|
||||
copyright and licensing complexities.</p>
|
||||
<p>A <a class="reference external" href="https://github.com/clearlinux/distribution/issues/422">discussion on manually installing and maintaining Google Chrome</a> can be found on
|
||||
GitHub.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="is-microsoft-visual-studio-code-available">
|
||||
<h3><a class="toc-backref" href="#id20" role="doc-backlink">Is Microsoft* Visual Studio Code* available?</a><a class="headerlink" href="#is-microsoft-visual-studio-code-available" title="Link to this heading">¶</a></h3>
|
||||
<p>Yes. Find the CLI command for installing <a class="reference external" href="https://clearlinux.org/software?search_api_fulltext=vscode">VS Code</a> and other Flatpak apps in
|
||||
the <a class="reference external" href="https://clearlinux.org/software">software store</a>. Installing Flatpak apps is also covered in our
|
||||
<a class="reference internal" href="../tutorials/flatpak.html#flatpak-tutorial"><span class="std std-ref">tutorial</span></a>.</p>
|
||||
<p>The Clear Linux OS team is working on a natively packaged version of Visual Studio Code
|
||||
for future release.</p>
|
||||
<p>Join a community <a class="reference external" href="https://community.clearlinux.org/t/need-native-support-for-vs-code-through-swupd/">forum discussion about manually installing and maintaining
|
||||
Visual Studio Code</a>.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="is-ffmpeg-available">
|
||||
<span id="licensing-restrict"></span><h3><a class="toc-backref" href="#id21" role="doc-backlink">Is FFmpeg available?</a><a class="headerlink" href="#is-ffmpeg-available" title="Link to this heading">¶</a></h3>
|
||||
<p><a class="reference external" href="https://ffmpeg.org/">FFmpeg</a> is a multimedia software suite, which is commonly used for
|
||||
various media encoding/decoding, streaming, and playback.</p>
|
||||
<p>Clear Linux OS does not distribute FFmpeg due to well-known licensing and legal
|
||||
complexities (See <a class="reference external" href="https://www.ffmpeg.org/legal.html">https://www.ffmpeg.org/legal.html</a> and
|
||||
<a class="reference external" href="http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html">http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html</a>).</p>
|
||||
<p>While Clear Linux OS cannot distribute FFmpeg, solutions for manually building and
|
||||
installing FFmpeg have been shared by users <a class="reference external" href="https://github.com/clearlinux/distribution/issues/429">on GitHub</a> and <a class="reference external" href="https://community.clearlinux.org/t/how-to-h264-etc-support-for-firefox-including-ffmpeg-install">the community
|
||||
forums</a>.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="is-zfs-available">
|
||||
<h3><a class="toc-backref" href="#id22" role="doc-backlink">Is ZFS* available?</a><a class="headerlink" href="#is-zfs-available" title="Link to this heading">¶</a></h3>
|
||||
<p>ZFS is not available with Clear Linux OS because of copyright and licensing
|
||||
complexities. BTRFS is an alternative filesystem that is available in Clear Linux OS
|
||||
natively.</p>
|
||||
<p>A community contributed tutorial has been shared on how to <a class="reference internal" href="../tutorials/zfs.html#zfs"><span class="std std-ref">manually
|
||||
install ZFS</span></a>.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="can-you-add-a-driver-that-i-need">
|
||||
<h3><a class="toc-backref" href="#id23" role="doc-backlink">Can you add a driver that I need?</a><a class="headerlink" href="#can-you-add-a-driver-that-i-need" title="Link to this heading">¶</a></h3>
|
||||
<p>If a kernel module is available as part of the Linux kernel source tree but
|
||||
not enabled in the Clear Linux OS kernels, in many cases the Clear Linux OS team will enable it
|
||||
upon request. Submit requests on GitHub here:
|
||||
<a class="reference external" href="https://github.com/clearlinux/distribution/issues">https://github.com/clearlinux/distribution/issues</a></p>
|
||||
<p>The Clear Linux OS team does not typically add out-of-tree kernel modules as a matter of
|
||||
practice because of the maintenance overhead. If the driver was unable to be
|
||||
merged upstream, there is a good chance we may be unable to merge it for
|
||||
similar reasons.</p>
|
||||
<p>Kernel modules can be individually built and installed on Clear Linux OS. See the
|
||||
<a class="reference internal" href="../guides/kernel/kernel-modules.html#kernel-modules"><span class="std std-ref">kernel modules</span></a> page for more information.</p>
|
||||
<div class="line-block">
|
||||
<div class="line"><br /></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="Main">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<p class="logo"><a href="../index.html">
|
||||
<img class="logo" src="../_static/clearlinux.png" alt="Logo of Clear Linux* Project Docs"/>
|
||||
</a></p>
|
||||
<div>
|
||||
<h3><a href="../index.html">Table of Contents</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">FAQ</a><ul>
|
||||
<li><a class="reference internal" href="#general">General</a><ul>
|
||||
<li><a class="reference internal" href="#what-is-cl">What is Clear Linux OS?</a></li>
|
||||
<li><a class="reference internal" href="#why-another-linux-distribution">Why another Linux distribution?</a></li>
|
||||
<li><a class="reference internal" href="#is-it-a-derivative-of-another-linux-distribution">Is it a derivative of another Linux distribution?</a></li>
|
||||
<li><a class="reference internal" href="#can-others-copy-improvements-from-cl">Can others copy improvements from Clear Linux OS?</a></li>
|
||||
<li><a class="reference internal" href="#how-often-does-it-update">How often does it update?</a></li>
|
||||
<li><a class="reference internal" href="#is-telemetry-required">Is telemetry required?</a></li>
|
||||
<li><a class="reference internal" href="#what-is-the-default-firewall">What is the default firewall?</a></li>
|
||||
<li><a class="reference internal" href="#where-are-the-files-that-i-usually-see-under-etc-like-fstab">Where are the files that I usually see under /etc like fstab?</a></li>
|
||||
<li><a class="reference internal" href="#does-it-use-the-intel-compiler-icc">Does it use the Intel Compiler (icc)?</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#software">Software</a><ul>
|
||||
<li><a class="reference internal" href="#how-is-software-installed-and-updated">How is software installed and updated?</a></li>
|
||||
<li><a class="reference internal" href="#does-it-use-rpms-or-debs-packages-like-other-distros">Does it use RPMs or DEBs packages like other distros?</a></li>
|
||||
<li><a class="reference internal" href="#why-does-it-have-a-different-approach-to-software-management">Why does it have a different approach to software management?</a></li>
|
||||
<li><a class="reference internal" href="#can-i-install-a-software-package-from-another-os-on-cl">Can I install a software package from another OS on Clear Linux OS?</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#software-availability">Software availability</a><ul>
|
||||
<li><a class="reference internal" href="#what-software-is-available-on-cl">What software is available on Clear Linux OS?</a></li>
|
||||
<li><a class="reference internal" href="#is-google-chrome-available">Is Google* Chrome* available?</a></li>
|
||||
<li><a class="reference internal" href="#is-microsoft-visual-studio-code-available">Is Microsoft* Visual Studio Code* available?</a></li>
|
||||
<li><a class="reference internal" href="#is-ffmpeg-available">Is FFmpeg available?</a></li>
|
||||
<li><a class="reference internal" href="#is-zfs-available">Is ZFS* available?</a></li>
|
||||
<li><a class="reference internal" href="#can-you-add-a-driver-that-i-need">Can you add a driver that I need?</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="../reference/tutorial-ratings.html"
|
||||
title="previous chapter">Tutorial difficulty ratings</a></p>
|
||||
</div>
|
||||
<div>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="../collaboration/collaboration.html"
|
||||
title="next chapter">Contribute</a></p>
|
||||
</div>
|
||||
<div role="note" aria-label="source link">
|
||||
<h3>This Page</h3>
|
||||
<ul class="this-page-menu">
|
||||
<li><a href="../_sources/FAQ/index.rst.txt"
|
||||
rel="nofollow">Show Source</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<search id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</search>
|
||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="related" role="navigation" aria-label="Related">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../collaboration/collaboration.html" title="Contribute"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="../reference/tutorial-ratings.html" title="Tutorial difficulty ratings"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Documentation for Clear Linux* project</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">FAQ</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2022 Intel Corporation. All Rights Reserved..
|
||||
Last updated on Nov 04, 2024.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.1.3.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,39 @@
|
||||
# Makefile for Sphinx documentation
|
||||
|
||||
SHELL := /bin/bash
|
||||
|
||||
PY_VERSION ?= 3.6
|
||||
|
||||
all:
|
||||
make -C source html
|
||||
|
||||
htmlall:
|
||||
make -C source htmlall
|
||||
|
||||
htmlzh:
|
||||
make -C source htmlzh
|
||||
|
||||
htmlde:
|
||||
make -C source htmlde
|
||||
|
||||
html:
|
||||
make -C source html
|
||||
|
||||
linkcheck:
|
||||
make -C source linkcheck
|
||||
|
||||
py:
|
||||
make -C source py
|
||||
|
||||
help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " html to make standalone HTML files"
|
||||
|
||||
clean:
|
||||
make -C source clean
|
||||
rm -rf venv
|
||||
|
||||
venv:
|
||||
virtualenv venv;\
|
||||
source venv/bin/activate; \
|
||||
pip3 install -r requirements.txt;
|
||||
@@ -0,0 +1,184 @@
|
||||
Documentation build instructions
|
||||
################################
|
||||
|
||||
.. todo add comment re not using standards here.
|
||||
|
||||
`Clear Linux\* OS documentation`_ is written using `reStructuredText`_ and
|
||||
built using `Sphinx`_. Follow the instructions in this README to build the
|
||||
documentation locally for development and testing.
|
||||
|
||||
Please make yourself familiar with our `contribution guidelines`_ before
|
||||
submitting a contribution.
|
||||
|
||||
Clone the documentation repository
|
||||
**********************************
|
||||
|
||||
Clone the documentation repository to your local machine.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git clone https://github.com/clearlinux/clear-linux-documentation
|
||||
|
||||
Requirements
|
||||
************
|
||||
|
||||
Make sure you have Python 3 installed to start.
|
||||
|
||||
The Sphinx documentation provides `instructions for installing Sphinx`_
|
||||
on various platforms.
|
||||
|
||||
Use pip3 to install additional Python dependencies listed in the
|
||||
requirements.txt file found in the repository:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip3 install -r requirements.txt
|
||||
|
||||
Run the build
|
||||
*************
|
||||
|
||||
We build our documentation using Sphinx. In the source directory of your
|
||||
local clear-linux-documentation repository, preview changes to the
|
||||
documentation by building the docs in the default language (English) by
|
||||
running ``make html``:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make html
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sphinx-build -b html -d _build/doctrees . _build/html
|
||||
Running Sphinx v1.8.0
|
||||
making output directory...
|
||||
.
|
||||
.
|
||||
.
|
||||
build succeeded, 0 warnings.
|
||||
|
||||
The HTML pages are in _build/html.
|
||||
|
||||
Build finished. The HTML pages are in _build/html.
|
||||
|
||||
Open one of the HTML pages found in ``source/_build/html`` in a web browser
|
||||
to view the rendered documentation.
|
||||
|
||||
If you want to build the documentation exactly as seen on the website, use
|
||||
``make py`` followed by ``make htmlall``. This builds some
|
||||
external dependencies and all supported languages.
|
||||
|
||||
Use virtualenv
|
||||
**************
|
||||
|
||||
To develop documentation in a ``virtualenv``, use the ``venv`` target.
|
||||
The Clear Linux OS documentation make target ``venv`` provides a
|
||||
simple development environment that ensures that you have the
|
||||
latest packages and that you manage Python versions separately. Use of the
|
||||
``virtualenv`` requires **Python 3.6** or higher. For Windows examples below, use Powershell as an Administrator.
|
||||
|
||||
The **virtual environment** uses the same version of Python that was used to **create the virtual environment**.
|
||||
|
||||
Verify ``pip`` is installed. A file path to pip should appear.
|
||||
|
||||
On Clear Linux OS and macOS\*:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
which pip
|
||||
|
||||
On Windows\* 10 OS:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip --version
|
||||
|
||||
If ``pip`` is not installed, install it.
|
||||
|
||||
On Clear Linux OS and macOS:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
python3 -m pip install --user --upgrade pip
|
||||
|
||||
On Windows 10 OS:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
py -m pip install --upgrade pip
|
||||
|
||||
.. note::
|
||||
|
||||
This assumes Python was already added to your Windows path.
|
||||
|
||||
Install virtualenv
|
||||
==================
|
||||
|
||||
Install ``virtualenv``.
|
||||
|
||||
On Clear Linux OS and macOS\*:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
python3 -m pip install --user virtualenv
|
||||
|
||||
On Windows 10 OS:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
py -m pip install --user virtualenv
|
||||
|
||||
Create the ``virtualenv`` and install the required packages:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make venv
|
||||
|
||||
Activate the ``venv``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
source venv/bin/activate
|
||||
|
||||
Follow `Run the build`_ section to start developing documentation.
|
||||
|
||||
Remove the ``venv`` when finished developing.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
deactivate
|
||||
|
||||
Additional help
|
||||
***************
|
||||
|
||||
Cleaning up
|
||||
===========
|
||||
|
||||
When testing changes in the documentation, make sure to remove the previous
|
||||
build before building again by running ``make clean``:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make clean
|
||||
|
||||
This will completely remove the previous build output, including artifacts
|
||||
from the `make venv` target when done outside an active venv.
|
||||
|
||||
Convenience script
|
||||
==================
|
||||
|
||||
This bash script (Linux only) includes both ``make clean`` and
|
||||
``make html``. It also starts a simple Python web server that
|
||||
displays a preview of the site at http://localhost:8000 on your local machine.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./checkwork.sh
|
||||
|
||||
To stop the web server simply use ``ctrl-c``.
|
||||
|
||||
.. _Clear Linux\* OS documentation: https://docs.01.org/clearlinux/
|
||||
.. _Sphinx: http://sphinx-doc.org/
|
||||
.. _reStructuredText: http://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html
|
||||
.. _contribution guidelines: https://docs.01.org/clearlinux/latest/collaboration/collaboration.html
|
||||
.. _instructions for installing Sphinx: https://www.sphinx-doc.org/en/master/usage/installation.html
|
||||
|
||||
|
Before Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 283 KiB |
|
Before Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 201 KiB |
|
Before Width: | Height: | Size: 194 KiB |
|
Before Width: | Height: | Size: 269 KiB |
|
Before Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 202 KiB |
|
Before Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 231 KiB |
|
Before Width: | Height: | Size: 190 KiB |
|
Before Width: | Height: | Size: 168 KiB |
|
Before Width: | Height: | Size: 192 KiB |
|
Before Width: | Height: | Size: 224 KiB |
|
Before Width: | Height: | Size: 197 KiB |
|
Before Width: | Height: | Size: 293 KiB |
|
Before Width: | Height: | Size: 296 KiB |
|
Before Width: | Height: | Size: 210 KiB |
|
Before Width: | Height: | Size: 221 KiB |
|
Before Width: | Height: | Size: 223 KiB |
|
Before Width: | Height: | Size: 213 KiB |
|
Before Width: | Height: | Size: 222 KiB |
|
Before Width: | Height: | Size: 283 KiB |
|
Before Width: | Height: | Size: 275 KiB |
|
Before Width: | Height: | Size: 308 KiB |
|
Before Width: | Height: | Size: 258 KiB |
|
Before Width: | Height: | Size: 283 KiB |
|
Before Width: | Height: | Size: 255 KiB |
|
Before Width: | Height: | Size: 232 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 185 KiB |
|
Before Width: | Height: | Size: 53 KiB |
@@ -1,255 +0,0 @@
|
||||
.. _faq:
|
||||
|
||||
FAQ
|
||||
###
|
||||
|
||||
Below is a list of commonly asked questions with answers sourced from the
|
||||
|CL-ATTR| team and `Clear Linux community forums`_.
|
||||
|
||||
.. contents:: :local:
|
||||
:depth: 2
|
||||
|
||||
General
|
||||
*******
|
||||
|
||||
What is |CL|?
|
||||
=============
|
||||
|
||||
|CL| is an open source, rolling release Linux distribution optimized for
|
||||
performance and security. See `the about page <https://clearlinux.org/about>`_
|
||||
for more information.
|
||||
|
||||
|
|
||||
|
||||
Why another Linux distribution?
|
||||
===============================
|
||||
|
||||
The |CL| team felt that performance was left on the table with Linux software.
|
||||
|CL| takes a holistic approach to improve performance across the stack. We
|
||||
also wanted to take more modern approaches with OS updates and tooling.
|
||||
|
||||
|
|
||||
|
||||
Is it a derivative of another Linux distribution?
|
||||
=================================================
|
||||
|
||||
No. |CL| is a new Linux distribution. It is not a fork and does not have a
|
||||
parent Linux distribution.
|
||||
|
||||
|
|
||||
|
||||
Can others copy improvements from |CL|?
|
||||
=======================================
|
||||
|
||||
Yes, we absolutely love open source reuse and upstreaming improvements.
|
||||
|
||||
|
|
||||
|
||||
How often does it update?
|
||||
=========================
|
||||
|
||||
The |CL| team puts out multiple releases a week, often releasing two or more
|
||||
times a day. This rolling release approach allows |CL| to remain agile to
|
||||
upstream changes and security patches.
|
||||
|
||||
|
|
||||
|
||||
Is telemetry required?
|
||||
======================
|
||||
|
||||
The telemetry solution provided by |CL| is entirely optional and customizable.
|
||||
It is disabled by default. If you do choose to enable telemetry, the data
|
||||
helps the |CL| team proactively identify and resolve bugs. See the
|
||||
:ref:`telemetry <telem-guide>` guide for more information.
|
||||
|
||||
|
|
||||
|
||||
What is the default firewall?
|
||||
=============================
|
||||
|
||||
|CL| packages :command:`iptables` and :command:`firewalld` as optional
|
||||
bundles, however, there are no default firewall rules. All network traffic is
|
||||
allowed by default.
|
||||
|
||||
|
|
||||
|
||||
Where are the files that I usually see under /etc like fstab?
|
||||
=============================================================
|
||||
|
||||
|CL| has a stateless design that maintains a separation between system files
|
||||
and user files. Default values are stored under :file:`/usr/share/defaults/`.
|
||||
|CL| starts with a mostly empty :file:`/etc` directory to store user-defined
|
||||
configurations. See the :ref:`stateless <stateless>` page for more information.
|
||||
|
||||
See `this blog post
|
||||
<https://clearlinux.org/news-blogs/where-etcfstab-clear-linux>`_ for an
|
||||
example explaining how this is accomplished with :file:`/etc/fstab/`
|
||||
specifically.
|
||||
|
||||
|
||||
|
|
||||
|
||||
Does it use the Intel Compiler (icc)?
|
||||
=====================================
|
||||
|
||||
No. |CL| uses open source compilers: :command:`gcc` and :command:`clang`. |CL|
|
||||
does not compile any packages with :command:`icc`.
|
||||
|
||||
For a more detailed explanation, see `this discussion on the community forum
|
||||
<https://community.clearlinux.org/t/does-clear-linux-os-use-the-intel-compiler-icc-tl-nope/>`_.
|
||||
|
||||
|
|
||||
|
||||
Software
|
||||
********
|
||||
|
||||
How is software installed and updated?
|
||||
======================================
|
||||
|
||||
|CL| provides software in the form of :ref:`bundles <bundles-guide>` and
|
||||
updates software with :ref:`swupd <swupd-guide>`.
|
||||
|
||||
:ref:`Flatpak\* <flatpak-tutorial>` is an application virtualization solution
|
||||
that allows more software to be available to |CL| users by augmenting the
|
||||
software |CL| packages natively with software available through Flatpak.
|
||||
|
||||
Our goal is to have software packaged natively and made available through
|
||||
bundles whenever possible.
|
||||
|
||||
|
|
||||
|
||||
Does it use RPMs or DEBs packages like other distros?
|
||||
=====================================================
|
||||
|
||||
No. |CL| provides software to systems in the form of :ref:`bundles-guide`.
|
||||
Under the hood, |CL| developers use the RPM format as an intermediary step for
|
||||
packaging and determining software dependencies at OS build time.
|
||||
|
||||
Individual RPMs and DEBs can sometimes be manually extracted and installed on
|
||||
a |CL| system with the right tools, but that is not the intended use case.
|
||||
|
||||
|
|
||||
|
||||
Why does it have a different approach to software management?
|
||||
=============================================================
|
||||
|
||||
The |CL| team wants software *installation* and *updates* to be as efficient
|
||||
and error free as possible. |CL| packages software differently and uses a
|
||||
novel updater to solve some of the classic problems with how the software
|
||||
packages are on Linux.
|
||||
|
||||
For a more detailed explanation, see `this discussion on our community forum
|
||||
<https://community.clearlinux.org/t/why-does-clearlinux-use-swupd-and-not-apt-deb-rpm/>`_.
|
||||
|
||||
|
||||
|
|
||||
|
||||
Can I install a software package from another OS on |CL|?
|
||||
=========================================================
|
||||
|
||||
Software that is packaged in other formats for other Linux distributions is
|
||||
not guaranteed to work on |CL| and may be impacted by |CL| updates.
|
||||
|
||||
If the software you're seeking is open source, please submit a request to add
|
||||
it to |CL|. Submit requests on GitHub\* here:
|
||||
https://github.com/clearlinux/distribution/issues
|
||||
|
||||
|
|
||||
|
||||
Software availability
|
||||
*********************
|
||||
|
||||
What software is available on |CL|?
|
||||
===================================
|
||||
|
||||
Available software can be found in the `Software Store`_, through the GNOME\*
|
||||
Software application on the desktop, or by using :ref:`swupd search <swupd-quick-ref>`.
|
||||
|
||||
|
|
||||
|
||||
Is Google\* Chrome\* available?
|
||||
===============================
|
||||
|
||||
The Google Chrome web browser is not distributed as a bundle in |CL| due to
|
||||
copyright and licensing complexities.
|
||||
|
||||
A `discussion on manually installing and maintaining Google Chrome
|
||||
<https://github.com/clearlinux/distribution/issues/422>`_ can be found on
|
||||
GitHub.
|
||||
|
||||
|
|
||||
|
||||
Is Microsoft\* Visual Studio Code\* available?
|
||||
==============================================
|
||||
|
||||
Yes. Find the CLI command for installing `VS Code`_ and other Flatpak apps in
|
||||
the `software store`_. Installing Flatpak apps is also covered in our
|
||||
:ref:`tutorial <flatpak-tutorial>`.
|
||||
|
||||
The |CL| team is working on a natively packaged version of Visual Studio Code
|
||||
for future release.
|
||||
|
||||
Join a community `forum discussion about manually installing and maintaining
|
||||
Visual Studio Code
|
||||
<https://community.clearlinux.org/t/need-native-support-for-vs-code-through-swupd/>`_.
|
||||
|
||||
|
||||
.. _VS Code: https://clearlinux.org/software?search_api_fulltext=vscode
|
||||
|
||||
|
|
||||
|
||||
.. _licensing_restrict:
|
||||
|
||||
Is FFmpeg available?
|
||||
====================
|
||||
|
||||
`FFmpeg`_ is a multimedia software suite, which is commonly used for
|
||||
various media encoding/decoding, streaming, and playback.
|
||||
|
||||
|CL| does not distribute FFmpeg due to well-known licensing and legal
|
||||
complexities (See https://www.ffmpeg.org/legal.html and
|
||||
http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html).
|
||||
|
||||
|
||||
While |CL| cannot distribute FFmpeg, solutions for manually building and
|
||||
installing FFmpeg have been shared by users `on GitHub
|
||||
<https://github.com/clearlinux/distribution/issues/429>`_ and `the community
|
||||
forums
|
||||
<https://community.clearlinux.org/t/how-to-h264-etc-support-for-firefox-including-ffmpeg-install>`_.
|
||||
|
||||
|
|
||||
|
||||
Is ZFS\* available?
|
||||
===================
|
||||
|
||||
ZFS is not available with |CL| because of copyright and licensing
|
||||
complexities. BTRFS is an alternative filesystem that is available in |CL|
|
||||
natively.
|
||||
|
||||
A community contributed tutorial has been shared on how to :ref:`manually
|
||||
install ZFS <zfs>`.
|
||||
|
||||
|
|
||||
|
||||
Can you add a driver that I need?
|
||||
=================================
|
||||
|
||||
If a kernel module is available as part of the Linux kernel source tree but
|
||||
not enabled in the |CL| kernels, in many cases the |CL| team will enable it
|
||||
upon request. Submit requests on GitHub here:
|
||||
https://github.com/clearlinux/distribution/issues
|
||||
|
||||
The |CL| team does not typically add out-of-tree kernel modules as a matter of
|
||||
practice because of the maintenance overhead. If the driver was unable to be
|
||||
merged upstream, there is a good chance we may be unable to merge it for
|
||||
similar reasons.
|
||||
|
||||
Kernel modules can be individually built and installed on |CL|. See the
|
||||
:ref:`kernel modules <kernel-modules>` page for more information.
|
||||
|
||||
|
|
||||
|
||||
|
||||
.. _`Clear Linux community forums`: https://community.clearlinux.org
|
||||
.. _`Software Store`: https://clearlinux.org/software
|
||||
.. _`FFmpeg`: https://ffmpeg.org/
|
||||
@@ -1,311 +0,0 @@
|
||||
.. _about:
|
||||
|
||||
About
|
||||
#####
|
||||
|
||||
|CL-ATTR| does things differently. Our software architecture provides a
|
||||
unique and innovative platform for Linux* developers focused on
|
||||
performance and security for compute, server, and the cloud.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
What is |CL|?
|
||||
*************
|
||||
|
||||
|CL| is an open source, rolling-release Linux distribution, optimized for
|
||||
performance and security from the cloud to the Edge. Designed from the ground up,
|
||||
|CL| provides an industry blueprint on how to incorporate Intel® architecture
|
||||
features for a modern, modular Linux OS. |CL| is not based on any other Linux
|
||||
distro.
|
||||
|
||||
What |CL| isn't?
|
||||
****************
|
||||
|
||||
|CL| is not intended to be a general-purpose Linux distribution, suitable
|
||||
for novice end-users. While we ship common applications, our purpose isn’t
|
||||
to make an OS for routine desktop tasks and provide immunity from all
|
||||
security threats in all situations. Our unique focus means that what we consider *essential* use cases, *optional* use cases, or even *unsupported* use cases, differs from other Linux distros. See our :ref:`target audience <target-audience>` below.
|
||||
|
||||
Is |CL| completely Open Source?
|
||||
*******************************
|
||||
|
||||
|CL| aims to be completely open source. Our project `source code`_ and
|
||||
`packages source code`_ are available on GitHub\*. When considering projects
|
||||
for inclusion, we check that they are in active development and are well
|
||||
maintained. We have a very strict requirement for not accepting proprietary
|
||||
packages and non-open source components. For example, many Linux distros
|
||||
may not be able to include certain media codecs due to
|
||||
:ref:`licensing restrictions <licensing_restrict>`, but manual installation and `third party alternatives`_ are available.
|
||||
|
||||
.. _target-audience:
|
||||
|
||||
Who is the target audience?
|
||||
***************************
|
||||
|
||||
|CL| mainly targets professionals in IT, DevOps, Cloud/Container deployments, and :abbr:`AI (Artificial Intelligence)`.
|
||||
|
||||
Rather than making a standard Linux distribution, the |CL| team decided to
|
||||
build a unique Linux distro. Developing a distro in house allows us to experiment and iterate faster, which means we continually optimize performance and deliver security patches, :ref:`several times per week <release-cadence>`. Yet our experiments are only valuable if our software architecture gives you the freedom to innovate, too. To improve manageability, |CL| employs a :ref:`stateless` design, separating user and system management.
|
||||
|
||||
We leverage the pool of knowledge and skills at Intel to drive improvements to |CL|.
|
||||
|
||||
Intel has worked with the Linux community and other distros for many years.
|
||||
Understanding what it takes to integrate features in our own Linux distro
|
||||
helps us collaborate with other distro owners and submit enhancements to
|
||||
upstream. We demonstrate the value of our distro by offering users the same
|
||||
tools we use. For example, :ref:`mixer`, a tool unique to |CL|, allows users
|
||||
to build custom derivatives and act as their own :abbr:`OSV (Operating System
|
||||
Vendor)`.
|
||||
|
||||
For more details on |CL| features, visit our :ref:`cl-guides` guides.
|
||||
|
||||
How does |CL| address security?
|
||||
*******************************
|
||||
|
||||
Several :ref:`security features <security>` are designed to work
|
||||
out-of-the-box, yet they're not intended to be intrusive. We focus on
|
||||
*essential* use cases and ignore *unwanted* or *unsupported* use cases.
|
||||
For example, while |CL| does not enable antivirus by default, we provide a
|
||||
bundle for it (``clamav``). We leave antivirus configuration to our users.
|
||||
In addition, firewalls are less important if the OS doesn’t expose services
|
||||
to the outside by default. In |CL|, we enforce this strategy by disabling
|
||||
network services by default - e.g. ``mariadb`` listens on a UNIX socket;
|
||||
``nginx`` won’t listen at all; and other services similarly are restricted
|
||||
from being accessed over the network. This strategy alone makes firewall
|
||||
software much less urgent--there simply isn’t anything that a firewall could
|
||||
easily block.
|
||||
|
||||
What’s the thinking around Server vs. Desktop?
|
||||
**********************************************
|
||||
|
||||
|CL| focuses on performance for server and cloud use-cases first because
|
||||
many design decisions associated with them are applicable to other
|
||||
use-cases, such as IoT and the desktop client. While our initial focus was
|
||||
on the command line, we realized that many people valued the ease-of-use of
|
||||
a desktop environment. Whereas in the past we tried to accommodate those
|
||||
interested in a desktop version, we were forced to confront clear limits as
|
||||
to how we could meet this need. |CL| minimizes the customizations and patches in support of the desktop and provides a generic GNOME implementation. Other window managers or desktops are available; however, testing in |CL| is focused on GNOME.
|
||||
|
||||
What makes |CL| different?
|
||||
**************************
|
||||
|
||||
.. _release-cadence:
|
||||
|
||||
Release Cadence
|
||||
===============
|
||||
|
||||
|CL| updates are based on a rolling release that can occur daily, up to a few
|
||||
times per week. Each release has a unique version number that identifies
|
||||
every component in the OS from kernel, to driver, to tool, to GUI
|
||||
application. Most components are included in entities called :ref:`bundles<bundles>`.
|
||||
|
||||
Updates
|
||||
=======
|
||||
|
||||
By default, |CL| automatically checks for updates, ensuring the latest
|
||||
performance and security fixes are installed as soon as they are available.
|
||||
|CL| stays in lockstep with upstream for current security upgrades and is
|
||||
designed to rapidly deliver security mitigations to customers.
|
||||
:ref:`swupd-guide` is designed to manage updates and bundles.
|
||||
|
||||
Ease of Use
|
||||
===========
|
||||
|
||||
|CL| makes it easier to manage a number of difficult problems.
|
||||
|
||||
* :ref:`autoproxy` makes it possible for |CL| tools to operate in some proxy
|
||||
environments without needing to be configured.
|
||||
|
||||
* :ref:`stateless` means that configuration settings are easier to manage
|
||||
and remain untouched when system software is updated.
|
||||
|
||||
* :ref:`swupd-guide` simplifies managing software and maintaining
|
||||
compatibility.
|
||||
|
||||
Custom Derivatives
|
||||
==================
|
||||
|
||||
The same tools used to build the |CL| are available *in* the OS. These tools can be used to create a custom distribution that continues to benefit from upstream rolling releases.
|
||||
|
||||
.. figure:: /_figures/about/clear-lifecycle.png
|
||||
:scale: 75%
|
||||
:align: center
|
||||
:alt: Creating and managing a Clear Linux* OS version (or derivative)
|
||||
|
||||
Figure 1: Creating and managing a Clear Linux\* OS version (or derivative)
|
||||
|
||||
Create
|
||||
======
|
||||
|
||||
To create a custom distribution you need to understand how to use the
|
||||
:ref:`autospec` and :ref:`mixer` tools. Additional training materials are available in the `how-to-clear`_ GitHub project to help you get started with |CL| tools.
|
||||
|
||||
Deploy
|
||||
======
|
||||
|
||||
We also provide training on how to :ref:`deploy-at-scale`.
|
||||
|
||||
Administrate
|
||||
============
|
||||
|
||||
|CL| provides a :ref:`telem-guide` solution for collecting useful information
|
||||
about a deployment, as well as :ref:`debug` capabilities.
|
||||
|
||||
Why create new components rather than modifying existing projects?
|
||||
******************************************************************
|
||||
|
||||
One question that's often asked: “Why did you develop your own solution
|
||||
instead of using <XYZ>?” (e.g. `swupd post`_). We do evaluate existing
|
||||
projects for inclusion in |CL|, yet there are cases where our unique
|
||||
architecture and components would require too much customization to use
|
||||
off-the-shelf projects. In other situations, we may feel that using a new
|
||||
language to develop the component would give us a performance advantage,
|
||||
ease code development and maintenance, and grow the skills of our engineers
|
||||
on new and upcoming programming languages. And yes, sometimes there are
|
||||
personal biases for and against some projects by the architects and
|
||||
engineers. We tend to move fast, and sometimes it’s easier to live with
|
||||
suboptimal choices until we have the time or incentive to re-architect them
|
||||
properly.
|
||||
|
||||
Which Components are used in Clear Linux?
|
||||
*****************************************
|
||||
|
||||
.. list-table::
|
||||
:widths: 33,33,33
|
||||
:header-rows: 1
|
||||
|
||||
* - Component
|
||||
- Enabled in OS/Bundle
|
||||
- Optional
|
||||
|
||||
* - OS Installer
|
||||
- `Clear Linux installer`_
|
||||
-
|
||||
|
||||
* - Bootloader
|
||||
- `systemd-boot`_ (UEFI) / `syslinux`_ (Legacy)
|
||||
-
|
||||
|
||||
* - Boot Manager
|
||||
- `Clear Linux Boot Manager`_
|
||||
-
|
||||
|
||||
* - Configuration initialization and management
|
||||
- *NA*
|
||||
- `micro-config-drive`_ (minimal cloud-init), Ansible
|
||||
|
||||
* - Software component installer, manager, updater
|
||||
- `swupd`_
|
||||
-
|
||||
|
||||
* - Software bundle generator -
|
||||
- `mixer`_ and `Clear Linux Distro Factory`_
|
||||
-
|
||||
|
||||
* - Software package builder
|
||||
- `autospec`_
|
||||
-
|
||||
|
||||
* - Software debugging
|
||||
- *NA*
|
||||
- `clr-debug-info`_
|
||||
|
||||
* - Unified TLS Trust Store Management
|
||||
- `clrtrust`_
|
||||
-
|
||||
|
||||
* - System and software telemetry
|
||||
- *NA*
|
||||
- `Telemetrics`_ (disabled by default)
|
||||
|
||||
* - File system
|
||||
- `EXT4`_ (default for rootfs), `VFAT`_, `EXT2 and EXT3`_, `F2FS`_
|
||||
-
|
||||
|
||||
* - Disk encryption
|
||||
- *NA*
|
||||
- `LUKS`_
|
||||
|
||||
* - System /Service manager
|
||||
- `systemd`_
|
||||
-
|
||||
|
||||
* - Display manager
|
||||
- `GNOME`_
|
||||
- ``KDE``, ``Xfce``, ``lightdm``, ``sddm`` (see `Clear Linux store`_)
|
||||
|
||||
* - Display services (Desktop installed)
|
||||
- `X.Org`_
|
||||
- `Wayland`_ compositor
|
||||
|
||||
* - Network services
|
||||
- `NetworkManager`_ by default, `systemd-networkd`_ See Note below.
|
||||
-
|
||||
|
||||
* - SSH Port scanning blocker
|
||||
- `Tallow`_
|
||||
-
|
||||
|
||||
* - Firewall
|
||||
- *NA*
|
||||
- iptables and `firewalld`_
|
||||
|
||||
* - Antivirus
|
||||
- *NA*
|
||||
- `ClamAV*`_
|
||||
|
||||
* - Web browser
|
||||
- `Lynx`_ or `links`_ for text environments, `Firefox*`_ for GUI
|
||||
-
|
||||
|
||||
* - Additional Software
|
||||
- `Supplied Bundles`_
|
||||
- Flatpak, 3rd-party software bundles
|
||||
|
||||
.. note::
|
||||
|
||||
The |CL| OS images targeted for cloud deployments continue to use
|
||||
``systemd-networkd`` to manage network connections. In earlier |CL|,
|
||||
``systemd-networkd`` was used to manage Ethernet interfaces and NetworkManager was used for wireless interfaces.
|
||||
|
||||
|
||||
*Intel and the Intel logo are trademarks of Intel Corporation or its subsidiaries.*
|
||||
|
||||
.. _third party alternatives: https://community.clearlinux.org/t/about-the-3rd-party-sw-category/4072
|
||||
.. _how-to-clear: https://github.com/clearlinux/how-to-clear
|
||||
.. _Clear Linux store: https://clearlinux.org/software
|
||||
.. _source code: https://github.com/clearlinux
|
||||
.. _swupd post: https://community.clearlinux.org/t/why-does-clearlinux-use-swupd-and-not-apt-deb-rpm/
|
||||
.. _swupd: https://github.com/clearlinux/swupd-client
|
||||
.. _Clear Linux installer: https://github.com/clearlinux/clr-installer/
|
||||
.. _systemd-boot: https://www.freedesktop.org/software/systemd/man/systemd-boot.html
|
||||
.. _syslinux: https://wiki.syslinux.org/wiki/index.php?title=The_Syslinux_Project
|
||||
.. _Clear Linux Boot Manager: https://github.com/clearlinux/clr-boot-manager
|
||||
.. _mixer: https://github.com/clearlinux/mixer-tools
|
||||
.. _Clear Linux Distro Factory: https://github.com/clearlinux/clr-distro-factory
|
||||
.. _autospec: https://github.com/clearlinux/common
|
||||
.. _clr-debug-info: https://github.com/clearlinux/clr-debug-info
|
||||
.. _clrtrust: https://github.com/clearlinux/clrtrust
|
||||
.. _EXT4: https://ext4.wiki.kernel.org/index.php/Main_Page
|
||||
.. _VFAT: https://www.kernel.org/doc/html/latest/filesystems/vfat.html
|
||||
.. _EXT2 and EXT3: https://ext4.wiki.kernel.org/index.php/Main_Page
|
||||
.. _F2FS: https://www.kernel.org/doc/Documentation/filesystems/f2fs.txt
|
||||
.. _LUKS: https://gitlab.com/cryptsetup/cryptsetup/
|
||||
.. _systemd: https://www.freedesktop.org/wiki/Software/systemd/
|
||||
.. _GNOME: https://www.gnome.org/
|
||||
.. _X.Org: https://www.x.org/
|
||||
.. _Wayland: https://wayland.freedesktop.org/
|
||||
.. _NetworkManager: https://wiki.gnome.org/Projects/NetworkManager
|
||||
.. _systemd-networkd: https://www.freedesktop.org/software/systemd/man/systemd.network.html
|
||||
.. _Tallow: https://github.com/clearlinux/tallow
|
||||
.. _firewalld: https://docs.01.org/clearlinux/latest/guides/network/firewall.html#firewalld
|
||||
.. _ClamAV*: https://www.clamav.net/
|
||||
.. _Lynx: https://lynx.invisible-island.net/
|
||||
.. _links: http://links.twibright.com/
|
||||
.. _Firefox*: https://www.mozilla.org/en-US/firefox/
|
||||
.. _Supplied Bundles: https://clearlinux.org/software
|
||||
.. _micro-config-drive: https://github.com/clearlinux/micro-config-drive
|
||||
.. _Telemetrics: https://github.com/clearlinux/telemetrics-backend
|
||||
.. _packages source code: https://github.com/clearlinux-pkgs/
|
||||
@@ -1,171 +0,0 @@
|
||||
.. _bootable-usb:
|
||||
|
||||
Create a bootable USB drive using Etcher\*
|
||||
##########################################
|
||||
|
||||
Use Etcher* software from Balena\* to flash the |CL| image to a USB drive.
|
||||
An `Advanced: Linux CLI`_ option is also available.
|
||||
|
||||
Prerequisites
|
||||
*************
|
||||
|
||||
* Download the |CL| Desktop or Server image from the `Downloads`_ page
|
||||
* Recommended minimum **4GB** USB drive or larger
|
||||
* Download and install the `Etcher`_ version per your operating system.
|
||||
|
||||
Burn the |CL| image onto a USB drive
|
||||
====================================
|
||||
|
||||
.. caution::
|
||||
|
||||
Burning an image formats the USB drive and destroys all pre-existing
|
||||
content. Back up your data before proceeding.
|
||||
|
||||
#. Launch Etcher.
|
||||
|
||||
.. rst-class:: dropshadow
|
||||
|
||||
.. figure:: /_figures/bootable-usb/balenaEtcher_Start.PNG
|
||||
:scale: 100%
|
||||
:alt: Start screen
|
||||
|
||||
Figure 1: Start screen
|
||||
|
||||
#. Press :guilabel:`Select Image`.
|
||||
|
||||
#. Change directory to where the image resides.
|
||||
|
||||
#. Select the image and click :guilabel:`Open`.
|
||||
|
||||
.. rst-class:: dropshadow
|
||||
|
||||
.. figure:: /_figures/bootable-usb/balenaEtcher_ImageSelect.PNG
|
||||
:scale: 100%
|
||||
:alt: In Open, select the image
|
||||
|
||||
Figure 2: In Open, select the image
|
||||
|
||||
#. Plug in the USB drive.
|
||||
|
||||
#. Identify the USB drive or click :guilabel:`Change` to select a
|
||||
different USB.
|
||||
|
||||
.. note::
|
||||
|
||||
This shows all USB drives attached to the system.
|
||||
|
||||
.. rst-class:: dropshadow
|
||||
|
||||
.. figure:: /_figures/bootable-usb/balenaEtcher_DriveSlect.PNG
|
||||
:scale: 100%
|
||||
:alt: USB drives attached
|
||||
|
||||
Figure 3: USB drives attached
|
||||
|
||||
#. Select the proper device and press :guilabel:`Continue`.
|
||||
|
||||
.. rst-class:: dropshadow
|
||||
|
||||
.. figure:: /_figures/bootable-usb/balenaEtcher_ReadyToFlash.PNG
|
||||
:scale: 100%
|
||||
:alt: USB Flash Device selected
|
||||
|
||||
Figure 4: USB Flash Device selected
|
||||
|
||||
#. When ready press the :guilabel:`Flash!` Button.
|
||||
The dialog shows :guilabel:`Flashing` while in progress.
|
||||
|
||||
.. rst-class:: dropshadow
|
||||
|
||||
.. figure:: /_figures/bootable-usb/balenaEtcher_StartingToFlash.PNG
|
||||
:scale: 100%
|
||||
:alt: Starting to flash
|
||||
|
||||
Figure 5: Starting to flash
|
||||
|
||||
.. rst-class:: dropshadow
|
||||
|
||||
.. figure:: /_figures/bootable-usb/balenaEtcher_Flashing.PNG
|
||||
:scale: 100%
|
||||
:alt: Flashing, percentage complete
|
||||
|
||||
Figure 6: Flashing, percentage complete
|
||||
|
||||
#. :guilabel:`Flash complete!` shows when the process is finished.
|
||||
|
||||
.. rst-class:: dropshadow
|
||||
|
||||
.. figure:: /_figures/bootable-usb/balenaEtcher_Done.PNG
|
||||
:scale: 100%
|
||||
:alt: Flash Complete!
|
||||
|
||||
Figure 7: Flash Complete!
|
||||
|
||||
.. note::
|
||||
|
||||
The process may take more than a few minutes. When the process completes, close BalenaEtcher.
|
||||
|
||||
Advanced: Linux CLI
|
||||
===================
|
||||
|
||||
#. Open a Terminal window.
|
||||
|
||||
#. Change directory to where the image resides.
|
||||
|
||||
#. Plug in the USB drive.
|
||||
|
||||
#. Identify all drives attached to the system. In the example output below, there are 3 drives (`/dev/sda`, `/dev/sdb`, and `/dev/sdc`) attached, where `/dev/sda` is the primary drive and the remaining are USB drives.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
lsblk -po NAME,SIZE,VENDOR,MODEL,TRAN,TYPE,PARTLABEL,MOUNTPOINT
|
||||
|
||||
Example output:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
NAME SIZE VENDOR MODEL TRAN TYPE PARTLABEL MOUNTPOINT
|
||||
/dev/sda 119.2G ATA SAMSUNG_MZ7PC128HAFU-000 sata disk
|
||||
├─/dev/sda1 450M part Basic data partition
|
||||
├─/dev/sda2 100M part EFI system partition
|
||||
├─/dev/sda3 16M part Microsoft reserved partition
|
||||
├─/dev/sda4 97.2G part Basic data partition
|
||||
├─/dev/sda5 142M part EFI
|
||||
├─/dev/sda6 245M part linux-swap [SWAP]
|
||||
└─/dev/sda7 21.1G part / /
|
||||
/dev/sdb 7.5G General UDisk usb disk
|
||||
└─/dev/sdb1 7.5G part Microsoft Basic Data /run/media/clear/CENA_X64FRE
|
||||
/dev/sdc 15G Patriot_Memory usb disk
|
||||
└─/dev/sdc1 15G part /run/media/clear/U
|
||||
|
||||
.. note::
|
||||
|
||||
Some Linux distros may automatically mount a USB drive when it is plugged in.
|
||||
|
||||
#. Unmount the USB drive you want to use before burning an image onto it.
|
||||
Use the :command:`umount` command followed by the device identifier/partition. For example, to unmount all ``/dev/sdc`` partitions:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo umount /dev/sdc*
|
||||
|
||||
#. Burn the image onto the USB drive. This example burns an image onto
|
||||
``/dev/sdc``. The device name of the USB may vary.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo dd if=./clear-[version number]-live-[desktop | server].iso of=/dev/sdc oflag=sync bs=4M status=progress
|
||||
|
||||
Eject the |CL| image USB drive
|
||||
==============================
|
||||
|
||||
.. caution::
|
||||
|
||||
If you do not properly unmount the USB drive before removing it, it may cause file system checksum errors in it. If this happens, burn the image again, ensuring all the USB drive partitions are unmounted first before removing drive.
|
||||
|
||||
#. Unmount the USB per your OS instructions.
|
||||
|
||||
#. Then eject the USB.
|
||||
|
||||
.. _Downloads: https://clearlinux.org/downloads
|
||||
.. _Etcher: https://www.balena.io/etcher/
|
||||
@@ -1,511 +0,0 @@
|
||||
.. _import-clr-aws:
|
||||
|
||||
Import Clear Linux Image and Launch Instance on AWS
|
||||
###################################################
|
||||
|
||||
Clear Linux is available on the AWS marketplace. However, it may not
|
||||
be the latest version because we only update the marketplace on a
|
||||
periodic basis, as often as weekly or but maybe monthly as well.
|
||||
If you want to use the latest release from us or upload your own
|
||||
custom image, follow this guide.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
Prerequisites
|
||||
*************
|
||||
|
||||
* You are familiar with AWS and how to use it
|
||||
|
||||
Download or create a |CL| image for AWS
|
||||
***************************************
|
||||
|
||||
Obtain an AWS |CL| image using one of these methods.
|
||||
|
||||
Download pre-built image
|
||||
========================
|
||||
#. Go to the `Downloads`_ page and download the
|
||||
*Amazon\* Web Services (AWS)* image.
|
||||
|
||||
#. Uncompress it.
|
||||
|
||||
Create a custom image using clr-installer
|
||||
=========================================
|
||||
#. On a |CL| system, open a terminal.
|
||||
|
||||
#. Install the `clr-installer` bundle.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd bundle-add clr-installer
|
||||
|
||||
#. Download a sample `aws.yaml`_ configuration file.
|
||||
|
||||
#. Make changes to the configuration file as needed.
|
||||
See `Installer YAML Syntax`_ for more information on clr-installer
|
||||
configuration YAML syntax.
|
||||
|
||||
#. Download the `AWS image post-install script`_ and make it executable.
|
||||
|
||||
#. Produce an image with clr-installer.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
clr-installer --template $PWD/aws.yaml
|
||||
|
||||
Create an S3 bucket
|
||||
*******************
|
||||
|
||||
#. Log into AWS.
|
||||
|
||||
#. Go to :guilabel:`Services`, :guilabel:`Storage`, and select :guilabel:`S3`.
|
||||
See Figure 1.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-01.png
|
||||
:scale: 70%
|
||||
:alt: AWS Services - S3 Management Console
|
||||
|
||||
Figure 1: AWS Services - S3 Management Console
|
||||
|
||||
#. Click :guilabel:`+ Create bucket`.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-02.png
|
||||
:scale: 70%
|
||||
:alt: AWS S3 - Create bucket
|
||||
|
||||
Figure 2: AWS S3 - Create bucket
|
||||
|
||||
#. Set a bucket name and select a region.
|
||||
See Figure 3.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-03.png
|
||||
:scale: 70%
|
||||
:alt: AWS S3 - Create bucket - Set bucket name and region
|
||||
|
||||
Figure 3: AWS S3 - Create bucket - Set bucket name and region
|
||||
|
||||
#. Leave the :guilabel:`Configure options` and :guilabel:`Set permissions`
|
||||
settings as is or configure as desired. See Figure 4 and 5.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-04.png
|
||||
:scale: 70%
|
||||
:alt: AWS S3 - Create bucket - Configure options
|
||||
|
||||
Figure 4: AWS S3 - Create bucket - Configure options
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-05.png
|
||||
:scale: 70%
|
||||
:alt: AWS S3 - Create bucket - Set permissions
|
||||
|
||||
Figure 5: AWS S3 - Create bucket - Set permissions
|
||||
|
||||
#. At the :guilabel:`Review` screen, click :guilabel:`Create bucket`.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-06.png
|
||||
:scale: 70%
|
||||
:alt: AWS S3 - Create bucket - Review
|
||||
|
||||
Figure 6: AWS S3 - Create bucket - Review
|
||||
|
||||
The created bucket should appear. See Figure 7.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-07.png
|
||||
:scale: 70%
|
||||
:alt: AWS S3 - Created bucket
|
||||
|
||||
Figure 7: AWS S3 - Created bucket
|
||||
|
||||
Upload the |CL| image into the bucket
|
||||
*************************************
|
||||
|
||||
#. Click on the bucket.
|
||||
See Figure 8.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-08.png
|
||||
:scale: 70%
|
||||
:alt: AWS S3 - Select bucket
|
||||
|
||||
Figure 8: AWS S3 - Select bucket
|
||||
|
||||
#. Click :guilabel:`Upload`.
|
||||
See Figure 9.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-09.png
|
||||
:scale: 70%
|
||||
:alt: AWS S3 - Upload
|
||||
|
||||
Figure 9: AWS S3 - Upload
|
||||
|
||||
#. Click :guilabel:`Add files` and select the |CL| image file to upload.
|
||||
See Figure 10.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-10.png
|
||||
:scale: 70%
|
||||
:alt: AWS S3 - Add files
|
||||
|
||||
Figure 10: AWS S3 - Add files
|
||||
|
||||
#. Click :guilabel:`Next`. Leave remaining settings as is or set as desired.
|
||||
See Figure 11, Figure 12, and Figure 13.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-11.png
|
||||
:scale: 70%
|
||||
:alt: AWS S3 - Add files
|
||||
|
||||
Figure 11: AWS S3 - Add files
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-12.png
|
||||
:scale: 70%
|
||||
:alt: AWS S3 - Set permissions
|
||||
|
||||
Figure 12: AWS S3 - Set permissions
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-13.png
|
||||
:scale: 70%
|
||||
:alt: AWS S3 - Set properties
|
||||
|
||||
Figure 13: AWS S3 - Set properties
|
||||
|
||||
#. Click :guilabel:`Upload` to upload the image.
|
||||
See Figure 14.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-14.png
|
||||
:scale: 70%
|
||||
:alt: AWS S3 - Upload
|
||||
|
||||
Figure 14: AWS S3 - Upload
|
||||
|
||||
Add a user to IAM with AWS_CLI privilege
|
||||
****************************************
|
||||
|
||||
#. Go to :guilabel:`Services`, :guilabel:`Security, Identity, & Compliance`,
|
||||
and select :guilabel:`IAM`.
|
||||
See Figure 15.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-15.png
|
||||
:scale: 70%
|
||||
:alt: AWS Services - IAM
|
||||
|
||||
Figure 15: AWS Services - IAM
|
||||
|
||||
#. On the left navigation bar under :guilabel:`Access management`,
|
||||
select :guilabel:`Users`.
|
||||
See Figure 16.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-16.png
|
||||
:scale: 70%
|
||||
:alt: AWS AIM - Access management
|
||||
|
||||
Figure 16: AWS AIM - Access management
|
||||
|
||||
#. Click :guilabel:`Add user`.
|
||||
See Figure 17.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-17.png
|
||||
:scale: 70%
|
||||
:alt: AWS AIM - Add user
|
||||
|
||||
Figure 17: AWS AIM - Add user
|
||||
|
||||
#. Under the :guilabel:`Set user details` section, enter a user name.
|
||||
See Figure 18.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-18.png
|
||||
:scale: 70%
|
||||
:alt: AWS AIM - Enter user name and select access type
|
||||
|
||||
Figure 18: AWS AIM - Enter user name and select access type
|
||||
|
||||
#. Under the :guilabel:`Select AWS access type` section,
|
||||
checkmark :guilabel:`Programmatic access`.
|
||||
See Figure 18.
|
||||
|
||||
#. Click :guilabel:`Next: Permissions`.
|
||||
|
||||
#. Under :guilabel:`Set permissions`, select :guilabel:`Add user to group`.
|
||||
See Figure 19.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-19.png
|
||||
:scale: 70%
|
||||
:alt: AWS AIM - Set user permissions
|
||||
|
||||
Figure 19: AWS AIM - Set user permissions
|
||||
|
||||
#. Under :guilabel:`Add user to group`, enter `AWS_CLI` into search window.
|
||||
Checkmark :guilabel:`AWS_CLI`.
|
||||
See Figure 19.
|
||||
|
||||
#. Click :guilabel:`Next: Tags`.
|
||||
|
||||
#. Click :guilabel:`Next: Review`.
|
||||
|
||||
#. Click :guilabel:`Create user`.
|
||||
See Figure 20.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-20.png
|
||||
:scale: 70%
|
||||
:alt: AWS AIM - Create user
|
||||
|
||||
Figure 20: AWS AIM - Create user
|
||||
|
||||
#. After the user is successfully added, save the :guilabel:`Access key ID`
|
||||
and the :guilabel:`Secret access key`. These will be used when setting up
|
||||
the AWS CLI tool at a later step.
|
||||
See Figure 21.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-21.png
|
||||
:scale: 70%
|
||||
:alt: AWS AIM - Access key ID and secret access key
|
||||
|
||||
Figure 21: AWS AIM - Access key ID and secret access key
|
||||
|
||||
#. Click :guilabel:`Close`.
|
||||
|
||||
Install and configure the AWS CLI tool on your system
|
||||
*****************************************************
|
||||
|
||||
#. To install the tool on |CL|, simply run:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd bundle-add cloud-api
|
||||
|
||||
.. note:
|
||||
|
||||
If you are using a different OS, follow the
|
||||
`Installing the AWS CLI version 2`_ guide.
|
||||
|
||||
#. Configure it with your security credentials, default region,
|
||||
and default output format. See `Configuring the AWS CLI`_ for more information.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
aws configure
|
||||
|
||||
Below is an example (using the security credentials that was created in
|
||||
the previous section):
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
AWS Access Key ID [None]: AKIA5LEGQPQ3EUB3JMS7
|
||||
AWS Secret Access Key [None]: EcvbWpWr+Gp7NhBoVEacwR3EifzN7xTTg8B1PHvO
|
||||
Default region name [None]: us-west-2
|
||||
Default output format [None]: json
|
||||
|
||||
#. Verify your credentials are good.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
aws iam list-access-keys
|
||||
|
||||
If you get something like the example below, then make sure you set your
|
||||
system date and time properly.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
An error occurred (SignatureDoesNotMatch) when calling the ListAccessKeys operation: Signature expired: 20200305T153154Z is now earlier than 20200305T231847Z (20200305T233347Z - 15 min.)
|
||||
|
||||
Import a snapshot of the |CL| image
|
||||
***********************************
|
||||
|
||||
#. Create a :file:`container.json` with the description of the image to import.
|
||||
Specify the name of the S3 bucket that was created earlier for the
|
||||
`S3Bucket` field and the name of |CL| image that was uploaded to the S3 bucket
|
||||
for the `S3Key`.
|
||||
|
||||
Here's an example:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
{
|
||||
"Description": "My Clear Linux AWS 32400 Image",
|
||||
"Format": "raw",
|
||||
"UserBucket": {
|
||||
"S3Bucket": "my-clearlinux-bucket",
|
||||
"S3Key": "clear-32400-aws.img"
|
||||
}
|
||||
}
|
||||
|
||||
#. Import a snapshot of the image.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
aws ec2 import-snapshot \
|
||||
--description "My Clear Linux AWS 32400 Snapshot" \
|
||||
--disk-container file://container.json
|
||||
|
||||
You should get an output similar this example:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
{
|
||||
"Description": "My Clear Linux AWS 32400 Snapshot",
|
||||
"ImportTaskId": "import-snap-00fa9ccd98e9b8378",
|
||||
"SnapshotTaskDetail": {
|
||||
"Description": "My Clear Linux AWS 32400 Snapshot",
|
||||
"DiskImageSize": 0.0,
|
||||
"Format": "RAW",
|
||||
"Progress": "3",
|
||||
"Status": "active",
|
||||
"StatusMessage": "pending",
|
||||
"UserBucket": {
|
||||
"S3Bucket": "my-clearlinux-bucket",
|
||||
"S3Key": "clear-32400-aws.img"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#. Using the `ImportTaskId` from the previous step, check the status
|
||||
of the import. For example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
snapshot_id=$(aws ec2 describe-import-snapshot-tasks \
|
||||
--import-task-ids "import-snap-00fa9ccd98e9b8378" \
|
||||
| grep SnapshotId | awk -F '"' '{print $4}')
|
||||
|
||||
Wait for the `Status` field to show `completed` before proceeding.
|
||||
|
||||
The resulting `snapshot_id` will be used to create an AMI in
|
||||
the next section.
|
||||
|
||||
Create an AMI from the snapshot
|
||||
*******************************
|
||||
|
||||
There are 2 methods to create an AMI from the snapshot.
|
||||
|
||||
* *AWS CLI Method*:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
aws ec2 register-image \
|
||||
--name "My-Clear-Linux-32400-AMI" \
|
||||
--description "My Clear Linux 32400 AMI" \
|
||||
--architecture x86_64 \
|
||||
--virtualization-type hvm \
|
||||
--ena-support \
|
||||
--root-device-name "/dev/sda1" \
|
||||
--block-device-mappings "[
|
||||
{
|
||||
\”Deviceame\": \"/dev/sda1\",
|
||||
\"Ebs\": {
|
||||
\"SnapshotId\": \"$snapshot_id\"
|
||||
}
|
||||
}
|
||||
]"
|
||||
|
||||
* *GUI Method*:
|
||||
|
||||
#. Go to :guilabel:`Services`, :guilabel:`Compute`, and select
|
||||
:guilabel:`EC2`.
|
||||
See Figure 22.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-22.png
|
||||
:scale: 70%
|
||||
:alt: AWS Services - EC2
|
||||
|
||||
Figure 22: AWS Services - EC2
|
||||
|
||||
#. Click :guilabel:`Snapshots`.
|
||||
See Figure 23.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-23.png
|
||||
:scale: 70%
|
||||
:alt: AWS Services - Snapshots
|
||||
|
||||
Figure 23: AWS Services - Snapshots
|
||||
|
||||
#. Locate the snaphot using the `Snapshot ID`.
|
||||
See Figure 24.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-24.png
|
||||
:scale: 70%
|
||||
:alt: AWS Services - Snapshots
|
||||
|
||||
Figure 24: AWS Services - Snapshots
|
||||
|
||||
#. Right-click it and select :guilabel:`Create Image`.
|
||||
|
||||
#. Configure as follows:
|
||||
|
||||
* Enter the name in the :guilabel:`Name` field
|
||||
* Enter the description in the :guilabel:`Description` field
|
||||
* Set the :guilabel:`Architecture` as `x86_64`
|
||||
* Set the :guilabel:`Virtualization type` as `Hardware-assisted virtualization`
|
||||
* Set the :guilabel:`Root device name` as `/dev/sda1`
|
||||
|
||||
See Figure 25.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-25.png
|
||||
:scale: 70%
|
||||
:alt: AWS Services - Snapshots
|
||||
|
||||
Figure 25: AWS Services - Snapshots
|
||||
|
||||
#. Click :guilabel:`Create`.
|
||||
|
||||
Launch an instance
|
||||
******************
|
||||
|
||||
#. Go to :guilabel:`Services`, :guilabel:`Compute`, and select
|
||||
:guilabel:`EC2`.
|
||||
See Figure 26.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-26.png
|
||||
:scale: 70%
|
||||
:alt: AWS Services - EC2
|
||||
|
||||
Figure 26: AWS Services - EC2
|
||||
|
||||
#. Click the :guilabel:`Launch Instance` dropdown and select
|
||||
:guilabel:`Launch Instance`.
|
||||
See Figure 27.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-27.png
|
||||
:scale: 70%
|
||||
:alt: AWS Services - Launch instance
|
||||
|
||||
Figure 27: AWS Services - Launch instance
|
||||
|
||||
#. On the left navigation bar, select :guilabel:`My AMIs`.
|
||||
See Figure 28.
|
||||
|
||||
.. figure:: ../../_figures/aws/import-clr-aws-28.png
|
||||
:scale: 70%
|
||||
:alt: AWS Services - Select AMI
|
||||
|
||||
Figure 28: AWS Services - Select AMI
|
||||
|
||||
#. Find your AMI and click :guilabel:`Select`.
|
||||
|
||||
#. From here onward, configure the details of your instance as desired
|
||||
and launch it.
|
||||
|
||||
Connect to your |CL| instance
|
||||
*****************************
|
||||
|
||||
#. Follow these steps to `connect to your instance`_.
|
||||
|
||||
Related topics
|
||||
**************
|
||||
|
||||
* :ref:`azure`
|
||||
* :ref:`gce`
|
||||
* :ref:`clr-digitalocean`
|
||||
|
||||
.. _Downloads:
|
||||
https://clearlinux.org/downloads
|
||||
.. _aws.yaml:
|
||||
https://cdn.download.clearlinux.org/current/config/image/aws.yaml
|
||||
.. _AWS image post-install script:
|
||||
https://cdn.download.clearlinux.org/current/config/image/aws-disable-root.sh
|
||||
.. _Installing the AWS CLI version 2:
|
||||
https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html
|
||||
.. _Configuring the AWS CLI:
|
||||
https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html
|
||||
.. _connect to your instance:
|
||||
https://docs.01.org/clearlinux/latest/get-started/cloud-install/aws-web.html#connect-to-your-clear-linux-os-basic-instance
|
||||
.. _Installer YAML Syntax:
|
||||
https://github.com/clearlinux/clr-installer/blob/master/scripts/InstallerYAMLSyntax.md
|
||||
|
||||
@@ -1,262 +0,0 @@
|
||||
.. _qingcloud:
|
||||
|
||||
|CL-ATTR| on QingCloud\*
|
||||
###########################
|
||||
|
||||
This tutorial describes how to create and launch a Clear Linux OS instance
|
||||
from the QingCloud console.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
|
||||
Prerequisites
|
||||
*************
|
||||
|
||||
This tutorial assumes that you have completed the following configuration steps:
|
||||
|
||||
* Your environment can run SSH to access remote Clear Linux OS virtual hosts.
|
||||
* You know the absolute path where the browser downloaded the file.
|
||||
* You have set up a user account for QingCloud and that the account is
|
||||
enabled and logged in to the QingCloud console. To learn more about
|
||||
QingCloud and setting up an account, please visit QingCloud's official
|
||||
`website <https://www.qingcloud.com>`_.
|
||||
|
||||
|
||||
Select and start |CL| virtual host with QingCloud console
|
||||
*********************************************************
|
||||
|
||||
#. Select :guilabel:`计算>主机` (Compute>Host) in the main menu of the
|
||||
QingCloud console and click the :guilabel:`创建` (Create) option.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-1.png
|
||||
:scale: 50 %
|
||||
:alt: QingCloud console
|
||||
|
||||
#. On the host creation page, first click the :guilabel:`系统` (System) option,
|
||||
click the |CL| icon on the far right. Click the :guilabel:`下一步` (Next)
|
||||
button to continue.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-2.png
|
||||
:scale: 50 %
|
||||
:alt: Select Clear Linux OS to create virtual host
|
||||
|
||||
Select |CL| to create a virtual host
|
||||
|
||||
#. In the configuration selection interface, you can configure the
|
||||
number of CPU cores, memory size, and the storage backup method.
|
||||
For demonstration purposes, we will choose the default configuration.
|
||||
Click the :guilabel:`下一步` (Next) button to go to the network settings
|
||||
interface.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-3.png
|
||||
:scale: 50 %
|
||||
:alt: Configuration selection
|
||||
|
||||
Configuration selection
|
||||
|
||||
#. Select :guilabel:`基础网络` (Basic Network) in the network settings
|
||||
interface.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-4.png
|
||||
:scale: 50 %
|
||||
:alt: Network settings
|
||||
|
||||
Network Settings
|
||||
|
||||
#. In the basic information setting interface, you need to enter the virtual
|
||||
host name and set the SSH key login method.
|
||||
|
||||
Create an SSH key (Optional)
|
||||
============================
|
||||
|
||||
#. If you haven't created an SSH key before, click the :guilabel:`创建一个`
|
||||
(Create one) button to create an SSH key.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-6.png
|
||||
:scale: 50 %
|
||||
:alt: Create SSH key
|
||||
|
||||
Create SSH Key
|
||||
|
||||
#. In the SSH key creation interface, you can fill in the key name, and select
|
||||
encryption method you prefer. After confirming that they are correct, click
|
||||
the :guilabel:`提交` (Submit) button.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-6.png
|
||||
:scale: 50 %
|
||||
:alt: New SSH key
|
||||
|
||||
New SSH Key
|
||||
|
||||
#. After the download button appears, please download the key within 10
|
||||
minutes, and save the key locally for connecting to the virtual host later.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-7.png
|
||||
:scale: 50 %
|
||||
:alt: Download SSH key
|
||||
|
||||
Download SSH Key
|
||||
|
||||
#. After ensuring that the SSH key has been properly downloaded and saved,
|
||||
check the basic information of the virtual host. After confirming that they
|
||||
are correct, click the :guilabel:`创建` (Create) button.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-8.png
|
||||
:scale: 50 %
|
||||
:alt: Confirm the information and create a virtual host
|
||||
|
||||
Confirm the information and create a virtual host
|
||||
|
||||
QingCloud will now create the Clear Linux OS virtual host. You
|
||||
can check the state of the virtual host in the new interface.
|
||||
|
||||
Apply for a public IP and add it to the virtual host
|
||||
****************************************************
|
||||
|
||||
#. Since QingCloud does not automatically assign a public IP address to a
|
||||
virtual host created using the default network, we need to manually apply
|
||||
and add it to the virtual host. Click the :guilabel:`网络与CDN` (Network and
|
||||
CDN) button on the left side of the navigation bar .
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-9.png
|
||||
:scale: 50 %
|
||||
:alt: Network and CDN
|
||||
|
||||
Network and CDN
|
||||
|
||||
#. In the network and CDN configuration interface, click the :guilabel:`公网IP`
|
||||
(Public IP) button on the left , and click the :guilabel:`申请` (Apply)
|
||||
button in the middle to create a public IP.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-10.png
|
||||
:scale: 50 %
|
||||
:alt: Apply for public IP
|
||||
|
||||
Apply for public IP
|
||||
|
||||
After clicking the apply button, a dialog will pop up. Read it
|
||||
carefully and click the :guilabel:`继续申请公网IP` (Continue to apply for
|
||||
public IP) button.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-11.png
|
||||
:scale: 50 %
|
||||
:alt: Confirmation dialog
|
||||
|
||||
Confirmation dialog
|
||||
|
||||
#. On the public network IP application page, confirm and fill in the
|
||||
relevant information, including the charging mode and bandwidth upper limit
|
||||
(the charge-by-bandwidth mode is used in this tutorial and the 2Mbps
|
||||
bandwidth limit is set). After confirming that they are correct, click
|
||||
:guilabel:`提交` (Submit) button.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-12.png
|
||||
:scale: 50 %
|
||||
:alt: Confirmation of Public IP Application
|
||||
|
||||
Confirmation of Public IP Application
|
||||
|
||||
#. After that, click the :guilabel:`计算>网卡` (Compute>Network Card) buttons
|
||||
in the navigation bar to come to the network card interface.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-13.png
|
||||
:scale: 50 %
|
||||
:alt: NIC interface
|
||||
|
||||
Network Interface
|
||||
|
||||
#. On the network card interface, select the network card of the |CL| host
|
||||
that you just created. Click the :guilabel:`更多操作` (More Actions)
|
||||
button above, and then click the :guilabel:`绑定公网IPv4` (Binding Public
|
||||
Network IPv4) button.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-14.png
|
||||
:scale: 50 %
|
||||
:alt: Bind selected
|
||||
|
||||
Bind selected
|
||||
|
||||
#. On the binding public network IP confirmation interface, select the public
|
||||
IP address that has just been applied for, and click the :guilabel:`提交`
|
||||
(Submit) button below . After waiting a moment, the state of the |CL|
|
||||
virtual host will change.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-15.png
|
||||
:scale: 50 %
|
||||
:alt: Commit binding
|
||||
|
||||
Commit binding
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-16.png
|
||||
:scale: 50 %
|
||||
:alt: Public network IP binding succeeded
|
||||
|
||||
Public network IP binding succeeded
|
||||
|
||||
Connect to |CL| virtual host
|
||||
*********************************
|
||||
|
||||
Click the :guilabel:`计算>主机` (Compute>Host) buttons on the left side of the
|
||||
navigation bar to confirm that the current virtual host is running and has a public IP address.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-17.png
|
||||
:scale: 50 %
|
||||
:alt: Confirm that the virtual host is currently in a normal state
|
||||
|
||||
Confirm that the virtual host is currently in a normal state
|
||||
|
||||
#. Copy the public IP address of the current |CL| virtual host and
|
||||
connect to it from an SSH client. Here we need to use the previously saved
|
||||
SSH key.
|
||||
|
||||
#. In this tutorial, the MobaXterm client is used as an example to demonstrate
|
||||
the login process. Check each item as shown. For the user name, we choose
|
||||
``root``. For the key, select the SSH key that was downloaded and saved to
|
||||
the local computer .
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-18.png
|
||||
:scale: 50 %
|
||||
:alt: SSH login virtual host settings
|
||||
|
||||
SSH login virtual host settings
|
||||
|
||||
#. Click :guilabel:`Login` to log in to the
|
||||
|CL| virtual host after completing the setup process.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-19.png
|
||||
:scale: 50 %
|
||||
:alt: SSH login successful
|
||||
|
||||
SSH login successful
|
||||
|
||||
Remove |CL| virtual host
|
||||
************************
|
||||
|
||||
This section explains how to delete a |CL| virtual host created on QingCloud.
|
||||
|
||||
On the left navigation bar select :guilabel:`计算>主机` (Compute>Master), find
|
||||
the |CL| host you just created, and click the checkbox next to it. Select
|
||||
:guilabel:`更多操作>删除` (More Actions>Delete) to delete the virtual host.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-20.png
|
||||
:scale: 50 %
|
||||
:alt: Remove Clear Linux OS Virtual Host
|
||||
|
||||
Remove Clear Linux OS Virtual Host
|
||||
|
||||
Delete the applied public IP
|
||||
****************************
|
||||
|
||||
Select :guilabel:`网络与CDN>公网IP` (Network and CDN>Public IP) from the
|
||||
navigation bar on the left , and then find the public IP address just applied.
|
||||
Select it as shown, then click :guilabel:`更多操作>删除` (More Actions>Delete)
|
||||
to delete.
|
||||
|
||||
.. figure:: /_figures/qingcloud/QingCloud-21.png
|
||||
:scale: 50 %
|
||||
:alt: Delete public network IP address
|
||||
|
||||
Delete public network IP address
|
||||
|
||||
@@ -1,104 +0,0 @@
|
||||
.. _compatibility-check:
|
||||
|
||||
Check Processor Compatibility
|
||||
#############################
|
||||
|
||||
Before installing |CL-ATTR|, check your host system's processor compatibility using one of
|
||||
the following options:
|
||||
|
||||
.. note::
|
||||
This does not check other system components (for example: storage and
|
||||
graphics) for compatibility with |CL|.
|
||||
|
||||
Option 1: Use the :command:`clear-linux-check-config.sh` script on an existing Linux system
|
||||
*******************************************************************************************
|
||||
|
||||
#. Download the `clear-linux-check-config.sh`_ file.
|
||||
|
||||
If a browser is not available, use:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
curl -O https://cdn.download.clearlinux.org/current/clear-linux-check-config.sh
|
||||
|
||||
#. Make the script executable.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
chmod +x clear-linux-check-config.sh
|
||||
|
||||
#. Run the script.
|
||||
|
||||
#. Check to see if the host's processor is capable of running |CL|.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./clear-linux-check-config.sh host
|
||||
|
||||
#. Check to see if the host is capable of running |CL| in a container.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./clear-linux-check-config.sh container
|
||||
|
||||
The script prints a list of test results similar to the output below.
|
||||
All items should return a `SUCCESS` status. This example indicates the
|
||||
host's processor supports running |CL|.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
Checking if host is capable of running Clear Linux* OS
|
||||
|
||||
SUCCESS: 64-bit CPU (lm)
|
||||
SUCCESS: Supplemental Streaming SIMD Extensions 3 (ssse3)
|
||||
SUCCESS: Streaming SIMD Extension v4.1 (sse4_1)
|
||||
SUCCESS: Streaming SIMD Extensions v4.2 (sse4_2)
|
||||
SUCCESS: Carry-less Multiplication extensions (pclmulqdq)
|
||||
|
||||
Option 2: Use a |CL| live image on a non-Linux system
|
||||
=====================================================
|
||||
|
||||
#. `Download`_ either the `Desktop` or `Server` version of the live image ISO.
|
||||
|
||||
#. Follow the instruction to :ref:`bootable-usb`.
|
||||
|
||||
#. Boot up the |CL| live image on the USB.
|
||||
|
||||
#. Check compatibility as follows:
|
||||
|
||||
* *Desktop version:*
|
||||
|
||||
a. Open a terminal.
|
||||
|
||||
#. Check compatibility.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo clr-installer --system-check
|
||||
|
||||
* *Server version:*
|
||||
|
||||
a. Log in as `root` and set a password.
|
||||
|
||||
#. Check compatibility.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
clr-installer --system-check
|
||||
|
||||
Expected output for a compatible host processor:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
Checking for required CPU feature: lm [success]
|
||||
Checking for required CPU feature: sse4_2 [success]
|
||||
Checking for required CPU feature: sse4_1 [success]
|
||||
Checking for required CPU feature: pclmulqdq [success]
|
||||
Checking for required CPU feature: ssse3 [success]
|
||||
Success: System is compatible
|
||||
|
||||
.. _clear-linux-check-config.sh:
|
||||
https://cdn.download.clearlinux.org/current/clear-linux-check-config.sh
|
||||
|
||||
.. _Download:
|
||||
https://clearlinux.org/downloads
|
||||
@@ -1,79 +0,0 @@
|
||||
.. _container-images:
|
||||
|
||||
|CL-ATTR| container images
|
||||
##########################
|
||||
|
||||
|CL| can run inside of a container on top of any operating system as long as
|
||||
it is hosting a containerized environment, such as Docker* or Kubernetes*. A
|
||||
|CL| base image is available for standalone use as well as variations of
|
||||
popular application images built from the |CL| base image.
|
||||
|
||||
Browse all |CL| container images on `the Docker Hub* website
|
||||
<https://hub.docker.com/search?q=clearlinux&type=image>`_. Find the
|
||||
Dockerfiles used to build |CL| container images `on GitHub
|
||||
<https://github.com/clearlinux/dockerfiles>`_.
|
||||
|
||||
See the `containers <https://clearlinux.org/downloads/containers>`_ page for
|
||||
the benefits of using |CL| containers and using |CL| as a container host.
|
||||
|
||||
Container image types
|
||||
*********************
|
||||
|
||||
|CL| base image
|
||||
===============
|
||||
|
||||
The `Clear Linux OS base container <https://hub.docker.com/_/clearlinux>`_ is
|
||||
an official image on Docker Hub*. The |CL| base container image can be used to
|
||||
run a standalone or as a `parent image
|
||||
<https://docs.docker.com/glossary/#parent_image>`_ for building other
|
||||
container images.
|
||||
|
||||
On a Docker host simply use the command :command:`docker run clearlinux` to
|
||||
pull and start a |CL| container.
|
||||
|
||||
|
||||
|CL|-based runtime images
|
||||
=========================
|
||||
|
||||
|CL| container images for programming languages and their runtimes are
|
||||
available on Docker Hub*. These can be used by developers to create and run
|
||||
applications using these popular runtimes.
|
||||
|
||||
Below are some popular |CL|-based runtime images:
|
||||
|
||||
* `clearlinux/golang <https://hub.docker.com/r/clearlinux/golang>`_
|
||||
* `clearlinux/node <https://hub.docker.com/r/clearlinux/node>`_
|
||||
* `clearlinux/numpy <https://hub.docker.com/r/clearlinux/numpy>`_
|
||||
* `clearlinux/python <https://hub.docker.com/r/clearlinux/python>`_
|
||||
* `clearlinux/perl <https://hub.docker.com/r/clearlinux/perl>`_
|
||||
* `clearlinux/r-base <https://hub.docker.com/r/clearlinux/r-base>`_
|
||||
|
||||
More |CL|-based images can be found on Docker Hub:
|
||||
https://hub.docker.com/u/clearlinux.
|
||||
|
||||
|
||||
|CL|-based application images
|
||||
=============================
|
||||
|
||||
|CL| container images for common applications are available on Docker Hub.
|
||||
These can be used to create and deploy containerized services.
|
||||
|
||||
Below are some popular |CL|-based runtime images:
|
||||
|
||||
* `clearlinux/nginx <https://hub.docker.com/r/clearlinux/nginx>`_
|
||||
* `clearlinux/mariadb <https://hub.docker.com/r/clearlinux/mariadb>`_
|
||||
* `clearlinux/postgres <https://hub.docker.com/r/clearlinux/postgres>`_
|
||||
* `clearlinux/redis <https://hub.docker.com/r/clearlinux/redis>`_
|
||||
* `clearlinux/tensorflow <https://hub.docker.com/r/clearlinux/tensorflow>`_
|
||||
* `clearlinux/wordpress <https://hub.docker.com/r/clearlinux/wordpress>`_
|
||||
|
||||
|
||||
More |CL|-based images can be found on Docker Hub:
|
||||
https://hub.docker.com/u/clearlinux.
|
||||
|
||||
Related topics
|
||||
==============
|
||||
* :ref:`container-image-new`
|
||||
* :ref:`container-image-modify`
|
||||
* :ref:`docker`
|
||||
* :ref:`kata`
|
||||
@@ -1,69 +0,0 @@
|
||||
.. _get-started:
|
||||
|
||||
Get started
|
||||
###########
|
||||
|
||||
The Get Started section guides you through the requirements and installation
|
||||
of |CL-ATTR|. Follow these step-by-step instructions to get started with |CL|,
|
||||
fast.
|
||||
|
||||
Pre-install
|
||||
***********
|
||||
|
||||
There are a couple of things to take care of before you install.
|
||||
|
||||
* :ref:`system-requirements`
|
||||
* :ref:`compatibility-check`
|
||||
* :ref:`bootable-usb`
|
||||
|
||||
When installing |CL-ATTR| in a VM, consider which kernel to use.
|
||||
|
||||
* :ref:`Compatible VM kernels <vm-kernels>`
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:hidden:
|
||||
|
||||
compatibility-check
|
||||
bootable-usb
|
||||
|
||||
Install
|
||||
*******
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
bare-metal-install-desktop
|
||||
bare-metal-install-server
|
||||
install-configfile
|
||||
ipxe-install
|
||||
|
||||
.. _virtual-machine-install:
|
||||
|
||||
Install in a virtual machine
|
||||
****************************
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:glob:
|
||||
|
||||
virtual-machine-install/*
|
||||
../../guides/maintenance/increase-virtual-disk-size.rst
|
||||
|
||||
Deploy to the cloud
|
||||
*******************
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:glob:
|
||||
|
||||
cloud-install/*
|
||||
|
||||
Containers
|
||||
**********
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:glob:
|
||||
|
||||
containers/*
|
||||
@@ -1,197 +0,0 @@
|
||||
.. _install-configfile:
|
||||
|
||||
Install using clr-installer and a configuration file
|
||||
####################################################
|
||||
|
||||
In addition to the interactive GUI and text-based modes,
|
||||
:command:`clr-installer` also supports an unattended mode where you
|
||||
simply provide it a YAML configuration file.
|
||||
|
||||
This guide shows you two examples of how to use its unattended mode.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
Prerequisites
|
||||
*************
|
||||
|
||||
For installation onto bare metal, ensure that your target system
|
||||
supports these requirements:
|
||||
|
||||
* :ref:`system-requirements`
|
||||
* :ref:`compatibility-check`
|
||||
|
||||
Download and make bootable USB of the live server image
|
||||
*******************************************************
|
||||
|
||||
See :ref:`bootable-usb`.
|
||||
|
||||
Example 1: Fresh installation onto bare metal
|
||||
*********************************************
|
||||
|
||||
This example uses a YAML configuration file to perform a new installation.
|
||||
|
||||
#. Boot up the |CL| Live Server USB thumb drive.
|
||||
|
||||
#. Select :guilabel:`Clear Linux OS` from the menu.
|
||||
|
||||
#. In the console window, log in as `root` and set a password.
|
||||
|
||||
#. Verify you have a network connection to the Internet and configure proxy
|
||||
settings if you're working behind a firewall.
|
||||
|
||||
#. Download a sample YAML configuration file. For example, if you want to
|
||||
install |CL| with a desktop GUI, you might want to use :file:`live-desktop.yaml`.
|
||||
Or you can use the :file:`live-server.yaml` if you want to install a non-GUI version
|
||||
of |CL|.
|
||||
|
||||
* *Desktop:*
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
curl -O https://cdn.download.clearlinux.org/current/config/image/live-desktop.yaml
|
||||
|
||||
* *Server:*
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
curl -O https://cdn.download.clearlinux.org/current/config/image/live-server.yaml
|
||||
|
||||
#. Edit the YAML configuration file and change the settings as needed.
|
||||
|
||||
Commonly-changed settings include (refer to the example below):
|
||||
|
||||
a. Under *block-devices* (line 15), set your target media. For example: ``file: "/dev/sda"``.
|
||||
#. Under *targetMedia* (line 34), set the third partition size to “0” to use the entire disk space.
|
||||
#. Under *bundles* (line 37), add additional bundles as needed.
|
||||
#. Delete the *post-install* section unless you have post-installation scripts.
|
||||
#. Under *Version* (line 50), set a version number. To use the latest version, set to “0”.
|
||||
|
||||
See `Installer YAML Syntax`_ for more details.
|
||||
|
||||
.. code-block:: console
|
||||
:linenos:
|
||||
:emphasize-lines: 14,15,34,37,50
|
||||
|
||||
#clear-linux-config
|
||||
|
||||
# c-basic-offset: 2; tab-width: 2; indent-tabs-mode: nil
|
||||
# vi: set shiftwidth=2 tabstop=2 expandtab:
|
||||
# :indentSize=2:tabSize=2:noTabs=true:
|
||||
|
||||
# File: developer-live-server.yaml
|
||||
# Use Case: Live Image which boots into login prompt
|
||||
# Optionally allows for installing Clear Linux OS
|
||||
# using the TUI clr-installer by running clr-installer
|
||||
|
||||
# switch between aliases if you want to install to an actual block device
|
||||
# i.e /dev/sda
|
||||
block-devices: [
|
||||
{name: "bdevice", file: "/dev/sda"}
|
||||
]
|
||||
|
||||
targetMedia:
|
||||
- name: ${bdevice}
|
||||
type: disk
|
||||
children:
|
||||
- name: ${bdevice}1
|
||||
fstype: vfat
|
||||
mountpoint: /boot
|
||||
size: "150M"
|
||||
type: part
|
||||
- name: ${bdevice}2
|
||||
fstype: swap
|
||||
size: "32M"
|
||||
type: part
|
||||
- name: ${bdevice}3
|
||||
fstype: ext4
|
||||
mountpoint: /
|
||||
size: "0"
|
||||
type: part
|
||||
|
||||
bundles: [os-core, os-core-update, NetworkManager, clr-installer, vim]
|
||||
|
||||
autoUpdate: false
|
||||
postArchive: false
|
||||
postReboot: false
|
||||
telemetry: false
|
||||
iso: true
|
||||
keepImage: true
|
||||
|
||||
keyboard: us
|
||||
language: en_US.UTF-8
|
||||
kernel: kernel-native
|
||||
|
||||
version: 30010
|
||||
|
||||
#. Start the unattended installation using the `--config` option.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
clr-installer --config live-server.yaml
|
||||
|
||||
#. Reboot your system after installation is completed.
|
||||
|
||||
Example 2: Replicate a previous installation
|
||||
********************************************
|
||||
|
||||
This example uses a saved configuration file from a previous installation,
|
||||
which you can use to easily clone the installation on additional machines
|
||||
, ideally with the same hardware configuration.
|
||||
|
||||
.. warning::
|
||||
|
||||
Be aware of the following when applying a saved configuration on a new machine:
|
||||
|
||||
* Make sure the target media on the new machine matches up
|
||||
|
||||
* The users' credentials will be replicated as well
|
||||
|
||||
#. On a system where |CL| was installed, open a terminal window.
|
||||
|
||||
#. Get root privilege.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo su
|
||||
|
||||
#. Copy the :file:`clr-installer.yaml` from :file:`/root` to a USB thumb drive.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cp /root/clr-installer.yaml <USB-thumb-drive>
|
||||
|
||||
#. Install on target system.
|
||||
|
||||
a. Boot up the |CL| Live Server USB thumb drive.
|
||||
|
||||
#. Select :guilabel:`Clear Linux OS` from the menu.
|
||||
|
||||
#. In the console window, log in as `root` and set a password.
|
||||
|
||||
#. Verify you have a network connection to the Internet and configure proxy
|
||||
settings if you're working behind a firewall.
|
||||
|
||||
#. Plug in and mount the USB thumb drive containing the retrieved
|
||||
:file:`clr-installer.yaml` configuration file.
|
||||
|
||||
#. Doublecheck to make sure the target media in the saved configuration file
|
||||
matches with the target system's.
|
||||
|
||||
#. Start the installation.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
clr-installer --config clr-installer.yaml
|
||||
|
||||
#. Reboot your system after installation is completed.
|
||||
|
||||
References
|
||||
**********
|
||||
|
||||
* `Clear Linux Installer`_
|
||||
* `Installer YAML Syntax`_
|
||||
|
||||
.. _Clear Linux Installer: https://github.com/clearlinux/clr-installer
|
||||
.. _Installer YAML Syntax: https://github.com/clearlinux/clr-installer/blob/master/scripts/InstallerYAMLSyntax.md
|
||||
@@ -1,407 +0,0 @@
|
||||
.. _virtualbox-cl-installer:
|
||||
|
||||
|CL-ATTR| on VirtualBox\*
|
||||
#########################
|
||||
|
||||
This page explains how to create a virtual machine on the `VirtualBox`_
|
||||
hypervisor with |CL-ATTR| as the guest operating system. These instructions
|
||||
support the |CL| live-server installer to create the |CL| virtual machine (VM).
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
Prerequisites
|
||||
*************
|
||||
|
||||
#. Enable virtualization, such as `Intel® Virtualization Technology <https://www.intel.com/content/www/us/en/virtualization/virtualization-technology/intel-virtualization-technology.html>`_
|
||||
(Intel® VT), on the host system from EFI/BIOS.
|
||||
|
||||
#. Download and install |VB| **version 6.0 or later** from
|
||||
`VirtualBox`_ using the `VirtualBox Installation Instructions`_ for your
|
||||
platform.
|
||||
|
||||
Download and extract the |CL| installer ISO
|
||||
*******************************************
|
||||
|
||||
#. Download the :file:`clear-<VERSION>-live-server.iso.xz` of
|
||||
|CL| on the `Downloads`_ page.
|
||||
|
||||
#. Validate the integrity of the downloaded image by checking the file hash
|
||||
and signatures. Refer to :ref:`validate-signatures` for detailed steps.
|
||||
|
||||
#. Decompress the downloaded image.
|
||||
|
||||
- On Windows, you can use `7zip`_ to extract the file by right-clicking the
|
||||
file to *Extract Here* (in the same directory)
|
||||
|
||||
.. figure:: figures/vbox/virtualbox-cl-installer-01.png
|
||||
:scale: 100%
|
||||
:alt: 7zip extract here command
|
||||
|
||||
Figure 1: 7zip extract here command
|
||||
|
||||
- On Linux :
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
xz -d clear-<VERSION>-live-server.iso.xz
|
||||
|
||||
#. Delete the originally downloaded compressed file.
|
||||
|
||||
Create a new |VB| virtual machine
|
||||
*********************************
|
||||
|
||||
A new :abbr:`VM (Virtual Machine)` needs to be created in |VBM| where |CL|
|
||||
will be installed. General instructions for creating a virtual machine and
|
||||
details about using different settings are available in the VirtualBox manual section `Creating Your First Virtual Machine`_.
|
||||
|
||||
#. Launch the |VBM| from your host system.
|
||||
|
||||
#. Click the :guilabel:`New` button to create a new VM.
|
||||
|
||||
#. Choose :guilabel:`Expert mode`.
|
||||
|
||||
#. On the :guilabel:`Create Virtual Machine` screen, enter the following settings:
|
||||
|
||||
- **Name**: Choose name (e.g. ClearLinuxOS-VM).
|
||||
- **Type**: Linux
|
||||
- **Version**: **Linux 2.6 / 3.x / 4.x (64-bit)**
|
||||
- **Hard disk**: `Create a virtual hard disk now`
|
||||
- **Memory size default**: 2048 MB (Adjust appropriately.)
|
||||
|
||||
.. note::
|
||||
Later, if you want to change the amount of RAM allocated, power down your VM. Return to :file:`Settings > System` and change
|
||||
:guilabel:`Base Memory` to the desired size.
|
||||
|
||||
.. figure:: figures/vbox/virtualbox-cl-installer-02.png
|
||||
:scale: 100%
|
||||
:alt: Create Virtual Machine
|
||||
|
||||
Figure 2: Create Virtual Machine
|
||||
|
||||
#. Click :guilabel:`Create`.
|
||||
|
||||
#. On the :guilabel:`Create Virtual Hard Disk` screen, select:
|
||||
|
||||
- **File location**
|
||||
- **File size**: **32.00 GB**. Adjust size to your needs.
|
||||
- **Hard disk file type**: `VDI (VirtualBox Disk Image)`
|
||||
- **Storage on physical hard disk**: `Dynamically allocated`
|
||||
|
||||
.. figure:: figures/vbox/virtualbox-cl-installer-03.png
|
||||
:scale: 100%
|
||||
:alt: Create Virtual Hard Disk
|
||||
|
||||
Figure 3: Create Virtual Hard Disk
|
||||
|
||||
#. Click :guilabel:`Create`.
|
||||
|
||||
A new virtual machine will be created and appear in the |VBM|.
|
||||
|
||||
#. Click :guilabel:`Settings` to configure the |CL| VM.
|
||||
|
||||
#. In the left-hand menu, navigate to the :menuselection:`System` menu.
|
||||
|
||||
#. On the :guilabel:`Motherboard` tab, select the :guilabel:`Chipset` menu, and
|
||||
then select :menuselection:`ICH9`. See Figure 4.
|
||||
|
||||
.. note::
|
||||
|
||||
You can select which chipset will be presented to the virtual machine.
|
||||
Consult the `VM VirtualBox User Manual`_ for more details.
|
||||
|
||||
#. In :guilabel:`Enabled Features`, check these boxes:
|
||||
|
||||
- **Enable I/O APIC**
|
||||
- **Enable EFI (special OSes only)**
|
||||
|
||||
.. figure:: figures/vbox/virtualbox-cl-installer-04.png
|
||||
:scale: 100%
|
||||
:alt: Settings > System
|
||||
|
||||
Figure 4: Settings > System
|
||||
|
||||
.. note::
|
||||
|
||||
By default, only 1 virtual CPU is allocated to the new VM. Consider
|
||||
increasing the number of virtual processors allocated to the virtual
|
||||
machine under Settings > System > Processor for increased
|
||||
performance.
|
||||
|
||||
#. Click :guilabel:`OK`.
|
||||
|
||||
Install |CL| on the |VB| VM
|
||||
***************************
|
||||
|
||||
|CL| is ready to be installed.
|
||||
|
||||
Mount the installation ISO
|
||||
==========================
|
||||
|
||||
The |CL| installer ISO needs to be mounted as a virtual CD-ROM on the VM
|
||||
before powering the VM on.
|
||||
|
||||
#. From the *ClearLinux-OS* :guilabel:`Settings` menu at left, select
|
||||
:guilabel:`Storage`.
|
||||
|
||||
#. From :guilabel:`Storage Devices`, middle column, click the blue
|
||||
disk labeled :guilabel:`Empty`.
|
||||
|
||||
#. From the :guilabel:`Attributes` menu, click the blue CD disk next to
|
||||
the :guilabel:`Optical Drive` drop down menu and click
|
||||
:guilabel:`Choose Virtual Optical Disk File...`
|
||||
|
||||
.. figure:: figures/vbox/virtualbox-cl-installer-05.png
|
||||
:scale: 100%
|
||||
:alt: Choose Virtual Optical Disk Drive
|
||||
|
||||
Figure 5: Choose Virtual Optical Disk Drive
|
||||
|
||||
#. Where there appears :guilabel:`Please choose a virtual optical disk file`,
|
||||
select the ISO file and click *Open*.
|
||||
|
||||
.. figure:: figures/vbox/virtualbox-cl-installer-06.png
|
||||
:scale: 100%
|
||||
:alt: Mounting an ISO
|
||||
|
||||
Figure 6: Mounting an ISO
|
||||
|
||||
#. Click :guilabel:`OK` to exit and return to the main |VBM|.
|
||||
|
||||
Install |CL| with live-server installer
|
||||
=======================================
|
||||
|
||||
#. In the |VBM|, select virtual machine you created and click :guilabel:`Start`.
|
||||
|
||||
.. figure:: figures/vbox/virtualbox-cl-installer-07.png
|
||||
:scale: 100%
|
||||
:alt: Start the installer
|
||||
|
||||
Figure 7: Start the installer
|
||||
|
||||
.. note::
|
||||
|
||||
To release the mouse cursor from the VM console window, press the right
|
||||
:kbd:`Ctrl` key on the keyboard.
|
||||
|
||||
#. When :guilabel:`Clear Linux Installer` in boot manager appears,
|
||||
select :kbd:`Enter`. Do not install the bundle `desktop-autostart`.
|
||||
|
||||
#. Follow the steps in :ref:`bare-metal-install-server` to
|
||||
install |CL| onto the VM virtual disk. Note:
|
||||
|
||||
#. In :guilabel:`Configure Installation Media`, navigate top
|
||||
VBOX HARDDISK, and then select :guilabel:`Confirm`.
|
||||
|
||||
#. In :menuselection:`Advanced options --> Manage User`, create an
|
||||
administrative user.
|
||||
|
||||
#. Do not install the bundle `desktop-autostart`.
|
||||
|
||||
#. When |CL| installation is complete, click :guilabel:`Exit`.
|
||||
|
||||
#. At the prompt, enter:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
shutdown now
|
||||
|
||||
Unmount the ISO
|
||||
===============
|
||||
|
||||
The |CL| installer ISO needs to be unmounted to allow the VM to boot from the
|
||||
virtual hard disk.
|
||||
|
||||
#. Return to the |VBM|.
|
||||
|
||||
#. Click :guilabel:`Settings` to configure the |CL| VM.
|
||||
|
||||
#. From the VM :guilabel:`Settings` window, navigate to the :guilabel:`Storage`
|
||||
pane in the left menu.
|
||||
|
||||
#. From the middle :guilabel:`Storage Devices` column, click the blue CD disk
|
||||
labeled :guilabel:`clear-<VERSION>-live-server.iso` under the
|
||||
:guilabel:`Controller: IDE`.
|
||||
|
||||
#. From the :guilabel:`Attributes` column on the right, in :guilabel:`Optical Drive`,
|
||||
select the blue CD icon beside and click
|
||||
:guilabel:`Remove Disk from Virtual Drive`.
|
||||
|
||||
.. figure:: figures/vbox/virtualbox-cl-installer-08.png
|
||||
:scale: 100%
|
||||
:alt: Remove Disk from Virtual Drive
|
||||
|
||||
Figure 8: Remove Disk from Virtual Drive
|
||||
|
||||
#. Click :guilabel:`OK` to exit the :guilabel:`VM Settings` menu and return to
|
||||
the main |VBM|.
|
||||
|
||||
Install |VB| Linux Guest Additions
|
||||
==================================
|
||||
|
||||
|CL| provides Linux Guest Additions drivers for full compatibility using an
|
||||
install script in the **kernel-lts** (Long Term Support) bundle by |CL|.
|
||||
|
||||
#. From the |VBM| select the |CL| VM, and select :guilabel:`Start`.
|
||||
|
||||
#. In the VM Console, log in as the administrative user previously created.
|
||||
|
||||
.. note::
|
||||
A message may appear: "A kernel update is available: you may wish
|
||||
to reboot the system."
|
||||
|
||||
To update the kernel, enter:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo reboot
|
||||
|
||||
At initial login, enter the administrative user's password and continue.
|
||||
|
||||
#. Validate the installed kernel is **kernel-lts** by checking the output
|
||||
of the :command:`uname -r` command. It should end in **.lts** or **.lts2018**.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
uname -r
|
||||
<VERSION>.lts
|
||||
|
||||
If the running kernel is not **lts**: install the LTS kernel manually,
|
||||
update the bootloader, and check again:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd bundle-add kernel-lts
|
||||
clr-boot-manager set-kernel $(basename $(realpath /usr/lib/kernel/default-lts))
|
||||
clr-boot-manager update
|
||||
reboot
|
||||
|
||||
#. Remove any kernel bundles that do not end in *-lts* or *kernel-install*
|
||||
to simplify and avoid conflicts:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd bundle-list | grep kernel
|
||||
sudo swupd bundle-remove <NON-LTS-KERNEL>
|
||||
|
||||
#. In the VM Console top menu, click :guilabel:`Devices`, and select
|
||||
:guilabel:`Insert Guest Additions CD image...` to mount the |VB| driver
|
||||
installation to the |CL| VM.
|
||||
|
||||
.. figure:: figures/vbox/virtualbox-cl-installer-09.png
|
||||
:scale: 100%
|
||||
:alt: Insert Guest Additions CD image
|
||||
|
||||
Figure 9: Insert Guest Additions CD image
|
||||
|
||||
#. If a dialogue appears, "VBx_GAs_6.0.8... Would you like to run it?",
|
||||
select :guilabel:`Cancel`.
|
||||
|
||||
Instead, we provide a script to patch and install |VB| drivers on |CL|.
|
||||
|
||||
#. Open a Terminal and enter the script:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo install-vbox-lga
|
||||
|
||||
.. note::
|
||||
|
||||
Successful installation shows: "Guest Additions installation complete".
|
||||
If drivers are already installed, don't re-install them.
|
||||
|
||||
#. Shut down the system. Select :menuselection:`Machine --> ACPI Shutdown`.
|
||||
|
||||
.. figure:: figures/vbox/virtualbox-cl-installer-10.png
|
||||
:scale: 100%
|
||||
:alt: Powering off a VirtualBox VM
|
||||
|
||||
Figure 10: Powering off a VirtualBox VM
|
||||
|
||||
#. Select :guilabel:`Settings`, :guilabel:`Display`.
|
||||
|
||||
#. In :guilabel:`Graphics Controller`, select :guilabel:`VBoxSVGA`
|
||||
to adjust screen size dynamically.
|
||||
|
||||
.. figure:: figures/vbox/virtualbox-cl-installer-11.png
|
||||
:scale: 100%
|
||||
:alt: Remove Disk from Virtual Drive
|
||||
|
||||
Figure 11: VirtualBox hardware acceleration error
|
||||
|
||||
#. In the |VBM|, select :guilabel:`Start`.
|
||||
|
||||
#. In the VM console, login and verify the |VB| drivers are loaded:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
lsmod | grep ^vbox
|
||||
|
||||
You should see drivers loaded with names beginning with **vbox**:
|
||||
(e.g., vboxvideo, vboxguest).
|
||||
|
||||
#. Add `desktop-autostart` for a full desktop experience.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd bundle-add desktop-autostart
|
||||
|
||||
#. Reboot the VM and log in with the administrative user.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo reboot
|
||||
|
||||
The |CL| VM running on |VB| is ready to develop and explore.
|
||||
|
||||
Troubleshooting
|
||||
***************
|
||||
|
||||
#. **Problem:** On a Microsoft\* Windows\* OS, |VB| encounters an error when
|
||||
trying to start a VM indicating *VT-X/AMD-v hardware acceleration is not
|
||||
available on your system.*
|
||||
|
||||
.. figure:: figures/vbox/virtualbox-cl-installer-12.png
|
||||
:scale: 100%
|
||||
:alt: Remove Disk from Virtual Drive
|
||||
|
||||
Figure 12: VirtualBox hardware acceleration error
|
||||
|
||||
**Solution:** First, double check the `Prerequisites`_ section to make
|
||||
sure *Hardware accelerated virtualization* extensions have been enabled
|
||||
in the host system's EFI/BIOS.
|
||||
|
||||
*Hardware accelerated virtualization*, may get disabled for |VB| when
|
||||
another hypervisor, such as *Hyper-V* is enabled.
|
||||
|
||||
To disable *Hyper-V* execute this command in an
|
||||
**Administrator: Command Prompt or Powershell**, and reboot the system:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
bcdedit /set {current} hypervisorlaunchtype off
|
||||
|
||||
To enable Hyper-V again, execute this command in an
|
||||
**Administrator: Command Prompt or Powershell**, and reboot the system:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
bcdedit /set {current} hypervisorlaunchtype Auto
|
||||
|
||||
|
||||
*Intel and the Intel logo are trademarks of Intel Corporation or its subsidiaries.*
|
||||
|
||||
.. _VirtualBox Installation Instructions: https://www.virtualbox.org/manual/ch02.html
|
||||
|
||||
.. _VirtualBox: https://www.virtualbox.org
|
||||
|
||||
.. _Downloads: https://clearlinux.org/downloads
|
||||
|
||||
.. _`Creating Your First Virtual Machine`: https://www.virtualbox.org/manual/UserManual.html#gui-createvm
|
||||
|
||||
.. _7zip: http://www.7-zip.org/
|
||||
|
||||
.. _Intel® Virtualization Technology: https://www.intel.com/content/www/us/en/virtualization/virtualization-technology/intel-virtualization-technology.html
|
||||
|
||||
.. _VM VirtualBox User Manual: https://docs.oracle.com/cd/E97728_01/E97727/html/settings-system.html
|
||||
@@ -1,72 +0,0 @@
|
||||
.. _compatible-kernels:
|
||||
|
||||
Kernels
|
||||
#######
|
||||
|
||||
The |CL-ATTR| provides the following Linux kernels with a respective bundle.
|
||||
This document describes the specific use cases these `bundles`_ serve
|
||||
and provides links to their source code.
|
||||
|
||||
Bare metal only
|
||||
***************
|
||||
|
||||
Kernel native
|
||||
The *kernel-native* bundle focuses on the bare metal platforms. It is
|
||||
optimized for fast booting and performs best on the Intel® Architecture Processors
|
||||
described on the :ref:`supported hardware list<system-requirements>`. The
|
||||
optimization patches are found in our `Linux`_ GitHub\* repo.
|
||||
|
||||
.. _vm-kernels:
|
||||
|
||||
Also compatible with VMs
|
||||
************************
|
||||
|
||||
Kernel LTS
|
||||
The *kernel-lts* bundle focuses on the bare metal platforms but uses the
|
||||
latest :abbr:`LTS (Long Term Support)` Linux kernel. It is optimized for
|
||||
fast booting and performs best on the Intel® Architecture Processors described
|
||||
on the :ref:`supported hardware list<system-requirements>`. Additionally, this
|
||||
kernel includes the VirtualBox\* kernel modules, see our
|
||||
:ref:`instructions on using Virtualbox<virtualbox-cl-installer>` for more
|
||||
information. The optimization patches are found in our `Linux-LTS`_ GitHub
|
||||
repo.
|
||||
|
||||
VM only
|
||||
*******
|
||||
|
||||
Kernel KVM
|
||||
The *kernel-kvm* bundle focuses on the Linux
|
||||
:abbr:`KVM (Kernel-based Virtual Machine)`. It is optimized for fast
|
||||
booting and performs best on Virtual Machines running on the Intel® Architecture
|
||||
Processors described on the
|
||||
:ref:`supported hardware list<system-requirements>`. Use this kernel when
|
||||
running |CL| as the guest OS on top of *qemu/kvm*. Use this kernel with
|
||||
**cloud orchestrators** using *qemu/kvm* internally as their **hypervisor**
|
||||
. This kernel can be used as a standalone |CL| VM, see our
|
||||
:ref:`instructions on using KVM<kvm>` for more information. The
|
||||
optimization patches are found in our `Linux-KVM`_ GitHub repo.
|
||||
|
||||
Kernel Hyper-V\*
|
||||
The *kernel-hyperv* bundle focuses on running Linux on Microsoft\*
|
||||
Hyper-V. It is optimized for fast booting and performs best on Virtual
|
||||
Machines running on the Intel® Architecture Processors described on the
|
||||
:ref:`supported hardware list<system-requirements>`.
|
||||
Use this kernel when running |CL| as the guest OS of **Cloud Instances** in
|
||||
projects such as Microsoft `Azure`_\*. This kernel can be used in a
|
||||
standalone |CL| VM, see our :ref:`instructions on using Hyper-V<hyper-v>`
|
||||
for more information. The optimization patches are found in our
|
||||
`Linux-HyperV`_ GitHub repo.
|
||||
|
||||
*Intel and the Intel logo are trademarks of Intel Corporation or its subsidiaries.*
|
||||
|
||||
.. _Linux: https://github.com/clearlinux-pkgs/linux
|
||||
.. _Linux-LTS: https://github.com/clearlinux-pkgs/linux-lts
|
||||
.. _Linux-KVM: https://github.com/clearlinux-pkgs/linux-kvm
|
||||
.. _Linux-HyperV: https://github.com/clearlinux-pkgs/linux-hyperv
|
||||
.. _Linux-HyperV-LTS: https://github.com/clearlinux-pkgs/linux-hyperv-lts
|
||||
.. _Linux-Container: https://github.com/clearlinux-pkgs/linux-container
|
||||
.. _bundles: https://github.com/clearlinux/clr-bundles
|
||||
.. _CIAO: https://github.com/01org/ciao
|
||||
.. _Azure:
|
||||
https://azuremarketplace.microsoft.com/en-us/marketplace/apps/clear-linux-project.clear-linux-os
|
||||
|
||||
@@ -1,321 +0,0 @@
|
||||
.. _kubernetes-migration:
|
||||
|
||||
Kubernetes\* migration
|
||||
######################
|
||||
|
||||
This guide describes how to migrate `Kubernetes container orchestration system`_ on |CL-ATTR| from 1.17.x to 1.19.x.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
Background
|
||||
**********
|
||||
|
||||
The version of Kubernetes\* was bumped from 1.17.7 to 1.19.4 in |CL-ATTR|
|
||||
release 34090. This guide and the |CL| bundle `k8s-migration` were created
|
||||
to help facilitate migration of a cluster from 1.17.x to the latest 1.19.x .
|
||||
|
||||
The new |CL| bundle `k8s-migration` was added in |CL-ATTR| release 34270.
|
||||
|
||||
Prerequisites
|
||||
*************
|
||||
|
||||
* Make sure you check any updates to kubernetes upgrade doc for caveats related to the version that is running in the cluster.
|
||||
* Make sure ALL the nodes are in Ready state. Without that, the cluster cannot be upgraded.
|
||||
Either fix the broken nodes or remove them from the cluster.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
Upgrade 1.17.x ---> 1.18.15
|
||||
***************************
|
||||
|
||||
#. Upgrade Control Node to 1.18.15 first
|
||||
|
||||
First step would be to upgrade one of the main control node and
|
||||
update kubernetes components on them. You will need to have a newer
|
||||
version of :command:`kubeadm` for the upgrade to work. Please consult
|
||||
`kubeadm upgrade guide`_
|
||||
for any caveats from your current version to the new one.
|
||||
|
||||
Update |CL| to the latest release to update the kubernetes version.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo -E swupd update
|
||||
|
||||
.. note::
|
||||
Note: PLEASE DO NOT REBOOT YOUR SYSTEM AT THIS TIME. |CL| is awesome and
|
||||
your stuff will work just fine.
|
||||
|
||||
#. Add the new Kubernetes migration bundle which contains the 1.18.15 binaries.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo -E swupd bundle-add k8s-migration
|
||||
|
||||
#. Find the upgrade version of kubeadm that can used. This should be 1.18.15.
|
||||
|
||||
This command will show the command and possible jumps that can be made from the current kubernetes version.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo -E /usr/k8s-migration/bin/kubeadm upgrade plan
|
||||
|
||||
Sample output:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
[upgrade/config] Making sure the configuration is correct:
|
||||
[upgrade/config] Reading configuration from the cluster...
|
||||
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
|
||||
[preflight] Running pre-flight checks.
|
||||
[upgrade] Running cluster health checks
|
||||
[upgrade] Fetching available versions to upgrade to
|
||||
[upgrade/versions] Cluster version: v1.17.17
|
||||
[upgrade/versions] kubeadm version: v1.18.15
|
||||
I0209 21:12:49.868786 832739 version.go:252] remote version is much newer: v1.20.2; falling back to: stable-1.18
|
||||
[upgrade/versions] Latest stable version: v1.18.15
|
||||
[upgrade/versions] Latest stable version: v1.18.15
|
||||
[upgrade/versions] Latest version in the v1.17 series: v1.17.17
|
||||
[upgrade/versions] Latest version in the v1.17 series: v1.17.17
|
||||
|
||||
Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':
|
||||
COMPONENT CURRENT AVAILABLE
|
||||
Kubelet 3 x v1.17.7 v1.18.15
|
||||
|
||||
Upgrade to the latest stable version:
|
||||
|
||||
COMPONENT CURRENT AVAILABLE
|
||||
API Server v1.17.17 v1.18.15
|
||||
Controller Manager v1.17.17 v1.18.15
|
||||
Scheduler v1.17.17 v1.18.15
|
||||
Kube Proxy v1.17.17 v1.18.15
|
||||
CoreDNS 1.6.5 1.6.7
|
||||
Etcd 3.4.3 3.4.3-0
|
||||
|
||||
You can now apply the upgrade by executing the following command:
|
||||
|
||||
kubeadm upgrade apply v1.18.15
|
||||
|
||||
#. Upgrade the node to the intermediate 1.18.15 version of Kubernetes.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo -E /usr/k8s-migration/bin/kubeadm upgrade apply v1.18.15
|
||||
|
||||
.. note::
|
||||
Note: Do **not** reboot the system yet.
|
||||
|
||||
#. Upgrade Additional Control Nodes to 1.18.15
|
||||
|
||||
In multi-node control plane, verify all the control plane nodes are updated prior to upgrading the worker nodes/SUTs.
|
||||
|
||||
#. Upgrade Other Nodes to 1.18.15
|
||||
|
||||
For each of the other nodes:
|
||||
|
||||
a. Update |CL| to the latest release to update the kubernetes version.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo -E swupd update
|
||||
|
||||
#. Add the new Kubernetes migration bundle which contains the 1.18.15 binaries.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo -E swupd bundle-add k8s-migration
|
||||
|
||||
#. On the **Admin node**, drain the Client node *FIRST*
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
/usr/k8s-migration/bin/kubectl drain <CLIENT_NODE_NAME> --ignore-daemonsets --delete-local-data
|
||||
|
||||
#. Back on the **Client node**, upgrade Kubernetes on the Client
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo -E /usr/k8s-migration/bin/kubeadm upgrade node
|
||||
|
||||
#. On the **Admin node**, re-enable the Client
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
/usr/k8s-migration/bin/kubectl uncordon <CLIENT_NODE_NAME>
|
||||
|
||||
|
||||
#. Back on the **Client node**, restart Kubernetes on the Client
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo -E systemctl restart kubelet
|
||||
|
||||
#. Restart Kubernetes on the Admin node(s) to finish the 1.18.x upgrade
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo -E systemctl restart kubelet
|
||||
|
||||
.. note::
|
||||
Note: Wait for all nodes to be Ready and showing the 1.19.x version.
|
||||
This version will now show as it is the released version the
|
||||
service files will see and use, but the Nodes are *not* upgraded yet.
|
||||
|
||||
Upgrade 1.18.15 ---> 1.19.x
|
||||
***************************
|
||||
|
||||
#. Upgrade Control Node to 1.19.x
|
||||
|
||||
Now that systems are upgraded to the intermediate release of 1.18.15
|
||||
each of the nodes can be upgraded to the latest 1.19.x release.
|
||||
|
||||
#. Find the upgrade version of kubeadm that can used. This should be 1.19.x.
|
||||
|
||||
This command will show the command and possible jumps that can be made from the current kubernetes version.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo -E kubeadm upgrade plan
|
||||
|
||||
Sample output:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
[upgrade/config] Making sure the configuration is correct:
|
||||
[upgrade/config] Reading configuration from the cluster...
|
||||
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
|
||||
[preflight] Running pre-flight checks.
|
||||
[upgrade] Running cluster health checks
|
||||
[upgrade] Fetching available versions to upgrade to
|
||||
[upgrade/versions] Cluster version: v1.18.15
|
||||
[upgrade/versions] kubeadm version: v1.19.7
|
||||
I0209 23:08:23.810900 925910 version.go:252] remote version is much newer: v1.20.2; falling back to: stable-1.19
|
||||
[upgrade/versions] Latest stable version: v1.19.7
|
||||
[upgrade/versions] Latest stable version: v1.19.7
|
||||
[upgrade/versions] Latest version in the v1.18 series: v1.18.15
|
||||
[upgrade/versions] Latest version in the v1.18 series: v1.18.15
|
||||
|
||||
Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':
|
||||
COMPONENT CURRENT AVAILABLE
|
||||
kubelet 3 x v1.17.7 v1.19.7
|
||||
|
||||
Upgrade to the latest stable version:
|
||||
|
||||
COMPONENT CURRENT AVAILABLE
|
||||
kube-apiserver v1.18.15 v1.19.7
|
||||
kube-controller-manager v1.18.15 v1.19.7
|
||||
kube-scheduler v1.18.15 v1.19.7
|
||||
kube-proxy v1.18.15 v1.19.7
|
||||
CoreDNS 1.6.7 1.7.0
|
||||
etcd 3.4.3-0 3.4.13-0
|
||||
|
||||
You can now apply the upgrade by executing the following command:
|
||||
|
||||
kubeadm upgrade apply v1.19.7
|
||||
|
||||
The table below shows the current state of component configs as understood by this version of kubeadm.
|
||||
Configs that have a "yes" mark in the "MANUAL UPGRADE REQUIRED" column require manual config upgrade or
|
||||
resetting to kubeadm defaults before a successful upgrade can be performed. The version to manually
|
||||
upgrade to is denoted in the "PREFERRED VERSION" column.
|
||||
|
||||
API GROUP CURRENT VERSION PREFERRED VERSION MANUAL UPGRADE REQUIRED
|
||||
kubeproxy.config.k8s.io v1alpha1 v1alpha1 no
|
||||
kubelet.config.k8s.io v1beta1 v1beta1 no
|
||||
|
||||
#. Upgrade the node to the latest 1.19.x version of Kubernetes.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo -E /usr/bin/kubeadm upgrade apply v1.19.7
|
||||
|
||||
.. note::
|
||||
|
||||
Note: Do **not** reboot the system yet.
|
||||
|
||||
#. Upgrade Additional Control Nodes to 1.19.x
|
||||
|
||||
In multi-node control plane, verify all the control plane nodes are updated prior to upgrading the worker nodes/SUTs.
|
||||
|
||||
#. Upgrade Other Nodes to 1.19.x
|
||||
|
||||
For each of the other nodes:
|
||||
|
||||
a. On the **Admin node**, drain the Client *FIRST*
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
kubectl drain <CLIENT_NODE_NAME> --ignore-daemonsets
|
||||
|
||||
#. Back on the **Client node**, upgrade Kubernetes on the Client
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo -E kubeadm upgrade node
|
||||
|
||||
#. On the **Admin node**, re-enable the Client
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
kubectl uncordon <CLIENT_NODE_NAME>
|
||||
|
||||
#. Back on the **Client node**, if you wish reboot the Client, it is now safe to do so.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo reboot
|
||||
|
||||
#. Reboot the Control Node (optional)
|
||||
|
||||
*If you wish reboot the nodes, it is now safe to do so.*
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo reboot
|
||||
|
||||
**Congratulations!**
|
||||
|
||||
You've successfully installed and set up Kubernetes in |CL| using CRI-O and kata-runtime. You are now ready to follow on-screen instructions to deploy a pod network to the cluster and join worker nodes with the displayed token and IP information.
|
||||
|
||||
Clean up: Remove the migration bundle for each node
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo -E swupd bundle-remove k8s-migration
|
||||
|
||||
Related topics
|
||||
**************
|
||||
|
||||
Read the Kubernetes documentation to learn more about:
|
||||
|
||||
* `Kubernetes tutorial <tutorials/kubernetes>`_
|
||||
|
||||
* `Kubernetes best practices <tutorials/kubernetes-bp>`_
|
||||
|
||||
* Deploying Kubernetes with a `cloud-native-setup`_
|
||||
|
||||
* `Understanding basic Kubernetes architecture`_
|
||||
|
||||
* `Deploying an application to your cluster`_
|
||||
|
||||
* Installing a `pod network add-on`_
|
||||
|
||||
* `Joining your nodes`_
|
||||
|
||||
|
||||
.. _kubeadm upgrade guide: https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/
|
||||
|
||||
.. _Kubernetes container orchestration system: https://kubernetes.io/
|
||||
|
||||
.. _Understanding basic Kubernetes architecture: https://kubernetes.io/docs/user-journeys/users/application-developer/foundational/#section-3
|
||||
|
||||
.. _Deploying an application to your cluster: https://kubernetes.io/docs/user-journeys/users/application-developer/foundational/#section-2
|
||||
|
||||
.. _pod network add-on: https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#pod-network
|
||||
|
||||
.. _Joining your nodes: https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#join-nodes
|
||||
|
||||
.. _cloud-native-setup: https://github.com/clearlinux/cloud-native-setup/tree/master/clr-k8s-examples
|
||||
@@ -1,241 +0,0 @@
|
||||
.. _performance:
|
||||
|
||||
Performance
|
||||
###########
|
||||
|
||||
|CL-ATTR| is built with optimizations across the whole stack for improved
|
||||
performance. |CL| achieves its performance through a variety of design decisions
|
||||
and software building techniques.
|
||||
|
||||
.. contents:: :local:
|
||||
:depth: 1
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
The |CL| philosophy is to do everything with performance in mind. The |CL| team
|
||||
applies this philosophy in the project's codebase and operating culture.
|
||||
|
||||
Below are some examples of the |CL| philosophy:
|
||||
|
||||
**Consider performance holistically.**
|
||||
Performance optimizations are considered across hardware and software. |CL|
|
||||
shows the performance potential of a holistic approach on Linux, using Intel®
|
||||
architecture with optimizations across the full stack.
|
||||
|
||||
**Optimize for runtime performance.**
|
||||
In general, |CL| will trade the one-time cost of longer build time and larger
|
||||
storage footprint for the repeated benefit of improved runtime performance.
|
||||
|CL| users benefit from the optimized software but aren't affected by the
|
||||
increased build time because the |CL| team builds the software before
|
||||
distributing it to |CL| clients.
|
||||
|
||||
**Optimize performance for server and cloud use cases first.**
|
||||
Design decisions that optimize performance for server and cloud also benefit
|
||||
other use cases, such as IoT devices and desktop clients.
|
||||
|
||||
|CL| has become well-known for the performance it can deliver.
|
||||
`Phoronix publishes
|
||||
Linux performance comparisons <https://www.phoronix.com/scan.php?page=news_topic&q=Clear+Linux>`_
|
||||
that include |CL|.
|
||||
|
||||
Software build toolchain
|
||||
************************
|
||||
|
||||
|CL| uses many techniques in its software build toolchain to improve software
|
||||
performance, such as aggressive compiler flags and CPU-specific optimizations.
|
||||
If maintained manually, these techniques can become complex to support due to
|
||||
the volume of packages and the potential for technical drift of package
|
||||
performance configurations. The |CL| team built the :ref:`autospec` tool to
|
||||
manage this complexity and to apply the techniques used in the software build
|
||||
toolchain across the entire project. autospec is available as part of the OS for
|
||||
developers to use when they build their own projects on |CL|.
|
||||
|
||||
Latest versions of compilers and low-level libraries
|
||||
====================================================
|
||||
|
||||
|CL| is a rolling release distribution and follows upstream software
|
||||
repositories, including compilers and libraries, for updates. |CL| includes
|
||||
upstream source-level optimizations as soon as they're available.
|
||||
|
||||
A benchmark approach to compiler performance
|
||||
============================================
|
||||
|
||||
|CL| chooses the compiler used to build each software package on a case-by-case
|
||||
basis to maximize performance. Typically, |CL| uses the open source `GNU Compiler
|
||||
Collection <https://gcc.gnu.org/>`_ (GCC) with the standard low-level
|
||||
libraries `Glibc <https://www.gnu.org/software/libc/>`_ and
|
||||
`libstdc++ <https://gcc.gnu.org/onlinedocs/libstdc++/>`_ for C and C++
|
||||
programming languages. If there is a performance advantage, |CL| will build
|
||||
packages with `Clang / LLVM <https://clang.llvm.org/>`_.
|
||||
|
||||
|CL| uses patched compilers and low-level libraries for exact control of the
|
||||
software build. Patches include changes that default to more aggressive
|
||||
optimizations or optimizations that haven't yet been merged upstream.
|
||||
|
||||
View the full list of patches in the autospec repositories on GitHub:
|
||||
|
||||
* https://github.com/clearlinux-pkgs/gcc
|
||||
* https://github.com/clearlinux-pkgs/glibc
|
||||
* https://github.com/clearlinux-pkgs/llvm
|
||||
|
||||
Aggressive compiler flags
|
||||
=========================
|
||||
|
||||
|CL| uses aggressive
|
||||
`compiler flags <https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html>`_ to
|
||||
optimize software builds for runtime performance. Some significant flags that
|
||||
|CL| often implements are:
|
||||
|
||||
`mtune and march <https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html>`_
|
||||
Options used to tune generated code with optimized instructions for specific
|
||||
CPU types instead of creating generic code for maximum compatibility.
|
||||
|
||||
|CL| defines its minimum hardware requirements to be second-generation
|
||||
Intel® microarchitecture code name Westmere (released in 2010) or later.
|
||||
This enables compiler optimizations that are available only on newer
|
||||
architectures. Whenever possible, |CL| tunes code for the Haswell generation
|
||||
processors or newer.
|
||||
|
||||
|CL| sets :command:`march=westmere` and :command:`mtune=haswell`.
|
||||
|
||||
.. note::
|
||||
|CL| doesn't require Advanced Encryption Standard (AES), so it should
|
||||
run on some Intel CPUs from the first generation of Intel® microarchitecture code name Nehalem (released in 2008). Refer to the
|
||||
`recommended minimum system requirements <https://docs.01.org/clearlinux/latest/reference/system-requirements.html>`_ for specific requirements.
|
||||
|
||||
`O3 <https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html>`_
|
||||
The largest preset of compiler options optimizations for performance. O3
|
||||
favors runtime performance.
|
||||
|
||||
View the "Optimize Options" section of the GCC man page for additional
|
||||
information: :command:`man gcc`
|
||||
|
||||
`LTO <https://gcc.gnu.org/onlinedocs/gccint/LTO.html>`_
|
||||
Link-time optimization that performs an optimization between compiled object
|
||||
files and creation of executable binaries by adding extra information to the
|
||||
compiled object to help the linker.
|
||||
|
||||
`PGO <https://en.wikipedia.org/wiki/Profile-guided_optimization>`_
|
||||
Profile guided optimization or field guided optimization performs
|
||||
optimization based on information sampled during the execution of the program.
|
||||
|
||||
|
||||
Compiler flags are set at different levels in the |CL| build environment:
|
||||
|
||||
User flags
|
||||
The set of default flags used by |CL| when a user compiles software
|
||||
from source. The flags are exported as system-wide environment variables from
|
||||
the
|
||||
`/usr/share/defaults/etc/profile <https://github.com/clearlinux-pkgs/filesystem/blob/master/profile.x86_64>`_ file to the user’s shell by default. These are the
|
||||
standard variables read by the compiler, named :command:`*FLAGS`, depending
|
||||
on the compiler.
|
||||
|
||||
.. note::
|
||||
Source code may come with software build systems that
|
||||
override these values. This will cause a difference in expected flags.
|
||||
The |CL| autospec tooling will attempt to ignore these overrides, but
|
||||
the build system may still need patching. A manual build will not ignore
|
||||
the build system override values if they exist.
|
||||
|
||||
Global flags
|
||||
Compiler flags applied at a global level for all packages. The |CL| RPM
|
||||
configuration (`clr-rpm-config <https://github.com/clearlinux/clr-rpm-config>`_)
|
||||
contains global compiler flags. Search the :file:`macros` file for
|
||||
:command:`global_cflags` and search the :file:`rpmrc` file for
|
||||
:command:`optflags`. Global compiler flags may be overridden.
|
||||
|
||||
.. note::
|
||||
|CL| doesn't use RPMs to install software. |CL|
|
||||
distributes software in the form of :ref:`bundles-guide`. The RPM format
|
||||
is only used during the |CL| build process as a way to resolve
|
||||
dependencies.
|
||||
|
||||
Per-package flags
|
||||
Compiler flags applied at a per-package level. The package's autospec
|
||||
repository contains the package-specific compiler flags. Search the
|
||||
:file:`.spec` file for the
|
||||
section starting with :command:`export CFLAGS`.
|
||||
|
||||
Multiple builds of libraries with CPU-specific optimizations
|
||||
============================================================
|
||||
|
||||
To fully use the capabilities in different generations of CPU hardware, |CL|
|
||||
will perform multiple builds of libraries with CPU-specific optimizations. For
|
||||
example, |CL| builds libraries with Intel® Advanced Vector Extensions 2 (Intel®
|
||||
AVX2) and Intel® Advanced Vector Extensions 512 (Intel® AVX-512). |CL| can then
|
||||
dynamically link to the library with the newest optimization based on the
|
||||
processor in the running system. Runtime libraries used by ordinary applications
|
||||
benefit from these CPU specific optimizations.
|
||||
|
||||
The autospec repository for Python* shows an example of this optimization:
|
||||
https://github.com/clearlinux-pkgs/python3
|
||||
|
||||
Kernel
|
||||
******
|
||||
|
||||
A modern kernel with variants optimized for different platforms
|
||||
===============================================================
|
||||
|
||||
|CL| is a rolling release distribution that uses the newest upstream Linux
|
||||
kernel. The Linux kernel has frequent updates which can include performance
|
||||
enhancements. It's a policy of the |CL| team to try to upstream any performance
|
||||
enhancements in the Linux kernel for all to use.
|
||||
|
||||
|CL| `builds different kernel variants <https://docs.01.org/clearlinux/latest/guides/clear/compatible-kernels.html>`_ for compatibility with specific platforms.
|
||||
For example, kernels meant to run on virtual machines skip support for much of
|
||||
the physical hardware that doesn’t show up in VM environments and will slow down
|
||||
boot.
|
||||
|
||||
View the kernel configuration and patches to the default native kernel in the
|
||||
autospec repository: https://github.com/clearlinux-pkgs/linux/
|
||||
|
||||
Utility to enforce kernel runtime parameters
|
||||
============================================
|
||||
|
||||
The Linux kernel exposes parameters for tuning the behavior of drivers and
|
||||
devices such as certain buffers and resource management strategies. |CL| uses a
|
||||
small utility, `clr-power-tweaks <https://github.com/clearlinux-pkgs/clr-power-tweaks>`_,
|
||||
to set and enforce kernel parameter values weighted towards performance upon
|
||||
boot. View the set performance values by running :command:`sudo clr_power --debug`.
|
||||
|
||||
Operating system
|
||||
****************
|
||||
|
||||
Operating system and software build-time optimizations set the stage for high
|
||||
performance. Decisions made after the installation of |CL| are equally as
|
||||
important.
|
||||
|
||||
|
||||
CPU performance governor
|
||||
========================
|
||||
|
||||
|CL| uses the performance CPU governor which calls for the CPU to operate at
|
||||
maximum clock frequency. In other words, P-state P0. The idea behind prioritizing
|
||||
maximum CPU performance is that the faster a program finishes execution, the
|
||||
faster the CPU can return to a low energy idle state. See the `CPU Power and
|
||||
Performance documentation <https://docs.01.org/clearlinux/latest/guides/maintenance/cpu-performance.html>`_
|
||||
for further details.
|
||||
|
||||
Restructured boot sequence
|
||||
==========================
|
||||
|
||||
To optimize boot speed, |CL| uses a restructured order for boot processes that
|
||||
minimizes the time services wait on slow operations and the time boot processes
|
||||
wait on each other.
|
||||
|
||||
Systemd-bootchart is a tool for graphing the boot sequence and writes logs to a
|
||||
file under :file:`/run/log`. The tool and corresponding log file make diagnosing slow
|
||||
boot problems easier. All |CL| systems have `systemd-bootchart <https://github.com/systemd/systemd-bootchart>`_ enabled by default for every boot. systemd-bootchart configuration is
|
||||
non-blocking to not materially slow down boot performance.
|
||||
|
||||
Related topics
|
||||
**************
|
||||
|
||||
* :ref:`cpu-performance`
|
||||
* `A Linux* OS for Linux Developers <https://clearlinux.org/blogs-news/linux-os-linux-developers>`_
|
||||
* `The Performance Race <https://clearlinux.org/news-blogs/performance-race>`_
|
||||
* `Boosting Python* from profile-guided to platform-specific optimizations <https://clearlinux.org/news-blogs/boosting-python-profile-guided-platform-specific-optimizations>`_
|
||||
* `Transparent use of library packages optimized for Intel® architecture <https://clearlinux.org/news-blogs/transparent-use-library-packages-optimized-intel-architecture>`_
|
||||
|
||||
*Intel and the Intel logo are trademarks of Intel Corporation or its subsidiaries.*
|
||||
@@ -1,158 +0,0 @@
|
||||
.. _security:
|
||||
|
||||
OS Security
|
||||
###########
|
||||
|
||||
|CL-ATTR| aims to make systemic and layered security-conscious decisions
|
||||
that are both performant and practical. This security philosophy is rooted
|
||||
within the project's codebase and operating culture.
|
||||
|
||||
.. contents:: :local:
|
||||
:depth: 1
|
||||
|
||||
Security in updates
|
||||
*******************
|
||||
|
||||
The |CL| team believes in the benefits of software security through open
|
||||
sourcing, incremental updates, and rapidly resolving known security advisories.
|
||||
|
||||
The latest Linux\* codebase
|
||||
===========================
|
||||
|
||||
|CL| uses the newest version of the Linux kernel which allows the operating
|
||||
system to leverage the latest features from the upstream Linux kernel,
|
||||
including security fixes.
|
||||
|
||||
Automated effective updating
|
||||
============================
|
||||
|
||||
|CL| is incrementally updated multiple times per day.
|
||||
|
||||
This `rolling release`_ model allows |CL| to consume the latest security fixes
|
||||
of software packages as soon as they become available. There is no waiting for
|
||||
major or minor releases on |CL|.
|
||||
|
||||
An update is not effective if it is just simply downloaded onto a system.
|
||||
It needs to be obtained *AND* ensured that the new patched copy is being
|
||||
used; not an older copy loaded into memory. |CL| will let you know when a
|
||||
service needs to be rebooted or do it for your automatically after
|
||||
a software update, if desired.
|
||||
|
||||
In |CL| updates are delivered automatically, efficiently, and effectively. For
|
||||
more information about software updates in |CL|, refer to the :ref:`swupd-guide`
|
||||
guide.
|
||||
|
||||
Automated CVE scanning and remediation
|
||||
======================================
|
||||
|
||||
The sheer number of software packages and security vulnerabilities is growing
|
||||
exponentially. Repositories of Common Vulnerabilities and Exposures (CVEs)
|
||||
and their fixes, if known, are published by :abbr:`NIST` in a
|
||||
National Vulnerability Database \ |NVD|\ and at \ |MITRE|\ .
|
||||
|
||||
|CL| employs a proactive and measured approach to addressing known
|
||||
and fixable :abbr:`CVEs (Common Vulnerabilities and Exposures)`.
|
||||
Packages are automatically scanned against CVEs daily, and security
|
||||
patches are deployed as soon as they are available.
|
||||
|
||||
These combined practices minimize the amount of time |CL| systems are exposed to unnecessary security risk.
|
||||
|
||||
Security in software
|
||||
*********************
|
||||
|
||||
Minimized attack surface
|
||||
========================
|
||||
|
||||
|CL| removes legacy, unneeded, or redundant standards and components as much as
|
||||
possible to enable the use of best known security standards. Below are some
|
||||
examples:
|
||||
|
||||
* `RC4`, `SSLv3`, `3DES`, and `SHA-1` ciphers which have had known
|
||||
vulnerabilities, have been explicitly disabled within many |CL| packages to
|
||||
avoid their accidental usage.
|
||||
|
||||
* Services and subsystems which expose sensitive system information
|
||||
have been removed such as the `finger` and `tcpwrappers`.
|
||||
|
||||
* `SFTP` has been disabled by default due to security considerations.
|
||||
|
||||
Verified trust
|
||||
==============
|
||||
|
||||
|CL| encourages the use of secure practices such as encryption
|
||||
and digital signature verification throughout the system and discourages blind
|
||||
trust. Below are some examples:
|
||||
|
||||
* All update operations from swupd are transparently encrypted and checked
|
||||
against the |CL| maintainers' public key for authenticity.
|
||||
More information about swupd security can be found in the
|
||||
`Security for software update in Clear Linux* OS`_ blog post.
|
||||
|
||||
* Before being built, packages available from |CL| verify checksums and
|
||||
signatures provided by third party project codebases and maintainers.
|
||||
|
||||
* |CL| features a unified certificate store, `clrtrust`_ which comes
|
||||
ready to work with well-known Certificate Authorities out of the box.
|
||||
clrtrust also offers an easy to use command line interface for managing
|
||||
system-wide chains of trust, instead of ignoring foreign certificates.
|
||||
|
||||
Compiled with secure options
|
||||
============================
|
||||
|
||||
While |CL| packages are optimized for performance on Intel® architecture,
|
||||
security conscious kernel and compiler options are sensibly taken advantage of.
|
||||
Below are some examples:
|
||||
|
||||
* Kernels shipped with |CL| are signed and disallow the usage of
|
||||
custom kernel modules to maintain verifiable system integrity.
|
||||
|
||||
* `Address space layout randomization (ASLR)`_ and
|
||||
`Kernel address space layout randomization (KASLR)`_ are kernel features
|
||||
which defend against certain memory based attacks.
|
||||
More information about PIE executables can be found in the
|
||||
`Recent GNU* C library improvements`_ blog post.
|
||||
|
||||
Security in system design
|
||||
*************************
|
||||
|
||||
Simple, yet effective, techniques are used throughout the |CL| system design to
|
||||
defend against common attack vectors and enable good security hygiene. Below are
|
||||
some examples:
|
||||
|
||||
* Full disk encryption using :abbr:`LUKS (Linux Unified Key Setup)` is available
|
||||
during installation. Refer to `cryptsetup`_ for additional information about
|
||||
LUKS.
|
||||
|
||||
* |CL| uses the PAM cracklib module to harden user login and password
|
||||
security resulting in:
|
||||
|
||||
- No default username or root password set out of the box with
|
||||
|CL|, you will be asked to set your own password immediately.
|
||||
|
||||
- Simple password schemes, which are known to be easily compromised,
|
||||
cannot be set in |CL|.
|
||||
|
||||
- A password blacklist, to avoid system passwords being set to
|
||||
passwords which have been compromised in the past.
|
||||
|
||||
* `Tallow`_, a lightweight service which monitors and blocks suspicious SSH
|
||||
login patterns, is installed with the :command:`openssh-server` bundle.
|
||||
|
||||
*Intel and the Intel logo are trademarks of Intel Corporation or its subsidiaries.*
|
||||
|
||||
.. _`Security for software update in Clear Linux* OS`: https://clearlinux.org/blogs/security-software-update-clear-linux-os-intel-architecture
|
||||
.. _`Recent GNU* C library improvements`: https://clearlinux.org/blogs/recent-gnu-c-library-improvements
|
||||
.. _`rolling release`: https://en.wikipedia.org/wiki/Rolling_release
|
||||
.. _`clrtrust`: https://github.com/clearlinux/clrtrust
|
||||
.. _`Address space layout randomization (ASLR)`: https://en.wikipedia.org/wiki/Address_space_layout_randomization
|
||||
.. _`Kernel address space layout randomization (KASLR)`: https://lwn.net/Articles/569635/
|
||||
.. _`cryptsetup`: https://gitlab.com/cryptsetup/cryptsetup/
|
||||
.. _`Tallow`: https://github.com/clearlinux/tallow
|
||||
|
||||
.. |NVD| raw:: html
|
||||
|
||||
<a href="https://nvd.nist.gov/" target="_blank">https://nvd.nist.gov/</a>
|
||||
|
||||
.. |MITRE| raw:: html
|
||||
|
||||
<a href="https://cve.mitre.org/" target="_blank">https://cve.mitre.org/</a>
|
||||
@@ -1,149 +0,0 @@
|
||||
.. _stateless:
|
||||
|
||||
Stateless
|
||||
#########
|
||||
|
||||
In most operating systems, user data, system data, and configuration files
|
||||
can become intermingled, which can make them challenging to manage.
|
||||
|
||||
.. figure:: figures/stateless-1.png
|
||||
:scale: 45%
|
||||
:align: center
|
||||
:alt: Stateless: User and system files mixed
|
||||
|
||||
Figure 1: Without stateless, user and system files become mixed on the filesystem over time.
|
||||
|
||||
|CL-ATTR| has a stateless design philosophy with the goal to provide an
|
||||
:abbr:`OS (operating system)` that functions without excessive user
|
||||
configuration or customization. Stateless in this context does *not* mean
|
||||
ephemeral or non-persistent.
|
||||
|
||||
.. contents:: :local:
|
||||
:depth: 1
|
||||
|
||||
File-level separation
|
||||
*********************
|
||||
|
||||
To accomplish a stateless design, the |CL| filesystem hierarchy is separated
|
||||
between user-owned areas and |CL|-owned areas.
|
||||
|
||||
.. figure:: figures/stateless-2.png
|
||||
:scale: 45%
|
||||
:align: center
|
||||
:alt: Stateless: User and system files separation
|
||||
|
||||
Figure 2: With stateless, user and system files are separated on the filesystem.
|
||||
|
||||
System area
|
||||
===========
|
||||
Files under the :file:`/usr` directory are managed by |CL| as system files
|
||||
(except :file:`/usr/local`).
|
||||
Files written under the :file:`/usr` directory by users can get removed
|
||||
through system updates with :ref:`swupd <swupd-guide>`. This operating
|
||||
assumption allows |CL| to verify and maintain integrity of system files.
|
||||
|
||||
User areas
|
||||
==========
|
||||
Files under the :file:`/usr/local`, :file:`/etc/`, :file:`/opt`, :file:`/home`,
|
||||
and :file:`/var` directories are owned and managed by the user. A freshly
|
||||
installed |CL| system will only have a minimal set of files in the
|
||||
:file:`/etc/` directory and software installed by |CL| does not write to
|
||||
:file:`/etc`. This operating assumption allows |CL| users to clearly identify
|
||||
the configuration that makes their system unique.
|
||||
|
||||
|
||||
Software configuration
|
||||
**********************
|
||||
|
||||
With stateless separation, default software configurations are read in order
|
||||
from predefined source code, |CL| provided defaults, and user-provided
|
||||
configuration.
|
||||
|
||||
Default configurations
|
||||
======================
|
||||
|
||||
Software in |CL| provides default configuration values so that it is
|
||||
immediately functional, except for some that require additional configuration.
|
||||
|
||||
If an upstream software puts default configurations in multiple locations
|
||||
such as :file:`/usr/` and :file:`/etc`, it will be modified by the |CL|
|
||||
distro to comply with the stateless design. Also, some default configurations
|
||||
may be modified to close security loopholes. Defaults will reside
|
||||
under :file:`/usr/share/defaults`. These files can be referenced as
|
||||
templates for customization.
|
||||
|
||||
For example, after installing the `httpd` bundle for Apache web server, its
|
||||
default configurations appear in the :file:`/usr/share/defaults/httpd/` directory.
|
||||
|
||||
Overriding configurations
|
||||
=========================
|
||||
|
||||
If a configuration needs to be changed, the appropriate file should be
|
||||
modified by the user under :file:`/etc/`. If the configuration file does not
|
||||
already exist, it can be created in the appropriate location.
|
||||
|
||||
User-defined configuration files should contain the minimal set of desired
|
||||
changes and rely on default configuration for the rest.
|
||||
|
||||
For example, a customized Apache configuration can be used instead by:
|
||||
|
||||
#. Install the Apache web server bundle.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd bundle-add httpd
|
||||
|
||||
#. Create the destination directory for the configuration.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo mkdir /etc/httpd
|
||||
|
||||
#. Copy the default configuration as a reference template.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo cp /usr/share/defaults/httpd/httpd.conf /etc/httpd/
|
||||
|
||||
#. Make any desired modifications to the configurations.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudoedit /etc/httpd/httpd.conf
|
||||
|
||||
#. Reload the service or reboot the system to pickup any changes.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
systemctl daemon-reload httpd && systemctl restart httpd
|
||||
|
||||
This pattern can be used to modify the configurations of other programs too.
|
||||
The `stateless man page`_ has application-specific examples.
|
||||
|
||||
System reset
|
||||
************
|
||||
|
||||
One advantage of the stateless design is that the system defaults can be
|
||||
easily restored by simply deleting everything under :file:`/etc/` and
|
||||
:file:`/var`.
|
||||
|
||||
Running the commands below effectively performs a system reset as if it was
|
||||
just installed:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo rm -rf /etc
|
||||
sudo rm -rf /var
|
||||
|
||||
In other Linux distributions, this can be a catastrophic action that may render
|
||||
a system unable to boot and/or inaccessible.
|
||||
|
||||
Additional information
|
||||
**********************
|
||||
|
||||
* `stateless man page`_
|
||||
* :ref:`firmware`
|
||||
|
||||
.. _`stateless man page`: https://github.com/clearlinux/clr-man-pages/blob/master/stateless.7.rst
|
||||
|
||||
|
||||
@@ -1,281 +0,0 @@
|
||||
.. _swupd-3rd-party:
|
||||
|
||||
swupd 3rd-party
|
||||
###############
|
||||
|
||||
Upstream |CL| offers a plethora of `bundles`_ to choose from.
|
||||
|
||||
For users who want access to additional software outside of the distro,
|
||||
|CL| provides support for 3rd-party bundles.
|
||||
|
||||
There are two components to 3rd-party bundles:
|
||||
|
||||
* Use :command:`mixer` to create 3rd-party bundles
|
||||
|
||||
* Use the :command:`swupd` subcommand :command:`3rd-party` to manage repos,
|
||||
consume and manage bundles
|
||||
|
||||
Follow this guide to set up a web server to host 3rd-party bundles,
|
||||
build an example 3rd-party bundle, install and manage the bundle on a
|
||||
client system.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
Also, see our `general guidelines`_ on sharing 3rd-party bundles.
|
||||
|
||||
Prerequisite
|
||||
*************
|
||||
|
||||
* Familiarity with :command:`mixer`
|
||||
* Familiarity with :command:`swupd`
|
||||
* You must be running |CL| version 32570 or higher
|
||||
|
||||
.. include:: ./mixer.rst
|
||||
:start-after: set-up-nginx-web-server-start:
|
||||
:end-before: set-up-nginx-web-server-end:
|
||||
|
||||
Create directory to hold 3rd-party app
|
||||
**************************************
|
||||
|
||||
#. Create a top-level directory to hold all apps.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mkdir ~/my-3rd-party-apps && pushd $_
|
||||
|
||||
#. Create a directory for each app and put the content of your software in it.
|
||||
|
||||
In this example, the `helloclear.sh` app simply prints
|
||||
"Hello Clear!" when invoked.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# make helloclear directory
|
||||
mkdir -p helloclear/usr/bin && pushd $_
|
||||
|
||||
# create helloclear.sh script
|
||||
cat > helloclear.sh << EOF
|
||||
#!/bin/bash
|
||||
echo "Hello Clear!"
|
||||
EOF
|
||||
|
||||
# make script executable
|
||||
chmod +x helloclear.sh
|
||||
|
||||
popd
|
||||
|
||||
.. note::
|
||||
|
||||
* You can put whatever you want in your app's directory. All of the content
|
||||
within each directory will get copied onto the client system under
|
||||
:file:`/opt/3rd-party/bundles/<repo-name>/`.
|
||||
|
||||
* To use a 3rd-party RPM, it is recommended to extract the content of the RPM
|
||||
into a directory. Use :command:`rpm2cpio <RPM>| sudo cpio -idv`.
|
||||
|
||||
Create bundle of 3rd-party app with mixer
|
||||
*****************************************
|
||||
|
||||
Next, use :command:`mixer` to create a bundle for each of the apps from the previous
|
||||
section.
|
||||
|
||||
#. Install the mixer tool.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd bundle-add mixer
|
||||
|
||||
#. Create a mixer workspace.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mkdir ~/mixer && cd $_
|
||||
|
||||
#. Initialize a mix without any default bundles.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mixer init --no-default-bundles
|
||||
|
||||
#. Configure :file:`builder.conf` to set the default bundle, CONTENTURL, and VERSIONURL.
|
||||
For the "URL"s in this example, it will be IP address of the web server that was
|
||||
set up earlier.
|
||||
Substitute <IP-address-of-web-server> with the IP address of your host.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mixer config set Swupd.BUNDLE "os-core"
|
||||
mixer config set Swupd.CONTENTURL "http://<IP-address-of-web-server>"
|
||||
mixer config set Swupd.VERSIONURL "http://<IP-address-of-web-server>"
|
||||
|
||||
#. Create an empty local `os-core` bundle. :command:`swupd` client expects the
|
||||
`os-core` bundle to exist in a mix even if it’s empty.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mixer bundle create os-core --local
|
||||
|
||||
#. Using the `helloclear` app as an example, create the `helloclear` bundle
|
||||
and use the `content()` directive with the path to the `helloclear` directory in
|
||||
the bundle definition.
|
||||
|
||||
Refer to `bundle definition`_ for addition information on how to define a bundle.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mixer bundle create helloclear --local
|
||||
echo "content($HOME/my-3rd-party-apps/helloclear/)" >> local-bundles/helloclear
|
||||
|
||||
#. Add both bundles to the mix.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mixer bundle add os-core
|
||||
mixer bundle add helloclear
|
||||
|
||||
#. Build the bundles and generate the update content.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo mixer build bundles
|
||||
sudo mixer build update
|
||||
|
||||
Install and manage 3rd-party bundle on client system
|
||||
****************************************************
|
||||
|
||||
Finally, use the :command:`swupd` client tool to install and
|
||||
manage the bundle created with :command:`mixer` earlier.
|
||||
All installed 3rd-party bundles reside in :file:`/opt/3rd-party/bundles/<repo-name>/`.
|
||||
|
||||
#. First, add a repo link to the web server.
|
||||
The `os-core` bundle will be added automatically when adding a repo.
|
||||
It contains items that mixer injected into the mix such as version information,
|
||||
format, CONTENTURL, VERSIONURL, and certificate.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd 3rd-party add my-3rd-party-repo \
|
||||
http://<IP-address-of-web-server> --allow-insecure-http
|
||||
|
||||
.. note::
|
||||
|
||||
By default, the :command:`swupd` client is designed to communicate
|
||||
with an HTTPS server. For development purposes, the swupd client
|
||||
can talk to an HTTP server if you add the flag ``--allow-insecure-http``.
|
||||
|
||||
To avoid adding this flag each time when invoking :command:`swupd`, enter:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo mkdir -p /etc/swupd
|
||||
|
||||
sudo tee -a /etc/swupd/config << EOF
|
||||
[GLOBAL]
|
||||
allow-insecure-http=true
|
||||
EOF
|
||||
|
||||
#. Query the list of bundles from the repo.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd 3rd-party bundle-list -a
|
||||
|
||||
#. Add the `helloclear` bundle.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd 3rd-party bundle-add helloclear
|
||||
|
||||
#. List installed 3rd-party bundles.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd 3rd-party bundle-list
|
||||
|
||||
#. Look in :file:`/opt/3rd-party` to confirm they were installed there.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
tree /opt/3rd-party
|
||||
|
||||
Example output:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
/opt/3rd-party/
|
||||
├── bin
|
||||
│ └── helloclear.sh
|
||||
├── bundles
|
||||
│ └── my-3rd-party-repo
|
||||
│ └── usr
|
||||
│ ├── bin
|
||||
│ │ └── helloclear.sh
|
||||
│ ├── lib
|
||||
│ │ └── os-release
|
||||
│ └── share
|
||||
│ ├── clear
|
||||
│ │ ├── bundles
|
||||
│ │ │ ├── helloclear
|
||||
│ │ │ └── os-core
|
||||
│ │ ├── update-ca
|
||||
│ │ │ └── Swupd_Root.pem
|
||||
│ │ ├── version
|
||||
│ │ └── versionstamp
|
||||
│ └── defaults
|
||||
│ └── swupd
|
||||
│ ├── contenturl
|
||||
│ ├── format
|
||||
│ └── versionurl
|
||||
└── repo.ini
|
||||
|
||||
12 directories, 12 files
|
||||
|
||||
Create more bundles and add to client
|
||||
*************************************
|
||||
|
||||
From here on, to add new bundles to your mix, follow these steps:
|
||||
|
||||
#. Follow the steps above to add a new directory for each app and put content into it.
|
||||
|
||||
#. In the mixer workspace, run :command:`mixer versions update`.
|
||||
|
||||
#. Follow the remaining mixer process to add and build bundles.
|
||||
|
||||
On the client side:
|
||||
|
||||
#. Run :command:`sudo swupd 3rd-party update` to update to the latest version of your mix.
|
||||
|
||||
.. note::
|
||||
|
||||
If `swupd autoupdate` is enabled, 3rd-party repositories will update
|
||||
automatically as well during regular swupd update.
|
||||
|
||||
#. Now, you can see and add the new bundles.
|
||||
|
||||
Some limitations of 3rd-party bundles
|
||||
*************************************
|
||||
|
||||
#. You cannot upload your bundles to a shared community repo because bundles
|
||||
are tied to your particular mix with its own certificate.
|
||||
You have to host your own and share your repo.
|
||||
|
||||
#. As with upstream bundles, 3rd-party bundles installation is simply the unpacking
|
||||
of files onto your system. It cannot perform pre or post-installation actions such as
|
||||
adding a favorite shortcut to the Gnome desktop dock, for example.
|
||||
|
||||
Related topics
|
||||
**************
|
||||
|
||||
* :ref:`autospec`
|
||||
* :ref:`mixer`
|
||||
* :ref:`bundles`
|
||||
* :ref:`swupd-guide`
|
||||
|
||||
.. _bundles:
|
||||
https://clearlinux.org/software
|
||||
.. _bundle definition:
|
||||
https://docs.01.org/clearlinux/latest/guides/clear/mixer.html#id16
|
||||
.. _general guidelines:
|
||||
https://community.clearlinux.org/t/about-the-3rd-party-sw-category/4072
|
||||
@@ -1,49 +0,0 @@
|
||||
.. _guides:
|
||||
|
||||
Guides
|
||||
######
|
||||
|
||||
The following guides provide step-by-step instructions on using |CL|.
|
||||
|
||||
.. note::
|
||||
|
||||
As of 22 May 2019 :file:`mixin` is no longer supported.
|
||||
|
||||
.. _cl-guides:
|
||||
|
||||
Clear Linux
|
||||
===========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:glob:
|
||||
|
||||
clear/*
|
||||
|
||||
Maintenance
|
||||
===========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:glob:
|
||||
|
||||
maintenance/*
|
||||
|
||||
Network
|
||||
=======
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:glob:
|
||||
|
||||
network/*
|
||||
|
||||
Kernel
|
||||
=======
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:glob:
|
||||
|
||||
kernel/*
|
||||
|
||||
@@ -1,234 +0,0 @@
|
||||
.. _change-kernel-boot:
|
||||
|
||||
Change Kernel Boot
|
||||
########################
|
||||
|
||||
This tutorial explains the process of change kernel boot entry |CL-ATTR|.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
Description
|
||||
***********
|
||||
|
||||
For this tutorial, you will modify your kernel list to boot with the kernel you want to use. This process is valid when you cannot compile third-party kernel modules and need to come back to old, or if you compile your custom kernel.
|
||||
|
||||
|
||||
Get the current boot status
|
||||
***************************
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
bootctl status
|
||||
|
||||
This is an example output:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
System:
|
||||
Firmware: UEFI 2.70 (HP 265.256)
|
||||
Firmware Arch: x64
|
||||
Secure Boot: disabled
|
||||
TPM2 Support: yes
|
||||
Measured UKI: no
|
||||
Boot into FW: supported
|
||||
|
||||
Current Boot Loader:
|
||||
Product: systemd-boot 255
|
||||
Features: ✓ Boot counting
|
||||
✓ Menu timeout control
|
||||
✓ One-shot menu timeout control
|
||||
✓ Default entry control
|
||||
✓ One-shot entry control
|
||||
✓ Support for XBOOTLDR partition
|
||||
✓ Support for passing random seed to OS
|
||||
✓ Load drop-in drivers
|
||||
✓ Support Type #1 sort-key field
|
||||
✓ Support @saved pseudo-entry
|
||||
✓ Support Type #1 devicetree field
|
||||
✓ Enroll SecureBoot keys
|
||||
✓ Retain SHIM protocols
|
||||
✓ Menu can be disabled
|
||||
✓ Boot loader sets ESP information
|
||||
ESP: /dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5
|
||||
File: └─/EFI/org.clearlinux/loaderx64.efi
|
||||
|
||||
Random Seed:
|
||||
System Token: set
|
||||
Exists: yes
|
||||
|
||||
Available Boot Loaders on ESP:
|
||||
ESP: /boot (/dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5)
|
||||
File: ├─/EFI/systemd/systemd-bootx64.efi (systemd-boot 255)
|
||||
└─/EFI/BOOT/BOOTX64.EFI (systemd-boot 255)
|
||||
|
||||
Boot Loaders Listed in EFI Variables:
|
||||
Title: Linux bootloader
|
||||
ID: 0x0007
|
||||
Status: active, boot-order
|
||||
Partition: /dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5
|
||||
File: └─/EFI/org.clearlinux/bootloaderx64.efi
|
||||
|
||||
Title: Linux Boot Manager
|
||||
ID: 0x0001
|
||||
Status: active, boot-order
|
||||
Partition: /dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5
|
||||
File: └─/EFI/systemd/systemd-bootx64.efi
|
||||
|
||||
Title: Windows Boot Manager
|
||||
ID: 0x0000
|
||||
Status: active, boot-order
|
||||
Partition: /dev/disk/by-partuuid/48d8a9eb-d84d-4a62-8302-edff383290e5
|
||||
File: └─/EFI/Microsoft/Boot/bootmgfw.efi
|
||||
|
||||
Boot Loader Entries:
|
||||
$BOOT: /boot (/dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5)
|
||||
token: clear-linux-os
|
||||
|
||||
Default Boot Loader Entry:
|
||||
type: Boot Loader Specification Type #1 (.conf)
|
||||
title: Clear Linux OS (Clear-linux-native-6.8.10-1434.conf)
|
||||
id: Clear-linux-native-6.8.10-1434.conf
|
||||
source: /boot//loader/entries/Clear-linux-native-6.8.10-1434.conf
|
||||
linux: /boot//EFI/org.clearlinux/kernel-org.clearlinux.native.6.8.10-1434
|
||||
initrd: /boot//EFI/org.clearlinux/freestanding-00-early-ucode.cpio
|
||||
/boot//EFI/org.clearlinux/initrd-org.clearlinux.native.6.8.10-1434
|
||||
/boot//EFI/org.clearlinux/freestanding-clr-init.cpio.gz
|
||||
/boot//EFI/org.clearlinux/freestanding-i915-firmware.cpio
|
||||
options: root=UUID=67e7ac9a-f7a1-4d5e-bbd6-012f5fa81cb5 rd.luks.uuid=abe6aaf2-3425-4eb1-b7f5-3f36746426fa quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests init=/usr/bin/initra-desktop initcall>
|
||||
lines 20-71/71 (END)
|
||||
✓ Support @saved pseudo-entry
|
||||
✓ Support Type #1 devicetree field
|
||||
✓ Enroll SecureBoot keys
|
||||
✓ Retain SHIM protocols
|
||||
✓ Menu can be disabled
|
||||
✓ Boot loader sets ESP information
|
||||
ESP: /dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5
|
||||
File: └─/EFI/org.clearlinux/loaderx64.efi
|
||||
|
||||
Random Seed:
|
||||
System Token: set
|
||||
Exists: yes
|
||||
|
||||
Available Boot Loaders on ESP:
|
||||
ESP: /boot (/dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5)
|
||||
File: ├─/EFI/systemd/systemd-bootx64.efi (systemd-boot 255)
|
||||
└─/EFI/BOOT/BOOTX64.EFI (systemd-boot 255)
|
||||
|
||||
Boot Loaders Listed in EFI Variables:
|
||||
Title: Linux bootloader
|
||||
ID: 0x0007
|
||||
Status: active, boot-order
|
||||
Partition: /dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5
|
||||
File: └─/EFI/org.clearlinux/bootloaderx64.efi
|
||||
|
||||
Title: Linux Boot Manager
|
||||
ID: 0x0001
|
||||
Status: active, boot-order
|
||||
Partition: /dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5
|
||||
File: └─/EFI/systemd/systemd-bootx64.efi
|
||||
|
||||
Title: Windows Boot Manager
|
||||
ID: 0x0000
|
||||
Status: active, boot-order
|
||||
Partition: /dev/disk/by-partuuid/48d8a9eb-d84d-4a62-8302-edff383290e5
|
||||
File: └─/EFI/Microsoft/Boot/bootmgfw.efi
|
||||
|
||||
Boot Loader Entries:
|
||||
$BOOT: /boot (/dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5)
|
||||
token: clear-linux-os
|
||||
|
||||
Default Boot Loader Entry:
|
||||
type: Boot Loader Specification Type #1 (.conf)
|
||||
title: Clear Linux OS (Clear-linux-native-6.8.10-1434.conf)
|
||||
id: Clear-linux-native-6.8.10-1434.conf
|
||||
source: /boot//loader/entries/Clear-linux-native-6.8.10-1434.conf
|
||||
linux: /boot//EFI/org.clearlinux/kernel-org.clearlinux.native.6.8.10-1434
|
||||
initrd: /boot//EFI/org.clearlinux/freestanding-00-early-ucode.cpio
|
||||
/boot//EFI/org.clearlinux/initrd-org.clearlinux.native.6.8.10-1434
|
||||
/boot//EFI/org.clearlinux/freestanding-clr-init.cpio.gz
|
||||
/boot//EFI/org.clearlinux/freestanding-i915-firmware.cpio
|
||||
options: root=UUID=67e7ac9a-f7a1-4d5e-bbd6-012f5fa81cb5 rd.luks.uuid=abe6aaf2-3425-4eb1-b7f5-3f36746426fa quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests init=/usr/bin/initra-desktop initcall_debug intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1 rootfstype=ext4,btrfs,xfs,f2fs tsc=reliable rw module.sig_unenforce rootflags=x-systemd.device-timeout=0
|
||||
|
||||
Get the kernel list installed
|
||||
*****************************
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
bootctl list
|
||||
|
||||
And example output:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
type: Boot Loader Specification Type #1 (.conf)
|
||||
title: Clear Linux OS (Clear-linux-preempt_rt-6.1.38-105.conf)
|
||||
id: Clear-linux-preempt_rt-6.1.38-105.conf
|
||||
source: /boot//loader/entries/Clear-linux-preempt_rt-6.1.38-105.conf
|
||||
linux: /boot//EFI/org.clearlinux/kernel-org.clearlinux.preempt_rt.6.1.38-105
|
||||
initrd: /boot//EFI/org.clearlinux/freestanding-00-early-ucode.cpio
|
||||
/boot//EFI/org.clearlinux/freestanding-clr-init.cpio.gz
|
||||
/boot//EFI/org.clearlinux/freestanding-i915-firmware.cpio
|
||||
options: root=UUID=67e7ac9a-f7a1-4d5e-bbd6-012f5fa81cb5 rd.luks.uuid=abe6aaf2-3425-4eb1-b7f5-3f36746426fa quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests init=/usr/bin/initra-desktop initcall_debug intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1 rootfstype=ext4,btrfs,xfs t>
|
||||
|
||||
type: Boot Loader Specification Type #1 (.conf)
|
||||
title: Clear Linux OS (Clear-linux-native-6.9.1-1436.conf)
|
||||
id: Clear-linux-native-6.9.1-1436.conf
|
||||
source: /boot//loader/entries/Clear-linux-native-6.9.1-1436.conf
|
||||
linux: /boot//EFI/org.clearlinux/kernel-org.clearlinux.native.6.9.1-1436
|
||||
initrd: /boot//EFI/org.clearlinux/freestanding-00-early-ucode.cpio
|
||||
/boot//EFI/org.clearlinux/initrd-org.clearlinux.native.6.9.1-1436
|
||||
/boot//EFI/org.clearlinux/freestanding-clr-init.cpio.gz
|
||||
/boot//EFI/org.clearlinux/freestanding-i915-firmware.cpio
|
||||
options: root=UUID=67e7ac9a-f7a1-4d5e-bbd6-012f5fa81cb5 rd.luks.uuid=abe6aaf2-3425-4eb1-b7f5-3f36746426fa quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests init=/usr/bin/initra-desktop initcall_debug intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1 rootfstype=ext4,btrfs,xfs,f>
|
||||
|
||||
type: Boot Loader Specification Type #1 (.conf)
|
||||
title: Clear Linux OS (Clear-linux-native-6.8.10-1434.conf) (default) (selected)
|
||||
id: Clear-linux-native-6.8.10-1434.conf
|
||||
source: /boot//loader/entries/Clear-linux-native-6.8.10-1434.conf
|
||||
linux: /boot//EFI/org.clearlinux/kernel-org.clearlinux.native.6.8.10-1434
|
||||
initrd: /boot//EFI/org.clearlinux/freestanding-00-early-ucode.cpio
|
||||
/boot//EFI/org.clearlinux/initrd-org.clearlinux.native.6.8.10-1434
|
||||
/boot//EFI/org.clearlinux/freestanding-clr-init.cpio.gz
|
||||
/boot//EFI/org.clearlinux/freestanding-i915-firmware.cpio
|
||||
options: root=UUID=67e7ac9a-f7a1-4d5e-bbd6-012f5fa81cb5 rd.luks.uuid=abe6aaf2-3425-4eb1-b7f5-3f36746426fa quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests init=/usr/bin/initra-desktop initcall_debug intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1 rootfstype=ext4,btrfs,xfs,f>
|
||||
|
||||
type: Automatic
|
||||
title: Reboot Into Firmware Interface
|
||||
id: auto-reboot-to-firmware-setup
|
||||
source: /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
|
||||
|
||||
Set default kernel to boot
|
||||
**************************
|
||||
|
||||
You can check the id from the latest command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
bootctl list |grep id: |cut -f 2 -d ":"
|
||||
id: Clear-linux-preempt_rt-6.1.38-105.conf
|
||||
id: Clear-linux-native-6.9.1-1436.conf
|
||||
id: Clear-linux-native-6.8.10-1434.conf
|
||||
id: auto-reboot-to-firmware-setup
|
||||
|
||||
|
||||
Set the kernel
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo bootctl set-default ID
|
||||
|
||||
For example to set 6.9.1 entry:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo bootctl set-default Clear-linux-native-6.9.1-1436.conf
|
||||
|
||||
Just reboot
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo systemctl reboot
|
||||
|
||||
You will boot with the kernel set before.
|
||||
@@ -1,69 +0,0 @@
|
||||
.. _kernel-boot-msg:
|
||||
|
||||
Capture Kernel Boot Messages in the Journal
|
||||
###########################################
|
||||
|
||||
By default |CL| does not capture kernel boot messages in the journal logs,
|
||||
where they're reported as "Missed" messages. This design decision was made
|
||||
to provide a faster boot performance. On the other hand, if you wish to
|
||||
see the messages, follow this guide.
|
||||
|
||||
Here's an example a journal log with "Missed" messages:
|
||||
|
||||
.. code-block:: console
|
||||
:linenos:
|
||||
:emphasize-lines: 4
|
||||
|
||||
-- Reboot --
|
||||
Apr 10 19:55:43 kernel systemd-journald[300]: Journal started
|
||||
Apr 10 19:55:43 kernel systemd-journald[300]: Runtime Journal (/run/log/journal/d01862ca79d1064ea379cd715cfdd53a) is 5.8M, max 47.0M, 41.1M free.
|
||||
Apr 10 19:55:43 kernel systemd-journald[300]: Missed 2233 kernel messages
|
||||
Apr 10 19:55:43 kernel systemd[1]: Started Journal Service.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
Prerequisites
|
||||
*************
|
||||
|
||||
* `systemd-journald` version 245 and higher
|
||||
|
||||
Enable journaling of kernel boot messages
|
||||
*****************************************
|
||||
|
||||
#. Open a terminal window.
|
||||
|
||||
#. Create a base journald configuration file.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo mkdir -p /etc/systemd/journald.conf.d
|
||||
sudo cp /usr/lib/systemd/journald.conf.d/clear.conf /etc/systemd/journald.conf.d/
|
||||
|
||||
#. Append :command:`BootKMsg=true` to it.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
echo "BootKMsg=true" | sudo tee -a /etc/systemd/journald.conf.d/clear.conf
|
||||
|
||||
#. Reboot.
|
||||
|
||||
.. tip::
|
||||
|
||||
If you need to increase the kernel buffer length (for example, 1M), do this:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo mkdir -p /etc/kernel/cmdline.d/
|
||||
echo "log_buf_len=1M" | sudo tee /etc/kernel/cmdline.d/log_buf_len.conf
|
||||
sudo clr-boot-manager update
|
||||
|
||||
Alternative
|
||||
***********
|
||||
|
||||
An alternative is to use :command:`dmesg`.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo dmesg
|
||||
@@ -1,228 +0,0 @@
|
||||
.. _kernel-modules:
|
||||
|
||||
Add kernel modules manually
|
||||
###########################
|
||||
|
||||
This guide describes how to add kernel modules manually.
|
||||
|
||||
.. contents:: :local:
|
||||
:depth: 1
|
||||
:backlinks: top
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
Certain kernel modules are enabled by default in |CL-ATTR|. To use additional
|
||||
kernel modules that are not part of the Linux source tree, you may need to
|
||||
build out-of-tree kernel modules. Use this guide to add kernel modules
|
||||
manually, or refer to :ref:`kernel-modules-dkms`.
|
||||
|
||||
Description
|
||||
***********
|
||||
|
||||
Kernel modules are additional pieces of software capable of being inserted
|
||||
into the Linux kernel to add functionality, such as a hardware driver.
|
||||
Kernel modules may already be part of the Linux source tree (in-tree) or may
|
||||
come from an external source, such as directly from a vendor (out-of-tree).
|
||||
|
||||
|
||||
.. _kernel-modules-availability-begin:
|
||||
|
||||
Kernel module availability
|
||||
**************************
|
||||
|
||||
|CL| comes with many upstream kernel modules available for use. Using an
|
||||
existing module is significantly easier to maintain and retains signature
|
||||
verification of the |CL| kernel. For more information on |CL| security
|
||||
practices, see the :ref:`security` page.
|
||||
|
||||
Before continuing, check if the kernel module you're looking for is already
|
||||
available in |CL| or submit a request to add the module.
|
||||
|
||||
|
||||
Check if the module is already available
|
||||
========================================
|
||||
|
||||
|
||||
You can search for kernel module file names, which end with the :file:`.ko`
|
||||
file extension, using the :command:`swupd search` command, as shown in the
|
||||
following example. See :ref:`swupd-guide` for more information.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd search ${module_name}.ko
|
||||
|
||||
|
||||
Submit a request to add the module
|
||||
==================================
|
||||
|
||||
If the kernel module you need is already open source (for example, in the
|
||||
Linux kernel upstream) and likely to be useful to others, consider submitting
|
||||
a request to add or enable it in the |CL| kernel.
|
||||
|
||||
Make enhancement requests to the |CL| `Distribution Project on GitHub
|
||||
<https://github.com/clearlinux/distribution>`_.
|
||||
|
||||
.. _kernel-modules-availability-end:
|
||||
|
||||
|
||||
Build, install, and load an out-of-tree module
|
||||
**********************************************
|
||||
|
||||
Follow the steps in this section if you are an individual user or testing, and
|
||||
you need an out-of-tree kernel module that is not available through |CL|. For
|
||||
a more scalable and customizable approach, we recommend using the
|
||||
:ref:`mixer` to provide a custom kernel and updates.
|
||||
|
||||
|
||||
Prerequisites
|
||||
=============
|
||||
|
||||
Before you begin, you must:
|
||||
|
||||
* Disable Secure Boot.
|
||||
* Disable kernel module integrity checking.
|
||||
* Have a kernel module package in the form of source code.
|
||||
* Rebuild the module against new versions of the Linux kernel.
|
||||
|
||||
.. note::
|
||||
|
||||
Any time the kernel is upgraded on your Clear Linux system, you must
|
||||
rebuild your out-of-tree modules.
|
||||
|
||||
|
||||
Build and install kernel module
|
||||
===============================
|
||||
|
||||
#. Determine which kernel variant is running on |CL|. In the example below,
|
||||
the *native* kernel is in use.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ uname -r
|
||||
5.XX.YY-ZZZZ.native
|
||||
|
||||
#. Install the kernel dev bundle corresponding to the installed kernel. The
|
||||
kernel dev bundle contains the kernel headers, which are placed under
|
||||
:file:`/usr/lib/modules/$(uname -r)/build/include/` and are required to
|
||||
compile kernel modules. For example:
|
||||
|
||||
* :command:`linux-dev` for developing against the native kernel.
|
||||
* :command:`linux-lts-dev` for developing against the LTS kernel.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd bundle-add linux-dev
|
||||
|
||||
|
||||
|
||||
#. Follow instructions from the kernel module source code to compile the
|
||||
kernel module. For example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
curl -O http://<URL-TO-KERNEL-MODULE-SOURCE>.tar.gz
|
||||
tar -xvf <KERNEL-MODULE-SOURCE>.tar.gz
|
||||
cd <KERNEL-MODULE-SOURCE>/
|
||||
cat README
|
||||
|
||||
|
||||
|
||||
Load kernel module
|
||||
==================
|
||||
|
||||
#. Disable Secure Boot in your system's UEFI settings, if you have enabled
|
||||
it. The loading of new out-of-tree modules modifies the signatures that
|
||||
Secure Boot relies on for trust.
|
||||
|
||||
#. Disable signature checking for the kernel by modifying the kernel boot
|
||||
parameters and reboot the system.
|
||||
|
||||
All kernel modules from |CL| have been signed to enforce kernel security.
|
||||
However, out-of-tree modules break this chain of trust so this mechanism
|
||||
needs to be disabled.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo mkdir -p /etc/kernel/cmdline.d
|
||||
echo "module.sig_unenforce" | sudo tee /etc/kernel/cmdline.d/allow-unsigned-modules.conf
|
||||
|
||||
#. Update the boot manager and reboot the system to implement the changed
|
||||
kernel parameters.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo clr-boot-manager update
|
||||
sudo reboot
|
||||
|
||||
.. note::
|
||||
|
||||
If successful, the :command:`clr-boot-manager update` command does not
|
||||
return any console output.
|
||||
|
||||
#. After rebooting, manually load out-of-tree modules using the
|
||||
:command:`insmod` command.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo insmod </PATH/TO/MODULE.ko>
|
||||
|
||||
Examples
|
||||
********
|
||||
|
||||
.. _kernel-modules-autoload-begin:
|
||||
|
||||
Optional: Specify module options and aliases
|
||||
============================================
|
||||
|
||||
Use the :command:`modprobe` command to load a module and set options.
|
||||
|
||||
:command:`modprobe` may add or remove more than one module due to module
|
||||
interdependencies. You can specify which options to use with individual
|
||||
modules, by using configuration files under the :file:`/etc/modprobe.d`
|
||||
directory.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo mkdir /etc/modprobe.d
|
||||
|
||||
All files underneath the :file:`/etc/modprobe.d` directory that end with the
|
||||
:file:`.conf` extension specify module options to use when loading. You can
|
||||
use :file:`.conf` files to create convenient aliases for modules or to
|
||||
override the normal loading behavior altogether for those with special
|
||||
requirements.
|
||||
|
||||
Learn more about :command:`modprobe` on the modprobe.d manual page:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
man modprobe.d
|
||||
|
||||
Optional: Configure kernel modules to load at boot
|
||||
==================================================
|
||||
|
||||
Use the :file:`/etc/modules-load.d` configuration directory to specify kernel
|
||||
modules to load automatically at boot.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo mkdir /etc/modules-load.d
|
||||
|
||||
All files underneath the :file:`/etc/modules-load.d` directory that end with
|
||||
the :file:`.conf` extension contain a list of module names of aliases (one per
|
||||
line) to load at boot.
|
||||
|
||||
Learn more about module loading in the modules-load.d manual page:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
man modules-load.d
|
||||
|
||||
|
||||
.. _kernel-modules-autoload-end:
|
||||
|
||||
Related topic
|
||||
*************
|
||||
|
||||
* :ref:`kernel-modules-dkms`
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
.. _enable-huge-pages:
|
||||
|
||||
Configure Huge Pages
|
||||
########################
|
||||
|
||||
In |CL| hugepages are enabled by default. The default hugepage size is 2MB.
|
||||
The total number of hugepages is set to 0 by default. This guide shows you how
|
||||
to add hugepages to the system and how to change the default hugepage size.
|
||||
|
||||
#. To check the enabled state, run the following command.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cat /sys/kernel/mm/transparent_hugepage/enabled
|
||||
|
||||
The output will look like
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
[always] madvise never
|
||||
|
||||
.. note::
|
||||
|
||||
The active option is enclosed in brackets. In this case, always is active,
|
||||
which means hugepages are enabled for every process. The `madvise`
|
||||
option means that hugepages are enabled for processes that explicitly
|
||||
call `madvise`_.
|
||||
|
||||
#. To check the size of hugepages, run the below command.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cat /proc/meminfo | grep Huge
|
||||
|
||||
The output should look similar to the following. Although hugepages is
|
||||
enabled, there are no hugepages available to allocate.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
AnonHugePages: 624640 kB
|
||||
ShmemHugePages: 0 kB
|
||||
FileHugePages: 0 kB
|
||||
HugePages_Total: 0
|
||||
HugePages_Free: 0
|
||||
HugePages_Rsvd: 0
|
||||
HugePages_Surp: 0
|
||||
Hugepagesize: 2048 kB
|
||||
Hugetlb: 0 kB
|
||||
|
||||
#. If you need 1GB (1,048,576 bytes) of hugepages enabled, then `HugePages_Total`
|
||||
should be set to 512. Enable it temporarily using the following.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
echo 512 | sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
|
||||
|
||||
To view the change, run the command in the previous setp again.
|
||||
|
||||
#. Changing hugepages from the default 2MB to 1GB must be done at system boot
|
||||
through kernel boot parameters. In this example, we configure the size and
|
||||
number of allocatable huge pages at boot.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo mkdir -p /etc/kernel/cmdline.d
|
||||
cat << EOF | sudo tee -a /etc/kernel/cmdline.d/hugepages.conf
|
||||
default_hugepagesz=1G
|
||||
hugepagesz=1G
|
||||
hugepages=10
|
||||
EOF
|
||||
sudo clr-boot-manager update
|
||||
sudo reboot
|
||||
|
||||
.. _madvise: https://linux.die.net/man/2/madvise
|
||||
@@ -1,273 +0,0 @@
|
||||
.. _cpu-performance:
|
||||
|
||||
CPU Power and Performance
|
||||
#########################
|
||||
|
||||
This guide explains the CPU power and performance mechanisms in |CL-ATTR|.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
Modern x86 :abbr:`CPUs (central processing units)` employ a number of features
|
||||
to balance performance, energy, and thermal efficiency.
|
||||
|
||||
By default, |CL| prioritizes maximum CPU performance, assuming that
|
||||
the faster the program finishes execution, the faster the CPU can return to a
|
||||
low energy idle state. It is important to understand and evaluate the impact
|
||||
of each feature when troubleshooting or considering changing the defaults.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
CPU power saving mechanisms
|
||||
***************************
|
||||
|
||||
C-states and P-states are both CPU power saving mechanisms that are entered
|
||||
under different operating conditions. The tradeoff is a slightly longer time
|
||||
to exit these states when the CPU is needed.
|
||||
|
||||
.. _c-states-section:
|
||||
|
||||
C-states (idle states)
|
||||
======================
|
||||
|
||||
Hardware enters a C-state when the CPU is idle and not executing instructions.
|
||||
C-states decrease power utilization by reducing clock frequency,
|
||||
voltages, and features in each state. Although C-states can typically be
|
||||
limited or disabled in a system's UEFI or BIOS configuration, these settings
|
||||
are overridden when the `intel_idle driver`_ is in use.
|
||||
|
||||
To view the current ``cpuidle`` driver run this command in a terminal:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cat /sys/devices/system/cpu/cpuidle/current_driver
|
||||
|
||||
For troubleshooting, C-states can be limited with a kernel command line boot
|
||||
parameter by adding :command:`processor.max_cstate=N intel_idle.max_cstate=N`
|
||||
or completely disabled with :command:`idle=poll`.
|
||||
|
||||
.. note::
|
||||
|
||||
* :command:`processor.max_cstate=0` is changed to a valid value by the
|
||||
kernel: :command:`processor.max_cstate=1`.
|
||||
|
||||
* :command:`intel_idle.max_cstate=0` disables the Intel Idle driver rather
|
||||
than set it to C-state 0.
|
||||
|
||||
.. _p-states-section:
|
||||
|
||||
P-states (performance states)
|
||||
=============================
|
||||
|
||||
The CPU can enter a P-state, also known as Intel SpeedStep® technology on
|
||||
Intel processors or AMD\* Cool'n'Quiet\* technology, while it is active
|
||||
and executing instructions. P-states reduce power utilization by adjusting CPU
|
||||
clock frequency and voltages based on CPU demand. P-states can typically be
|
||||
limited or disabled in a system's firmware (UEFI/BIOS).
|
||||
|
||||
Turbo boost
|
||||
-----------
|
||||
|
||||
`Intel® Turbo Boost Technology`_, found on some modern Intel CPUs, allows
|
||||
cores on a processor to temporarily operate at a higher than rated CPU clock
|
||||
frequency to accommodate demanding workloads if the CPU is under defined power
|
||||
and thermal thresholds. Intel Turbo Boost Technology is an extension of
|
||||
P-states, so it can be impacted by limiting C-states or P-states.
|
||||
|
||||
Intel Turbo Boost Technology can be disabled in a system's UEFI/BIOS or in
|
||||
|CL|:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
echo 1 | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
|
||||
|
||||
Linux CPU clock frequency scaling
|
||||
*********************************
|
||||
|
||||
The ``CPUFreq`` subsystem in Linux allows the OS to control
|
||||
:ref:`C-states <c-states-section>` and :ref:`P-states <P-states-section>`
|
||||
via CPU drivers and governors that provide algorithms that define how and when
|
||||
to enter these states.
|
||||
|
||||
Scaling driver
|
||||
==============
|
||||
|
||||
Linux uses the `Intel P-state driver`_, :command:`intel_pstate`, for
|
||||
modern Intel processors from the Sandy Bridge generation or newer. Other
|
||||
processors may default to the :command:`acpi-cpufreq` driver which reads
|
||||
values from the systems UEFI or BIOS.
|
||||
|
||||
To view the current CPU frequency scaling driver, run this command in a
|
||||
terminal:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
|
||||
|
||||
Scaling governor
|
||||
================
|
||||
|
||||
|CL| sets the CPU governor to ``performance`` which calls for the CPU to
|
||||
operate at maximum clock frequency. In other words, P-state P0. While this may
|
||||
sound wasteful at first, it is important to remember that power utilization
|
||||
does not increase significantly simply because of a locked clock frequency
|
||||
without a workload.
|
||||
|
||||
To view the current CPU frequency scaling governor, run this command in a
|
||||
terminal:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
|
||||
|
||||
Each core will report its own status. Your output should look similar to this
|
||||
example with four cores:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
performance
|
||||
performance
|
||||
performance
|
||||
performance
|
||||
|
||||
The list of all governors can be found in the Linux kernel documentation on
|
||||
`CPUFreq Governors`_.
|
||||
|
||||
.. note::
|
||||
|
||||
The intel_pstate driver only supports *performance* and *powersave* governors.
|
||||
|
||||
There are 2 ways to change the CPU frequency scaling governor:
|
||||
|
||||
#. Disable |CL| enforcement of certain power and performance settings:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo systemctl mask clr-power.timer
|
||||
|
||||
#. Change the governor value in :file:`/sys/devices`. In the example below,
|
||||
the governor is set to *performance*:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
|
||||
|
||||
Thermal management
|
||||
******************
|
||||
|
||||
`thermald`_ is a Linux thermal management daemon used to prevent platforms
|
||||
from overheating. :command:`thermald` forces a C-state by inserting CPU sleep
|
||||
cycles and adjusting any available cooling methods. This can be especially
|
||||
desirable for laptops.
|
||||
|
||||
:command:`thermald` is disabled by default in |CL| and starts automatically
|
||||
if it detects battery power. Enable :command:`thermald` manually by using
|
||||
the systemd service by running the command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo systemctl enable --now thermald
|
||||
|
||||
For more information, see the :command:`thermald` man page:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
man thermald
|
||||
|
||||
`ThermalMonitor`_ is a GUI application that can visually graph and log
|
||||
temperatures from :command:`thermald`. To use ThermalMonitor, add the
|
||||
:command:`desktop-apps-extras` bundle and add your user account to the power
|
||||
group:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd bundle-add desktop-apps-extras
|
||||
sudo usermod -a -G power <USER>
|
||||
ThermalMonitor
|
||||
|
||||
.. note::
|
||||
|
||||
After adding a new group, you must log out and log back in for the new group
|
||||
to take effect.
|
||||
|
||||
Enhanced thermal configuration
|
||||
===============================
|
||||
|
||||
Better thermal control and performance can be achieved by providing platform
|
||||
specific configuration to :command:`thermald`.
|
||||
|
||||
`Linux DPTF Extract Utility`_ is a companion tool to :command:`thermald`,
|
||||
This tool uses Intel® Dynamic Platform and Thermal Framework (Intel® DPTF)
|
||||
technology and can convert to the :file:`thermal_conf.xml` configuration format
|
||||
used by :command:`thermald`. Closed-source projects, like this one, cannot be
|
||||
packaged as a bundle in |CL|, so you must install it manually:
|
||||
|
||||
#. Make sure your machine's BIOS has DPTF feature and is enabled. It will usually be in the :guilabel:`Advanced` or :guilabel:`Advanced>Power` section of the BIOS.
|
||||
|
||||
.. figure:: /_figures/cpu-perf-guide/dptf_bios.png
|
||||
|
||||
.. note::
|
||||
|
||||
Intel DPTF requires BIOS support and is typically only available on
|
||||
laptops.
|
||||
|
||||
#. Generate thermal configuration. :command:`thermald` configuration files
|
||||
will be generated and saved to :file:`/etc/thermal/` folder.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd bundle-add acpica-unix2 # install acpi tools
|
||||
git clone https://github.com/intel/dptfxtract.git
|
||||
cd dptfxtract
|
||||
sudo acpidump > acpi.out
|
||||
acpixtract -a acpi.out
|
||||
sudo ./dptfxtract *.dat
|
||||
|
||||
#. Restart :command:`thermald` service to take effect.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo systemctl restart thermald.service
|
||||
|
||||
#. Check whether the configuration is in use.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo systemctl status thermald.service
|
||||
|
||||
The following output means the configuration has already been applied:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
thermald[*]: [WARN]Using generated /etc/thermald/thermal-conf.xml.auto
|
||||
|
||||
*Intel® Turbo Boost Technology requires a PC with a processor with Intel Turbo
|
||||
Boost Technology capability. Intel Turbo Boost Technology performance varies
|
||||
depending on hardware, software and overall system configuration. Check with
|
||||
your PC manufacturer on whether your system delivers Intel Turbo Boost Technology.
|
||||
For more information, see http://www.intel.com/technology/turboboost*
|
||||
|
||||
*Intel, Intel SpeedStep, and the Intel logo are trademarks of Intel Corporation or its subsidiaries.*
|
||||
|
||||
|
||||
.. _`Intel P-state driver`: https://www.kernel.org/doc/Documentation/cpu-freq/intel-pstate.txt
|
||||
|
||||
.. _`CPUFreq Governors`: https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt
|
||||
|
||||
.. _thermald: https://01.org/linux-thermal-daemon
|
||||
|
||||
.. _`intel_idle driver`: https://github.com/torvalds/linux/blob/master/drivers/idle/intel_idle.c
|
||||
|
||||
.. _`ThermalMonitor`: https://github.com/intel/thermal_daemon/tree/master/tools/thermal_monitor
|
||||
|
||||
.. _`Intel® Turbo Boost Technology`: https://www.intel.com/content/www/us/en/architecture-and-technology/turbo-boost/turbo-boost-technology.html
|
||||
|
||||
.. _`Linux DPTF Extract Utility`: https://github.com/intel/dptfxtract
|
||||
|
||||
.. _`Intel DPTF`: https://software.intel.com/en-us/articles/2-in-1-tablet-mode-game-performance-with-intel-dynamic-platform-and-thermal-framework-intel
|
||||
@@ -1,159 +0,0 @@
|
||||
.. _openssh-server:
|
||||
|
||||
Enable and configure SSH service
|
||||
################################
|
||||
|
||||
This guide describes how to set up the SSH service.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
The :command:`openssh-server` bundle provides the OpenSSH package that
|
||||
enables an SSH service in |CL-ATTR|. Remote users require an SSH service to be
|
||||
able to use an encrypted login shell. The SSH daemon has all of its configuration built in and no template configuration file is present on the file system.
|
||||
|
||||
|CL| enables the `sshd.socket` unit, which listens on port 22 by default
|
||||
and starts the OpenSSH service as required. The first time OpenSSH starts, it
|
||||
generates the server SSH keys needed for the service.
|
||||
|
||||
Prerequisites
|
||||
*************
|
||||
|
||||
Ensure the :command:`openssh-server` bundle is installed.
|
||||
|
||||
To list all bundles on your host, enter:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd bundle-list
|
||||
|
||||
To add the :command:`openssh-server` bundle, enter:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd bundle-add openssh-server
|
||||
|
||||
Change default port
|
||||
*******************
|
||||
|
||||
Perform the following steps to change the default listening port for the
|
||||
OpenSSH service.
|
||||
|
||||
#. Open the :file:`sshd.socket` file:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo systemctl edit sshd.socket
|
||||
|
||||
#. Add the `[Socket]` section and `ListenStream` option to the sshd.socket
|
||||
file as shown below. The first `ListenStream` entry removes the |CL|
|
||||
default listen port value. The second `ListenStream` entry sets the new
|
||||
default listen port value. In this example, we set the new default port
|
||||
to 4200:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
[Socket]
|
||||
ListenStream=
|
||||
ListenStream=4200
|
||||
|
||||
|
||||
Make sure to include a new line after the last line of text in the :file:`sshd.socket` file.
|
||||
|
||||
#. Verify your changes:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cat /etc/systemd/system/sshd.socket.d/override.conf
|
||||
|
||||
The following output is displayed:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
[Socket]
|
||||
ListenStream=
|
||||
ListenStream=4200
|
||||
|
||||
#. Reload the systemd daemon configurations:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo systemctl daemon-reload
|
||||
|
||||
#. Restart the sshd.socket unit:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo systemctl restart sshd.socket
|
||||
|
||||
#. Confirm the sshd.socket unit is listening on your new port:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo systemctl status sshd.socket
|
||||
|
||||
.. note::
|
||||
|
||||
Output should show :guilabel:`Active:` as `active(listening)`.
|
||||
|
||||
Enable SFTP
|
||||
***********
|
||||
|
||||
|CL| *disables* the :abbr:`SFTP (SSH File Transfer Protocol)` subsystem by
|
||||
default due to security considerations. To enable the SFTP subsystem, you can
|
||||
configure the :file:`/etc/ssh/sshd_config` file.
|
||||
|
||||
#. Create the following file, if it does not already exist:
|
||||
:file:`/etc/ssh/sshd_config`
|
||||
|
||||
#. Add the the SFTP subsystem in :file:`/etc/ssh/sshd_config`:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
subsystem sftp /usr/libexec/sftp-server
|
||||
|
||||
|
||||
Congratulations! The SFTP subsystem is enabled. You do not need to restart the sshd service.
|
||||
|
||||
Enable root login
|
||||
*****************
|
||||
|
||||
To enable root login via SSH, perform the following steps:
|
||||
|
||||
|
||||
#. Create the following file, if it does not already exist:
|
||||
:file:`/etc/ssh/sshd_config`
|
||||
|
||||
#. Set the configuration variable in :file:`/etc/ssh/sshd_config`:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
PermitRootLogin yes
|
||||
|
||||
You have now enabled root login on your system. You do not need to restart the sshd service.
|
||||
|
||||
Enable X11-forwarding
|
||||
*********************
|
||||
|
||||
X11 forwarding allows you to securely run graphical applications (that is, X
|
||||
clients) over the SSH connection. This enables remote GUI apps without the need
|
||||
for full VNC or remote desktop setup. To enable X11-forwarding via SSH,
|
||||
perform the following steps:
|
||||
|
||||
#. Create the following file, if it does not already exist:
|
||||
:file:`/etc/ssh/sshd_config`
|
||||
|
||||
#. Set the following configuration variables.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
AllowTcpForwarding yes
|
||||
X11UseLocalhost yes
|
||||
X11DisplayOffset 10
|
||||
X11Forwarding yes
|
||||
|
||||
You have now enabled X11-forwarding! You do not need to restart the sshd service.
|
||||
@@ -1,116 +0,0 @@
|
||||
.. _proxy:
|
||||
|
||||
Proxy Configuration
|
||||
###################
|
||||
|
||||
When working behind a corporate proxy server, one typically has to configure
|
||||
proxy settings for applications to reach the Internet. |CL-ATTR| has
|
||||
implemented an :ref:`autoproxy` feature to try and eliminate manual
|
||||
configurations as much as possible. However, there are still some applications
|
||||
that cannot take full advantage of the :ref:`autoproxy` feature due to their
|
||||
own ways of configuring proxy settings. This guide shows you how to configure
|
||||
proxy settings for some of the known applications manually.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
Prerequisites
|
||||
*************
|
||||
|
||||
* You have installed |CL| on your host system.
|
||||
|
||||
For detailed instructions on installing |CL| on a bare metal system, visit
|
||||
the :ref:`bare metal installation guide <bare-metal-install-desktop>`.
|
||||
|
||||
General proxy settings for many applications
|
||||
============================================
|
||||
|
||||
#. First, apply these general proxy settings which should work for many
|
||||
applications. If they do not work for a specific application, such as the
|
||||
ones listed below, apply application-specific proxy settings as needed.
|
||||
|
||||
Proxy settings:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
export http_proxy=http://<YOUR.HTTP-PROXY.URL:PORT>
|
||||
export https_proxy=http://<YOUR.HTTPS-PROXY.URL:PORT>
|
||||
export ftp_proxy=http://<YOUR.FTP-PROXY.URL:PORT>
|
||||
export socks_proxy=http://<YOUR.SOCKS-PROXY.URL:PORT>
|
||||
export no_proxy="<YOUR-DOMAIN>,localhost"
|
||||
export HTTP_PROXY=$http_proxy
|
||||
export HTTPS_PROXY=$https_proxy
|
||||
export FTP_PROXY=$ftp_proxy
|
||||
export SOCKS_PROXY=$socks_proxy
|
||||
export NO_PROXY=$no_proxy
|
||||
|
||||
* *User-specific*, put them in :file:`$HOME/.bashrc`.
|
||||
|
||||
* *For all users*, put them in :file:`/etc/profile.d/proxy.conf`.
|
||||
|
||||
#. For the proxies to take effect, either :command:`source` the file manually
|
||||
or log out and log back in.
|
||||
|
||||
Docker\*
|
||||
========
|
||||
|
||||
Please refer the official Docker links on how to configure proxies:
|
||||
|
||||
* `Docker client`_
|
||||
* `Docker daemon`_
|
||||
|
||||
git over SSH
|
||||
============
|
||||
|
||||
Add the following to your :file:`~/.ssh/config` file:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
host github.com
|
||||
port 22
|
||||
user git
|
||||
ProxyCommand connect-proxy -S <YOUR.SSH-PROXY.URL:PORT> %h %p
|
||||
|
||||
.. note::
|
||||
|
||||
Though :command:`netcat` is included with |CL|, it is not the BSD version,
|
||||
which is the one usually used to enable git over SSH.
|
||||
|
||||
autospec/mock
|
||||
=============
|
||||
|
||||
:ref:`autospec` uses mock to do builds. Configure mock's proxy settings with
|
||||
these steps:
|
||||
|
||||
#. Override the general mock configuration file with a custom one, otherwise
|
||||
your settings will get overwritten each time autospec is updated.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo mkdir -p /etc/mock
|
||||
sudo cp ~/clearlinux/projects/common/conf/clear.cfg /etc/mock/clear-custom.cfg
|
||||
|
||||
#. :command:`sudoedit` :file:`/etc/mock/clear-custom.cfg` and add the highlighted
|
||||
lines.
|
||||
|
||||
.. code-block:: none
|
||||
:emphasize-lines: 3-5
|
||||
|
||||
...
|
||||
config_opts['use_bootstrap_container'] = False
|
||||
config_opts['http_proxy'] = '<YOUR.HTTP.PROXY.URL>:<PORT>'
|
||||
config_opts['https_proxy'] = '<YOUR.HTTPS.PROXY.URL>:<PORT>'
|
||||
config_opts['no_proxy'] = '<YOUR.DOMAIN>,192.168.0.0/16,localhost,127.0.0.0/8'
|
||||
|
||||
Kubernetes
|
||||
==========
|
||||
|
||||
See :ref:`Setting proxy servers for Kubernetes <kubernetes>`.
|
||||
|
||||
.. _Docker client:
|
||||
https://docs.docker.com/network/proxy/#configure-the-docker-client
|
||||
|
||||
.. _Docker daemon:
|
||||
https://docs.docker.com/config/daemon/systemd/#httphttps-proxy
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
.. _time:
|
||||
|
||||
Set system time
|
||||
###############
|
||||
|
||||
This guide describes how to reset the time in your |CL-ATTR| system when
|
||||
the default :abbr:`NTP (Network Time Protocol)` servers cannot be reached.
|
||||
|
||||
|CL| uses the `systemd-timesyncd.service` daemon to synchronize time.
|
||||
|
||||
|
||||
#. Install the :command:`sysadmin-basic` bundle.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo swupd bundle-add sysadmin-basic
|
||||
|
||||
#. Set your time zone. This example uses Los Angeles.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
timedatectl set-timezone America/Los_Angeles
|
||||
|
||||
.. note::
|
||||
|
||||
To see a list of time zones, use the command:
|
||||
:command:`timedatectl list-timezones | grep <locale>`
|
||||
|
||||
#. Create a :file:`/etc/systemd/` directory.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo mkdir -p /etc/systemd/
|
||||
|
||||
#. Create a new file named :file:`/etc/systemd/timesyncd.conf` and enter the
|
||||
following text.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
[Time]
|
||||
NTP=<Preferred Server>
|
||||
FallbackNTP=<backup server 1> <backup server 2>
|
||||
|
||||
#. Enable the `systemd-timesyncd` service.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo timedatectl set-ntp true
|
||||
|
||||
.. note::
|
||||
|
||||
To check the service status, use the :command:`timedatectl status` command.
|
||||
|
||||
To restart the `timesyncd` daemon, enter :command:`systemctl restart
|
||||
systemd-timesyncd` into your terminal emulator.
|
||||
|
||||
**Congratulations!** You successfully set up the time in your |CL| system.
|
||||
|
||||
|
||||
@@ -1,114 +0,0 @@
|
||||
.. _compatible-hardware:
|
||||
|
||||
Compatible Hardware
|
||||
###################
|
||||
|
||||
This document describes hardware that has been tested and confirmed as
|
||||
compatible with |CL-ATTR|. This list is not comprehensive and will continue to
|
||||
grow.
|
||||
|
||||
.. list-table:: **Table 1. Compatible Hardware**
|
||||
:widths: 20, 20
|
||||
:header-rows: 1
|
||||
|
||||
* - Processor
|
||||
- Platform
|
||||
|
||||
* - Intel® Core™ i5-6260U processor
|
||||
-
|
||||
|
||||
* - Intel® Core™ i5-6560U processor
|
||||
- Dell XPS\* 13 9350
|
||||
|
||||
* - Intel® Celeron® J3455 processor
|
||||
- NUC6CAYS
|
||||
|
||||
* - Intel® Core™ i5-4250U processor
|
||||
-
|
||||
|
||||
* - Intel® Core™ i7-5557U processor
|
||||
-
|
||||
|
||||
* - Intel® Core™ i9-7900X X-series processor
|
||||
- Gigabyte\* X299
|
||||
|
||||
* - Intel® Core™ i3-4130 processor
|
||||
- Lenovo Thinkserver\* TS140
|
||||
|
||||
* - Intel® Core™ i7-7567U processor
|
||||
- NUC7i7BNH
|
||||
|
||||
* - Intel® Core™ i7-8809G processor
|
||||
- NUC8i7HVK
|
||||
|
||||
* - Intel® Core™ i5-7260U processor
|
||||
- NUC7i5BNH
|
||||
|
||||
* - Intel® Core™ i7-8650U processor
|
||||
- NUC7i7DNKE
|
||||
|
||||
* - Intel® Core™ i5-7300U processor
|
||||
- NUC7i5DNHE
|
||||
|
||||
* - Intel® Xeon® Gold 6138 processor
|
||||
-
|
||||
|
||||
* - Intel® Xeon® E5-2699A v4 processor
|
||||
- Dell PowerEdge\* R630
|
||||
|
||||
* - Intel® Xeon® E5-2620 v3 processor
|
||||
-
|
||||
|
||||
* - Intel® Core™ i5-6600 processor
|
||||
- Gigabyte\* Z170X-UD5
|
||||
|
||||
* - Intel® Core™ i5-4250U processor
|
||||
- D54250WYK
|
||||
|
||||
* - Intel® Xeon® E5-2699 v3 processor
|
||||
- S2600WT2
|
||||
|
||||
* - Intel Atom™ J3455 processor
|
||||
- NUC6CAYB
|
||||
|
||||
* - Intel® Xeon® Bronze 3104 processor
|
||||
- 0W23H8
|
||||
|
||||
* - Intel Atom™ C2750 processor
|
||||
- SuperMicro\* A1SAi
|
||||
|
||||
* - Intel Atom™ E3825 processor
|
||||
- CircuitCo MinnowBoard MAX\*
|
||||
|
||||
* - Intel® Core™ i7-8700 processor
|
||||
- Gigabyte\* H370 WIFI
|
||||
|
||||
* - Intel® Core™ i7-3667U processor
|
||||
- Lenovo ThinkPad\* X1 Carbon laptop
|
||||
|
||||
* - Intel® Core™ i5-4210U processor
|
||||
- Dell XPS\* 13 laptop
|
||||
|
||||
* - Intel® Celeron® J3455 processor
|
||||
- NUC6CAYB
|
||||
|
||||
* - Intel® Core™ i7-4790 processor
|
||||
- Gigabyte\* desktop
|
||||
|
||||
* - Intel® Core™ i5-6260U processor
|
||||
- NUC6I6SYH
|
||||
|
||||
* - Intel® Core™ i7-5557U processor
|
||||
- NUC5I7RYH
|
||||
|
||||
* - Intel® Core™ i7-4700MQ processor
|
||||
- Lenovo ThinkPad\* T540p
|
||||
|
||||
* - Intel® Core™ i7-5557U processor
|
||||
- NUC5I7RYB
|
||||
|
||||
* - Intel® Core™ i5-6260U processor
|
||||
- NUC6I5SYH
|
||||
|
||||
*Intel, Celeron, Xeon, Intel Atom, and Intel Core are trademarks of Intel
|
||||
Corporation or its subsidiaries.*
|
||||
@@ -1,17 +0,0 @@
|
||||
.. _reference:
|
||||
|
||||
Reference
|
||||
#########
|
||||
|
||||
This section provides additional information on the |CL| project and
|
||||
features.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
compatible-hardware
|
||||
bundles/bundles
|
||||
system-requirements
|
||||
image-types
|
||||
man-pages
|
||||
tutorial-ratings
|
||||
@@ -1,95 +0,0 @@
|
||||
.. _man-pages:
|
||||
|
||||
Man pages
|
||||
#########
|
||||
|
||||
These pages are generated from `Clear Linux\* tool
|
||||
repositories <https://github.com/clearlinux>`__. Updated |today|.
|
||||
|
||||
|
||||
`clr-man-pages <https://github.com/clearlinux/clr-man-pages>`__
|
||||
===============================================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
manpages/stateless.7.rst
|
||||
manpages/os-core.7.rst
|
||||
manpages/os-format.7.rst
|
||||
|
||||
`clr-power-tweaks <https://github.com/clearlinux/clr-power-tweaks>`__
|
||||
=====================================================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
manpages/clr-power-tweaks.conf.5.rst
|
||||
manpages/clr_power.1.rst
|
||||
|
||||
`clrtrust <https://github.com/clearlinux/clrtrust>`__
|
||||
=====================================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
manpages/clrtrust.1.rst
|
||||
|
||||
`micro-config-drive <https://github.com/clearlinux/micro-config-drive>`__
|
||||
=========================================================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
manpages/ucd.1.rst
|
||||
manpages/cloud-config.5.rst
|
||||
manpages/ucd-data-fetch.1.rst
|
||||
|
||||
`mixer-tools <https://github.com/clearlinux/mixer-tools>`__
|
||||
===========================================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
manpages/mixer.bundle.1.rst
|
||||
manpages/mixer.build.1.rst
|
||||
manpages/mixer.add-rpms.1.rst
|
||||
manpages/mixer.1.rst
|
||||
manpages/mixer.repo.1.rst
|
||||
manpages/mixer.versions.1.rst
|
||||
manpages/mixer.init.1.rst
|
||||
manpages/mixer.config.1.rst
|
||||
|
||||
`swupd-client <https://github.com/clearlinux/swupd-client>`__
|
||||
=============================================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
manpages/swupd-update.service.4.rst
|
||||
manpages/update-triggers.target.4.rst
|
||||
manpages/swupd.1.rst
|
||||
manpages/swupd-update.timer.4.rst
|
||||
|
||||
`tallow <https://github.com/clearlinux/tallow>`__
|
||||
=================================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
manpages/tallow.1.rst
|
||||
manpages/tallow.conf.5.rst
|
||||
manpages/tallow.patterns.5.rst
|
||||
|
||||
`telemetrics-client <https://github.com/clearlinux/telemetrics-client>`__
|
||||
=========================================================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
manpages/telemetrics.conf.5.rst
|
||||
manpages/telem-record-gen.1.rst
|
||||
manpages/telempostd.1.rst
|
||||
manpages/telemprobd.1.rst
|
||||
manpages/telemctl.1.rst
|
||||
manpages/telemetry.3.rst
|
||||
|
||||
@@ -1,273 +0,0 @@
|
||||
cloud-config
|
||||
============
|
||||
|
||||
`cloud-config(5) <cloud-config.5.html>`__ – User data format used by `ucd(1) <ucd.1.html>`__
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
||||
``user-data``
|
||||
|
||||
``#cloud-config``
|
||||
|
||||
cloud-config data is provided by the cloud infrastructure to a cloud
|
||||
instance. This data is parsed by ``cloud-init(1)`` which then configures
|
||||
the cloud instance based on the information in the cloud-config.
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
The user-data as provided can be of several formats. ``cloud-init(1)``
|
||||
supports the ``cloud-config`` format, but also supports generic shell
|
||||
scripts. If the user-data starts with ``#!``, it is assumed that the
|
||||
user-data is a generic shell script, and ``cloud-init`` will attempt to
|
||||
execute the data as a script. If the user-data starts with the
|
||||
``#cloud-config`` stanza, it is assumed the user-data is in the
|
||||
``cloud-config`` format, described below.
|
||||
|
||||
The ``cloud-config`` format is used to structure configuration data
|
||||
provided to the cloud instance. This data is structured in the YAML
|
||||
format (``http://yaml.org``). Note that ``cloud-init``\ (1) uses the
|
||||
libyaml library, which supports YAML version 1.1.
|
||||
|
||||
In the YAML content, the root node (the document) contains a sequence of
|
||||
directives. These directives inform cloud-init that the content of the
|
||||
directive are processed by a directive-specific handler, or “module”.
|
||||
|
||||
cloud-init includes many modules, each expecting a specifically
|
||||
constructed content. This document lists the correct format and
|
||||
organization of each data section for the supported modules, describes
|
||||
their effect, and states various parameters for each option.
|
||||
|
||||
Table of implemented directives. Column 3 (“Ref”) and column 4
|
||||
(“CoreOS”) list whether the reference specification or the CoreOS
|
||||
implementation support these directives. Note that implementation
|
||||
details may differ, due to the underlying differences in Operating
|
||||
Systems.
|
||||
|
||||
::
|
||||
|
||||
Directive |Description |Ref. |CoreOS.
|
||||
--------------------|-------------------------------------|-----|-------
|
||||
groups |Configure user account groups |yes |no
|
||||
package_upgrade |Perform a software update |yes |no
|
||||
packages |Install additional software |yes |no
|
||||
runcmd |Execute system commands |yes |no
|
||||
service |Perform system service configuration |no |no
|
||||
ssh_authorized_keys |Provision SSH public keys |yes |yes
|
||||
users |Configure user accounts |yes |yes
|
||||
write_files |Write content to arbitrary files |yes |yes
|
||||
hostname |Define the system's hostname |yes |yes
|
||||
envar |Set environment variables |no |no
|
||||
bootcmd |Execute system commands on first boot|no |no
|
||||
wait_for_network |Halt execution until network is up |no |no
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
For each of the directives listed in the table above, zero or more
|
||||
options may be provided. The list below documents the implemented
|
||||
options per directive. The “Type” field values are:
|
||||
|
||||
TYPES
|
||||
~~~~~
|
||||
|
||||
::
|
||||
|
||||
Type |Description
|
||||
-----------|-------------------------------------------------------------------
|
||||
boolean |Either true, false, yes, no, 0 or 1 (upper case and initial capitol
|
||||
|letter versions treated identical)
|
||||
string |A generic string encoded value. Can be multiline or YAML encoded
|
||||
|content
|
||||
integer |A string encoded decimal integer value
|
||||
octal |A string encoded octal integer value
|
||||
hex |A string encoded hexadecimal integer value
|
||||
[] |if a type is listed with [] appended, it means there may be zero or
|
||||
|more values, lists of values or any arbitrary depth of these nested
|
||||
* |Indicates this value isn't a separate key, but directly the
|
||||
|associated value of the root node. This is applicable for directives
|
||||
|that only have a single configuration parameter,
|
||||
|e.g. "package_upgrade"
|
||||
|
||||
groups
|
||||
~~~~~~
|
||||
|
||||
::
|
||||
|
||||
Option |Type |Required |Function
|
||||
----------|---------|------------|-----------------------------------
|
||||
name |string[] |no |Create a new user account group and
|
||||
| | |place listed user account names in
|
||||
| | |that group
|
||||
|
||||
package_upgrade
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
Option |Type |Required |Function
|
||||
----------|---------|------------|-----------------------------------
|
||||
* |boolean |yes |Enables or disables whether software
|
||||
| | |update is performed
|
||||
|
||||
This option implies the ``wait_for_network`` option.
|
||||
|
||||
packages
|
||||
~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
Option |Type |Required |Function
|
||||
----------|---------|------------|-----------------------------------
|
||||
name |string[] |no |Enables installation of software bundles
|
||||
|
||||
This option implies the ``wait_for_network`` option.
|
||||
|
||||
runcmd
|
||||
~~~~~~
|
||||
|
||||
::
|
||||
|
||||
Option |Type |Required |Function
|
||||
----------|---------|------------|-----------------------------------
|
||||
* |string[] |no |Executes a command, if the item is a list,
|
||||
| | |the list will be converted to a string
|
||||
| | |and executed as a command line.
|
||||
|
||||
hostname
|
||||
~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
Option |Type |Required |Function
|
||||
----------|---------|------------|-----------------------------------
|
||||
* |string |yes |Defines the system's hostname
|
||||
|
||||
service
|
||||
~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
Option |Type |Required |Function
|
||||
----------|---------|------------|-----------------------------------
|
||||
start |string[] |no |Start units
|
||||
stop |string[] |no |Stop units
|
||||
restart |string[] |no |Restart units
|
||||
enable |string[] |no |Enable units to start automatically
|
||||
disable |string[] |no |Disable units from starting automatically
|
||||
reload |string[] |no |Reload service units
|
||||
isolate |string[] |no |Change target to a new unit
|
||||
mask |string[] |no |Prevent units from starting
|
||||
unmask |string[] |no |Remove unit start prevention mask
|
||||
|
||||
ssh_authorized_keys
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
Option |Type |Required |Function
|
||||
----------|---------|------------|-----------------------------------
|
||||
* |string[] |no |Specifies an SSH public key value, as
|
||||
| | |string. This will be added to the default
|
||||
| | |user account's SSH configuration
|
||||
|
||||
users
|
||||
~~~~~
|
||||
|
||||
::
|
||||
|
||||
Option |Type |Required |Function
|
||||
----------|---------|------------|-----------------------------------
|
||||
* |[] |no |This directive expects a list of user
|
||||
| | |definitions. Each definition can
|
||||
| | |additionally specify the following
|
||||
| | |sub-options:
|
||||
name |string |yes |A user account name to be created
|
||||
gecos |string |no |A real user name, can be left empty
|
||||
homedir |string |no |A home directory path. Default under "/home"
|
||||
primary-group|string|no |A group name.
|
||||
groups |string |no |Comma-separated list of group names or
|
||||
| | |single group name. Specifies additional
|
||||
| | |groups to put this user account into
|
||||
lock-passwd|boolean |no |Lock the user account
|
||||
inactive |boolean |no |Mark the user account as inactive
|
||||
passwd |string |no |Password hash for the user account
|
||||
no-create-home|boolean|no |Omits creating a home directory
|
||||
no-user-group|boolean|no |Omits group creating for the account
|
||||
no-log-init|boolean |no |Omits this account from lastlog/faillog
|
||||
expiredate|string |no |A date at which to expire the password
|
||||
ssh-authorized-keys|string[]|no |Add SSH public keys to ssh configuration
|
||||
sudo |string[] |no |Add sudoers lines for this account, the account
|
||||
| | |name is automatically prepended
|
||||
system |boolean |no |Make the account a system account
|
||||
|
||||
write_files
|
||||
~~~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
Option |Type |Required |Function
|
||||
----------|---------|------------|-----------------------------------
|
||||
* |[] |no |This directive expects a list of write_files
|
||||
| | |definitions. Each definition itself contains the
|
||||
| | |following options:
|
||||
content |string |yes |The content to write to a file
|
||||
path |string |yes |The full path and filename of the file to
|
||||
| | |be written out
|
||||
owner |string |no |Username and optionally group name, separated
|
||||
| | |by ":" or ".". Defaults to "root.root"
|
||||
permissions|octal |no |Octal value describing the file permissions
|
||||
| | |default value is influenced according to
|
||||
| | |`umask`
|
||||
|
||||
envar
|
||||
~~~~~
|
||||
|
||||
::
|
||||
|
||||
Option |Type |Required |Function
|
||||
----------|---------|------------|-----------------------------------
|
||||
* |string |yes |Add environment variables to /etc/profile.d/cloud-init.sh
|
||||
| | |and to current cloud-init process
|
||||
|
||||
bootcmd
|
||||
~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
Option |Type |Required |Function
|
||||
----------|---------|------------|-----------------------------------
|
||||
* |string[] |no |Similar to runcmd but bootcmd will run only on first boot
|
||||
|
||||
wait_for_network
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
Option |Type |Required |Function
|
||||
----------|---------|------------|-----------------------------------
|
||||
* |boolean |no |Enable to force waiting for a functional network.
|
||||
|
||||
This option makes the program wait until an active network is detected.
|
||||
To prevent waiting, ensure that this option is disabled explicitly
|
||||
disabled, before other options are used. This may be needed when using
|
||||
the ``packages`` or ``package_upgrade`` options, which imply that this
|
||||
option is used.
|
||||
|
||||
COPYRIGHT
|
||||
---------
|
||||
|
||||
- Copyright (C) 2017 Intel Corporation, License: CC-BY-SA-3.0
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
``cloud-init``\ (1)
|
||||
|
||||
NOTES
|
||||
-----
|
||||
|
||||
Creative Commons Attribution-ShareAlike 3.0 Unported
|
||||
|
||||
- http://creativecommons.org/licenses/by-sa/3.0/
|
||||
@@ -1,93 +0,0 @@
|
||||
clr-power-tweaks.conf
|
||||
=====================
|
||||
|
||||
:Manual section: 5
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
||||
``clr-power-tweaks.conf`` is an optional configuration file for the
|
||||
`clr_power(1) <clr_power.1.html>`__ utility.
|
||||
|
||||
``/etc/clr-power-tweaks.conf``
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
``clr-power-tweaks.conf`` is an optional configuration file for the
|
||||
`clr_power(1) <clr_power.1.html>`__ utility. The configuration file contains kernel and device
|
||||
parameter values used by the `clr_power(1) <clr_power.1.html>`__ utility.
|
||||
|
||||
Configuration parameter values placed in ``clr-power-tweaks.conf`` will
|
||||
supersede the built-in defaults configured by `clr_power(1) <clr_power.1.html>`__. New
|
||||
parameters can be added to the configuration to supplement the built-in
|
||||
values. Built-in parameters can be changed by defining them in
|
||||
``clr-power-tweaks.conf`` with a different value. Parameters can be
|
||||
excluded from being modified by `clr_power(1) <clr_power.1.html>`__ by adding them in
|
||||
``clr-power-tweaks.conf`` without a value.
|
||||
|
||||
FILE FORMAT
|
||||
-----------
|
||||
|
||||
``clr-power-tweaks.conf`` uses a key-value pairs to define parameter
|
||||
values.
|
||||
|
||||
Each line contains one parameter-value pair, delimited by a space
|
||||
character.
|
||||
|
||||
Parameters are paths from the proc(5) filesystem. Parameters paths can
|
||||
include glob(n) wildcards to match multiple paths.
|
||||
|
||||
Acceptable values are determined by the parameter being set. Any
|
||||
parameter listed in the configuration file without a value will be
|
||||
excluded by `clr_power(1) <clr_power.1.html>`__ and the parameter will inherit the kernel’s
|
||||
built-in default parameter value.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
1. ``clr-power-tweaks.conf`` entry to override the default value in
|
||||
`clr_power(1) <clr_power.1.html>`__ for CPU governor with **powersave**. All other values
|
||||
built-in to `clr_power(1) <clr_power.1.html>`__ would still get applied.
|
||||
|
||||
Note the globbing used with ``*`` to target all CPU cores.
|
||||
|
||||
::
|
||||
|
||||
/sys/devices/system/cpu/cpu*/cpufreq/scaling_governor powersave
|
||||
|
||||
2. ``clr-power-tweaks.conf`` entry to exclude a parameter causing it to
|
||||
use the kernel’s built-in default value (60). All other values
|
||||
built-in to `clr_power(1) <clr_power.1.html>`__ would still get applied.
|
||||
|
||||
Note the omission of a value.
|
||||
|
||||
::
|
||||
|
||||
/proc/sys/vm/swappiness
|
||||
|
||||
3. ``clr-power-tweaks.conf`` entry to add two new parameters to increase
|
||||
UDP buffers All other values built-in to `clr_power(1) <clr_power.1.html>`__ would still get
|
||||
applied.
|
||||
|
||||
::
|
||||
|
||||
/proc/sys/net/ipv4/udp_rmem_min 8192
|
||||
/proc/sys/net/ipv4/udp_wmem_min 8192
|
||||
|
||||
BUGS
|
||||
----
|
||||
|
||||
The default `clr-power-tweaks.conf(5) <clr-power-tweaks.conf.5.html>`__ aims to have reasonable defaults
|
||||
for achieving power and performance efficiency. Default values may not
|
||||
be optimal for all systems and environments.
|
||||
|
||||
See GitHub Issues: https://github.com/clearlinux/clr-power-tweaks/issues
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
**clr_power.conf(5)**, **proc(5)**, **sysctl(2)**
|
||||
|
||||
For parameters understood by the kernel, please see
|
||||
https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
|
||||
@@ -1,73 +0,0 @@
|
||||
clr_power
|
||||
=========
|
||||
|
||||
:Manual section: 1
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
||||
``clr_power`` is a utility to adjust power and performance settings in
|
||||
the operating system. It is configurable and can enforce power and
|
||||
performance policies.
|
||||
|
||||
**clr_power** [**-d**\ \|\ **–debug**]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
``clr_power`` adjusts power and performance in the operating system by
|
||||
setting runtime kernel and device parameters in the proc(5) filesystem.
|
||||
``clr_power`` operates with built-in default values. Values can be added
|
||||
or changed in user-defined `clr-power-tweaks.conf(5) <clr-power-tweaks.conf.5.html>`__ file.
|
||||
|
||||
``clr_power`` applies settings and immediately exits after it is
|
||||
started. It can act as a daemon that enforces settings with the included
|
||||
systemd files.
|
||||
|
||||
The program handles server and desktop-like systems differently and will
|
||||
set values based on whether a system is a server platform or a desktop
|
||||
platform. Most systems will be assumed a server, and if it can’t be
|
||||
determined what type of platform the system is, treated as a server
|
||||
platform. By default, systems with CPU’s that identify as ``Core(TM)``,
|
||||
``Celeron`` and ``Pentium`` are treated as desktop systems, and systems
|
||||
with CPU’s that identify as ``Xeon`` are treated as server systems.
|
||||
|
||||
Tunings applied will vary per system. To see what tunings are applied,
|
||||
run the program with the ``--debug`` option.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
``-d``, ``--debug`` Display debug/verbose output including built-in
|
||||
values.
|
||||
|
||||
``-S``, ``--server`` Treat the system as a server, and apply server
|
||||
specific tunings.
|
||||
|
||||
``-D``, ``--desktop`` Treat the system as a desktop, and apply desktop
|
||||
specific tunings
|
||||
|
||||
FILES
|
||||
-----
|
||||
|
||||
- *clr-power.service* systemd service unit that executes **clr_power**.
|
||||
|
||||
- *clr-power.timer* systemd timer that periodically executes the
|
||||
*clr-power.service* to enforce settings.
|
||||
|
||||
- *clr-power-rfkill.service* systemd service that stops bluetooth
|
||||
devices at boot to prevent power drain.
|
||||
|
||||
- */etc/clr-power-tweaks.conf* Optional user-defined configuration file
|
||||
to override or att values. See `clr-power-tweaks.conf(5) <clr-power-tweaks.conf.5.html>`__ for more
|
||||
information.
|
||||
|
||||
BUGS
|
||||
----
|
||||
|
||||
See GitHub Issues: https://github.com/clearlinux/clr-power-tweaks/issues
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
`clr-power-tweaks.conf(5) <clr-power-tweaks.conf.5.html>`__, **proc(5)**
|
||||
@@ -1,185 +0,0 @@
|
||||
clrtrust
|
||||
========
|
||||
|
||||
:Manual section: 1
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
||||
**clrtrust** is a tool for generating and managing a centralized trusted
|
||||
certificate store.
|
||||
|
||||
``clrtrust [-v|--verbose] [-h|--help] [-c|--internal-rehash] <command> [options]``
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
A trust store contains a set of X.509 certificates which the operating
|
||||
system and applications should consider trustworthy.
|
||||
|
||||
The ``clrtrust`` tool provides a frontend for centralized trust store
|
||||
management. It allows for adding (trusting) and removing (distrusting)
|
||||
certificate authorities (CAs). It also provides maintenance commands for
|
||||
viewing and re-generating the trust store.
|
||||
|
||||
Certificates can be provided by the operating system for out-of-box
|
||||
functionality. Certificates can also be provided and modified by
|
||||
privileged users.
|
||||
|
||||
It is up to each application to make use of the trust store generated by
|
||||
``clrtrust``.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
::
|
||||
|
||||
Usage: clrtrust [-v|--verbose] [-h|--help] [-c|--internal-rehash] <command> [options]
|
||||
|
||||
-v | --verbose Shows more details about execution
|
||||
-c | --internal-rehash Forces use of internal implementation of c_rehash
|
||||
-h | --help Prints this message
|
||||
|
||||
Commands
|
||||
generate generates the trust store
|
||||
list list CAs
|
||||
add add trust to a CA
|
||||
remove remove trust to a CA
|
||||
restore restore trust to previously removed CA
|
||||
check sanity/consistency check of the trust store
|
||||
|
||||
clrtrust <command> --help to get help on specific command.
|
||||
|
||||
**Commands that modify the trust store require root privileges.**
|
||||
|
||||
- ``clrtrust generate [-f|--force]``
|
||||
|
||||
The ``generate`` command has no arguments and generates a unified
|
||||
trust store composed of system-provided and user-provided
|
||||
certificates, if any. The optional ``--force`` parameter will
|
||||
forcibly generate the trust store, even if it results in an empty
|
||||
store. See the FILES section for paths used for trust store
|
||||
generation.
|
||||
|
||||
- ``clrtrust list``
|
||||
|
||||
The ``list`` command has no arguments and outputs a list of trusted
|
||||
certificates with the following fields:
|
||||
|
||||
``id`` uniquely identifies the certificate. It can be used as input
|
||||
to other ``clrtrust`` commands such as ``remove`` or ``restore``.
|
||||
|
||||
``File`` contains the file path of the certificate in the trust
|
||||
store.
|
||||
|
||||
``Authority`` shows the name of the organization that issued the
|
||||
certificate. This field is extracted from the certificate file.
|
||||
|
||||
``Expires`` shows the expiration date of the certificate. This field
|
||||
is extracted from the certificate file.
|
||||
|
||||
- ``clrtust add [<certificateFile> ...] [-f|--force]``
|
||||
|
||||
The ``add`` command takes one or more certificates as required
|
||||
argument(s). The certificate is identified by a file path. The
|
||||
certificate file(s) must be PEM-encoded with only one certificate per
|
||||
file. The optional ``--force`` parameter will forcibly add the
|
||||
certificate to the trust store, even if it is not a root CA.
|
||||
|
||||
Adding a root CA to the trust store allows applications using the
|
||||
trust store to trust the root CA certificate, trust certificate
|
||||
chains issued by the authority, verify the authenticity of peer’s
|
||||
certificate, and establish a connection.
|
||||
|
||||
- ``clrtrust remove [<certificateFile|id> ...]``
|
||||
|
||||
The ``remove`` command takes one or more certificates as required
|
||||
argument(s). The certificate is identified by a file path or ``id``.
|
||||
The argument can be an ``id`` of the certificate (see the ``list``
|
||||
command) or the file path of the certificate.
|
||||
|
||||
Removing a root CA from the trust store distrusts the certificate for
|
||||
applications using the trust store. Certificate chains issued by the
|
||||
authority will no longer be trusted, authenticity of the peer’s
|
||||
certificate will no longer be verified, and a connection will not be
|
||||
established.
|
||||
|
||||
- ``clrtrust check``
|
||||
|
||||
The ``check`` command has no arguments and validate the consistency
|
||||
of a previously generated unified trust store.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
View the list of trusted CAs
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
``clrtrust list``
|
||||
|
||||
The command above outputs a list of trusted certificates in the format
|
||||
below:
|
||||
|
||||
::
|
||||
|
||||
id: FA:B7:EE:36:97:26:62:FB:2D:B0:2A:F6:BF:03:FD:E8:7C:4B:2F:9B
|
||||
File: /var/cache/ca-certs/anchors/certSIGN_ROOT_CA.crt
|
||||
Authority: /C=RO/O=certSIGN/OU=certSIGN ROOT CA
|
||||
Expires: Jul 4 17:20:04 2031 GMT
|
||||
|
||||
The certificate can be further inspected using the ``openssl x509``
|
||||
command. For example:
|
||||
|
||||
::
|
||||
|
||||
openssl x509 -in /var/cache/ca-certs/anchors/certSIGN_ROOT_CA.crt -noout -text
|
||||
|
||||
Add (trust) a root CA
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
``clrtrust add ~/PrivateCA.pem``
|
||||
|
||||
The command above will add a root CA certificate located in the
|
||||
``~/PrivateCA.pem`` file. If the certificate file is not in the PEM
|
||||
format, use ``openssl x509`` command to convert to PEM first. For
|
||||
example:
|
||||
|
||||
::
|
||||
|
||||
openssl x509 -in PrivateCA.cer -inform der -out PrivateCA.pem -outform pem
|
||||
|
||||
Remove (distrust) a root CA
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
``clrtrust remove ~/PrivateCA.pem``
|
||||
|
||||
The command above will remove a root CA certificate located in the
|
||||
``~/PrivateCA.pem`` file from the trust store and distrust it.
|
||||
|
||||
FILES
|
||||
-----
|
||||
|
||||
*/var/cache/ca-certs*
|
||||
|
||||
Generated directory of certificates and verification keys. Do not modify
|
||||
contents outside of ``clrtrust``.
|
||||
|
||||
*/usr/share/ca-certs/*
|
||||
|
||||
Operating-system provided certificates and keys. Do not modify contents
|
||||
outside of ``clrtrust``.
|
||||
|
||||
*/etc/ca-certs/*
|
||||
|
||||
Generated directory of user-supplied certificates and verification keys.
|
||||
Do not modify contents outside of ``clrtrust``.
|
||||
|
||||
BUGS
|
||||
----
|
||||
|
||||
See GitHub Issues: https://github.com/clearlinux/clrtrust/issues
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
**openssl(1)**
|
||||
@@ -1,149 +0,0 @@
|
||||
=====
|
||||
mixer
|
||||
=====
|
||||
|
||||
------------------------
|
||||
OS software update mixer
|
||||
------------------------
|
||||
|
||||
:Copyright: \(C) 2018 Intel Corporation, CC-BY-SA-3.0
|
||||
:Manual section: 1
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
========
|
||||
|
||||
``mixer [subcommand] <flags>``
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
===========
|
||||
|
||||
`mixer(1) <mixer.1.html>`__ is a software update generator that uses input RPMs and bundle
|
||||
definition files to create update metadata consumable by `swupd(1) <swupd.1.html>`__.
|
||||
|
||||
``mixer`` operates in a mix workspace using configuration files existing in the
|
||||
workspace. The tool allows users to use RPMs from an upstream URL (default
|
||||
download.clearlinux.org), provide their own RPMs, and use RPMs from other remote
|
||||
repositories to build updates. Users can also define their own local bundle
|
||||
definitions as well as use the default bundle definitions from the upstream URL.
|
||||
|
||||
``mixer`` provides commands to manage local RPMs and bundle definitions and
|
||||
configure remote RPM repositories.
|
||||
|
||||
The output of ``mixer`` is a set of manifests readable by ``swupd`` as well as
|
||||
all the OS content ``swupd`` needs to perform its update operations. The OS
|
||||
content includes all the files in an update as well as zero- and delta-packs for
|
||||
improved update performance. The content that ``mixer`` produces is tied to a
|
||||
specific format so that ``swupd`` is guaranteed to understand it if the client
|
||||
is using the right version of ``swupd``. See `swupd(1) <swupd.1.html>`__ and `os-format(7) <os-format.7.html>`__
|
||||
for more details.
|
||||
|
||||
|
||||
OPTIONS
|
||||
=======
|
||||
|
||||
The following options are applicable to most subcommands, and can be
|
||||
used to modify the core behavior and resources that ``mixer`` uses.
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display general help information. If put after a subcommand, it will
|
||||
display help specific to that subcommand.
|
||||
|
||||
- ``--check``
|
||||
|
||||
Check all external dependencies needed by mixer.
|
||||
|
||||
- ``-v, --version``
|
||||
|
||||
Displays the version information of the ``mixer`` program and exit.
|
||||
|
||||
- ``--offline``
|
||||
|
||||
Skip caching upstream bundles and work entirely with local bundles.
|
||||
Do not reach out over network to perform operations.
|
||||
|
||||
|
||||
SUBCOMMANDS
|
||||
===========
|
||||
|
||||
``add-rpms``
|
||||
|
||||
Add RPMs from the configured LOCAL_RPM_DIR to the local dnf repository.
|
||||
See `mixer.add-rpms(1) <mixer.add-rpms.1.html>`__ for more details.
|
||||
|
||||
``build``
|
||||
|
||||
Build various pieces of OS content, including all metadata needed by
|
||||
``swupd`` to perform updates. ``mixer build`` is a complicated tool in
|
||||
itself. See `mixer.build(1) <mixer.build.1.html>`__ for more details.
|
||||
|
||||
``bundle``
|
||||
|
||||
Perform various configuration actions on local and upstream bundles. The
|
||||
user can add or remove bundles from their mix, create new bundle definitions,
|
||||
or validate local bundle definition files. See `mixer.bundle(1) <mixer.bundle.1.html>`__ for more details.
|
||||
|
||||
``config``
|
||||
|
||||
Perform configuration related actions, including configuration file
|
||||
validation and conversion from deprecated formats. See `mixer.config(1) <mixer.config.1.html>`__
|
||||
for more details.
|
||||
|
||||
``help``
|
||||
|
||||
Print help text for any ``mixer`` subcommand.
|
||||
|
||||
``init``
|
||||
|
||||
Initialize ``mixer`` configuration and workspace. See `mixer.init(1) <mixer.init.1.html>`__ for
|
||||
more details.
|
||||
|
||||
``repo``
|
||||
|
||||
Add, list, remove, or edit RPM repositories to be used by mixer. This
|
||||
subcommand allows users to configure which remote or local repositories
|
||||
mixer should use to look for RPMs. See `mixer.repo(1) <mixer.repo.1.html>`__ for more
|
||||
information.
|
||||
|
||||
``versions``
|
||||
|
||||
Manage mix and upstream versions. By itself the command will print the
|
||||
current version of mix and upstream, and also report the latest version of
|
||||
upstream available. Also allows the user to update mix and upstream
|
||||
versions. See `mixer.versions(1) <mixer.versions.1.html>`__ for more details.
|
||||
|
||||
|
||||
FILES
|
||||
=====
|
||||
|
||||
`<mixer/workspace>/builder.conf`
|
||||
|
||||
The mixer configuration file.
|
||||
|
||||
`<mixer/workspace>/.yum-mix.conf`
|
||||
|
||||
The default location for the DNF configuration file.
|
||||
|
||||
|
||||
EXIT STATUS
|
||||
===========
|
||||
|
||||
On success, 0 is returned. A non-zero return code indicates a failure.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
* `mixer.add-rpms(1) <mixer.add-rpms.1.html>`__
|
||||
* `mixer.build(1) <mixer.build.1.html>`__
|
||||
* `mixer.bundle(1) <mixer.bundle.1.html>`__
|
||||
* `mixer.config(1) <mixer.config.1.html>`__
|
||||
* `mixer.init(1) <mixer.init.1.html>`__
|
||||
* `mixer.repo(1) <mixer.repo.1.html>`__
|
||||
* `mixer.versions(1) <mixer.versions.1.html>`__
|
||||
* `swupd(1) <swupd.1.html>`__
|
||||
* `os-format(7) <os-format.7.html>`__
|
||||
* https://github.com/clearlinux/mixer-tools
|
||||
* https://github.com/clearlinux/swupd-client
|
||||
* https://clearlinux.org/documentation/
|
||||
@@ -1,50 +0,0 @@
|
||||
==============
|
||||
mixer.add-rpms
|
||||
==============
|
||||
|
||||
---------------------
|
||||
Add local RPMs to mix
|
||||
---------------------
|
||||
|
||||
:Copyright: \(C) 2018 Intel Corporation, CC-BY-SA-3.0
|
||||
:Manual section: 1
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
========
|
||||
|
||||
``mixer add-rpms [flags]``
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
===========
|
||||
|
||||
Adds RPMs from the `LOCAL_RPM_DIR` (configured in the `builder.conf`) to the
|
||||
local RPM repository to be used in creating a mix.
|
||||
|
||||
|
||||
OPTIONS
|
||||
=======
|
||||
|
||||
In addition to the globally recognized ``mixer`` flags (see `mixer(1) <mixer.1.html>`__ for
|
||||
more details), the following options are recognized.
|
||||
|
||||
- ``-c, --config {path}``
|
||||
|
||||
Optionally tell ``mixer`` to use the configuration file at `path`. Uses the
|
||||
default `builder.conf` in the mixer workspace if this option is not provided.
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display ``add-rpm`` help information and exit.
|
||||
|
||||
|
||||
EXIT STATUS
|
||||
===========
|
||||
|
||||
On success, 0 is returned. A non-zero return code indicates a failure.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
* `mixer(1) <mixer.1.html>`__
|
||||
@@ -1,298 +0,0 @@
|
||||
===========
|
||||
mixer.build
|
||||
===========
|
||||
|
||||
-----------------------------------
|
||||
Build varioius pieces of OS content
|
||||
-----------------------------------
|
||||
|
||||
:Copyright: \(C) 2018 Intel Corporation, CC-BY-SA-3.0
|
||||
:Manual section: 1
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
========
|
||||
|
||||
``mixer build [command] [flags]``
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
===========
|
||||
|
||||
Builds various pieces of OS content and output update metadata to
|
||||
`<mixer/workspace>/update/www/<version>/`. This metadata can be published
|
||||
directly to a web-server and consumed by client update systems via the
|
||||
`swupd(1) <swupd.1.html>`__ update tool. All steps can be run at once using ``build all`` or
|
||||
the steps can be run individually using the subcommands.
|
||||
|
||||
|
||||
OPTIONS
|
||||
=======
|
||||
|
||||
In addition to the globally recognized ``mixer`` flags (see `mixer(1) <mixer.1.html>`__ for
|
||||
more details), the following options are recognized across all ``build``
|
||||
subcommands.
|
||||
|
||||
- ``--bundle-workers``
|
||||
|
||||
Number of parallel workers when building bundles, passing 0 or omitting this
|
||||
flag defaults the number of workers to the number of CPUs on the system.
|
||||
|
||||
- ``--delta-workers``
|
||||
|
||||
Number of parallel workers when creating deltas, passing 0 or omitting this
|
||||
flag defaults the number of workers to the number of CPUs on the system.
|
||||
|
||||
- ``--fullfile-workers``
|
||||
|
||||
Number of parallel workers when creating fullfiles, passing 0 or omitting this
|
||||
flag defaults the number of workers to the number of CPUs on the system.
|
||||
|
||||
- ``--skip-format-check``
|
||||
|
||||
Skip check for compatible upstream format when building on top of a new
|
||||
upstream.
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display ``build`` help information and exit.
|
||||
|
||||
|
||||
SUBCOMMANDS
|
||||
===========
|
||||
|
||||
``all``
|
||||
|
||||
Build all content for the mix. Implicitly runs ``build bundles`` followed by
|
||||
``build update``. In addition to the global options ``mixer build all``
|
||||
takes the following options.
|
||||
|
||||
- ``-c, --config {path}``
|
||||
|
||||
Optionally tell ``mixer`` to use the configuration file at `path`. Uses
|
||||
the default `builder.conf` in the mixer workspace if this option is not
|
||||
provided.
|
||||
|
||||
- ``--format {number}``
|
||||
|
||||
Supply the format number to use for the build.
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display ``build all`` help information and exit.
|
||||
|
||||
- ``--increment``
|
||||
|
||||
Automatically increment the mix version post build.
|
||||
|
||||
- ``--min-version {version}``
|
||||
|
||||
Supply minimum version for ``mixer`` to use old content from. This option
|
||||
tells ``mixer`` to regenerate all mix content starting from a certain
|
||||
version. ``mixer`` will not use any OS content from a version older than
|
||||
the min-version passed here.
|
||||
|
||||
- ``--no-signing``
|
||||
|
||||
Do not generate a certificate and do not sign the Manifest.MoM
|
||||
|
||||
- ``--prefix {path}``
|
||||
|
||||
Supply the `path` to the file system where the ``swupd`` binaries live.
|
||||
|
||||
``bundles``
|
||||
|
||||
Build the bundles for your mix. This is done by extracting dependency
|
||||
information and file lists for each package in each bundle definition for the
|
||||
mix. In addition to the global options ``mixer build bundles`` takes the
|
||||
following options.
|
||||
|
||||
- ``-c, --config {path}``
|
||||
|
||||
Optionally tell ``mixer`` to use the configuration file at `path`. Uses
|
||||
the default `builder.conf` in the mixer workspace if this option is not
|
||||
provided.
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display ``build bundles`` help information and exit.
|
||||
|
||||
- ``--no-signing``
|
||||
|
||||
Do not generate a certificate and do not sign the Manifest.MoM
|
||||
|
||||
``delta-packs``
|
||||
|
||||
Build packs to optimize ``swupd update``\s between versions. When a
|
||||
``swupd`` client updates a bundle it looks for a pack file from its current
|
||||
version to the new version. If available ``swupd`` will download and apply
|
||||
the pack content to the file system. Delta packs contain binary diff files
|
||||
that describe changes between updates whenever possible and full files only
|
||||
when necessary. Because of this delta packs are a significant performance
|
||||
optimization for client updates. Because the client can fall back to full
|
||||
files if a pack is not available, delta packs are not necessary for a
|
||||
functional update. In addition to the global options ``mixer build
|
||||
delta-packs`` takes the following options.
|
||||
|
||||
- ``-c, --config {path}``
|
||||
|
||||
Optionally tell ``mixer`` to use the configuration file at `path`. Uses
|
||||
the default `builder.conf` in the mixer workspace if this option is not
|
||||
provided.
|
||||
|
||||
- ``--from {version}``
|
||||
|
||||
Generate packs from the specified `version`.
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display ``build delta-packs`` help information and exit.
|
||||
|
||||
- ``--previous-versions {number}``
|
||||
|
||||
Generate packs for `number` of previous versions.
|
||||
|
||||
- ``--report``
|
||||
|
||||
Report reason each file in the `to` manifest was packed in the delta pack
|
||||
or not.
|
||||
|
||||
- ``--to {version}``
|
||||
|
||||
Generate packs targeting a specific `to` `version`.
|
||||
|
||||
``delta-manifests``
|
||||
|
||||
Build manifest deltas to optimize ``swupd update``\s between versions. When a
|
||||
``swupd`` client update runs, it will first try to get a delta manifest file
|
||||
if it exists and apply that on the bundle manifest file for the version
|
||||
installed on their system (if it exists). This can save a large amount of
|
||||
content being downloaded in the case of few files changing in a manifest.
|
||||
Because the client can fall back to the full manifest file if a delta is not
|
||||
available, delta manifests are not necessary for a functional update. In
|
||||
addition to the global options ``mixer build delta-manifests`` takes the
|
||||
following options.
|
||||
|
||||
- ``--from {version}``
|
||||
|
||||
Generate packs from the specified `version`.
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display ``build delta-manifests`` help information and exit.
|
||||
|
||||
- ``--previous-versions {number}``
|
||||
|
||||
Generate packs for `number` of previous versions.
|
||||
|
||||
- ``--to {version}``
|
||||
|
||||
Generate packs targeting a specific `to` `version`.
|
||||
|
||||
``image``
|
||||
|
||||
Build an image from the mix content. In addition to the global options
|
||||
``mixer build image`` takes the following options.
|
||||
|
||||
- ``-c, --config {path}``
|
||||
|
||||
Optionally tell ``mixer`` to use the configuration file at `path`. Uses
|
||||
the default `builder.conf` in the mixer workspace if this option is not
|
||||
provided.
|
||||
|
||||
- ``--format {number}``
|
||||
|
||||
Supply the format `number` used for the mix.
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display ``build image`` help information and exit.
|
||||
|
||||
- ``--template {path}``
|
||||
|
||||
Provide the `path` to the image template file to use.
|
||||
|
||||
``update``
|
||||
|
||||
Build the update content for the mix. This command builds the actual update
|
||||
metadata (manifests) and content (full files and zero packs) necessary for
|
||||
``swupd`` to perform updates on client systems. ``update`` relies on the
|
||||
output of ``build bundles`` as the input for this step and expects the
|
||||
output of ``build bundles`` to exist in the
|
||||
`<mixer/workspace>/update/image/<version>` directory. In addition to the
|
||||
global options ``mixer build update`` takes the following options.
|
||||
|
||||
- ``-c, --config {path}``
|
||||
|
||||
Optionally tell ``mixer`` to use the configuration file at `path`. Uses
|
||||
the default `builder.conf` in the mixer workspace if this option is not
|
||||
provided.
|
||||
|
||||
- ``--format {number}``
|
||||
|
||||
Supply the format `number` used for the mix.
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display ``build update`` help information and exit.
|
||||
|
||||
- ``--increment``
|
||||
|
||||
Automatically increment the mix version post build.
|
||||
|
||||
- ``--min-version {version}``
|
||||
|
||||
Supply minimum version for ``mixer`` to use old content from. This option
|
||||
tells ``mixer`` to regenerate all mix content starting from a certain
|
||||
version. ``mixer`` will not use any OS content from a version older than
|
||||
the min-version passed here.
|
||||
|
||||
- ``--no-signing``
|
||||
|
||||
Do not generate a certificate and do not sign the Manifest.MoM
|
||||
|
||||
- ``--prefix {path}``
|
||||
|
||||
Supply the `path` to the file system where the ``swupd`` binaries live.
|
||||
|
||||
``validate``
|
||||
|
||||
Compare two versions to validate that manifest file changes align with corresponding
|
||||
package changes. Inconsistencies between manifest entries and package contents are
|
||||
reported as errors. When no errors occur, package update statistics are displayed.
|
||||
|
||||
- ``--from {version}``
|
||||
|
||||
Compare manifests ``from`` a specific version
|
||||
|
||||
- ``--to {version}``
|
||||
|
||||
Compare manifests ``to`` a specific version
|
||||
|
||||
- ``--from-repo-url {repo}={URL}``
|
||||
|
||||
Overrides the baseurl value for the provided repo in the DNF config file for the ``from`` version
|
||||
|
||||
- ``--to-repo-url {repo}={URL}``
|
||||
|
||||
Overrides the baseurl value for the provided repo in the DNF config file for the ``to`` version
|
||||
|
||||
- ``--table-width {width}``
|
||||
|
||||
Max width of package statistics table, defaults to terminal width and disabled by negative numbers
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display ``build validate`` help information and exit.
|
||||
|
||||
|
||||
EXIT STATUS
|
||||
===========
|
||||
|
||||
On success, 0 is returned. A non-zero return code indicates a failure.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
* `mixer(1) <mixer.1.html>`__
|
||||
* `swupd(1) <swupd.1.html>`__
|
||||
@@ -1,207 +0,0 @@
|
||||
============
|
||||
mixer.bundle
|
||||
============
|
||||
|
||||
------------------------------------------------
|
||||
Perform various configuration actions on bundles
|
||||
------------------------------------------------
|
||||
|
||||
:Copyright: \(C) 2018 Intel Corporation, CC-BY-SA-3.0
|
||||
:Manual section: 1
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
========
|
||||
|
||||
``mixer bundle [command] [flags]``
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
===========
|
||||
|
||||
Performs various configuration actions on upstream and local bundle definition
|
||||
files. List and validate mix bundles. Validate local bundle definition files.
|
||||
|
||||
|
||||
SUBCOMMANDS
|
||||
===========
|
||||
|
||||
``add {bundle} [{bundle}...] [flags]``
|
||||
|
||||
Add local or upstream bundles to your mix by modifying the mix bundles list
|
||||
at `<mixer/workspace>/mixbundles`. In addition to the global options ``mixer
|
||||
bundle add`` takes the following options.
|
||||
|
||||
- ``--all-local``
|
||||
|
||||
Add all local bundles defined in `<mixer/workspace>/local-bundles` to the
|
||||
mix. This command takes precedence over bundle list.
|
||||
|
||||
- ``--all-upstream``
|
||||
|
||||
Add all upstream bundles (cached in `<mixer/workspace>/upstream-bundles`
|
||||
to the mix. This command takes precedence over bundle list.
|
||||
|
||||
- ``-c, --config {path}``
|
||||
|
||||
Optionally tell ``mixer`` to use the configuration file at `path`. Uses
|
||||
the default `builder.conf` in the mixer workspace if this option is not
|
||||
provided.
|
||||
|
||||
- ``--git``
|
||||
|
||||
Automatically apply a new git commit after modifying the mix bundles list
|
||||
or bundle definitions. This is useful if your local bundles are kept under
|
||||
version control.
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display ``bundle add`` help information and exit.
|
||||
|
||||
``create``
|
||||
|
||||
Create new bundles or copy existing bundles.
|
||||
This command will locate the bundle by first looking in local-bundles,
|
||||
and then in upstream-bundles. If the bundle is only found upstream,
|
||||
the bundle file will be copied to your local-bundles directory. If the bundle is
|
||||
not found anywhere, a blank template will be created with the correct name.
|
||||
|
||||
Passing '--add' will also add the bundle(s) to your mix. Please note that
|
||||
bundles are added after all bundles are created, and thus will not be added
|
||||
if any errors are encountered earlier on.
|
||||
|
||||
In addition to the global options ``mixer bundle create`` takes the following
|
||||
options.
|
||||
|
||||
- ``--add``
|
||||
|
||||
Add the bundle(s) to your mix after editing.
|
||||
|
||||
- ``--local``
|
||||
|
||||
Skip upstream check and create empty local bundle(s).
|
||||
|
||||
- ``-c, --config {path}``
|
||||
|
||||
Optionally tell ``mixer`` to use the configuration file at `path`. Uses
|
||||
the default `builder.conf` in the mixer workspace if this option is not
|
||||
provided.
|
||||
|
||||
- ``--git``
|
||||
|
||||
Automatically apply a new git commit after modifying the mix bundles list
|
||||
or bundle definitions. This is useful if your local bundles are kept under
|
||||
version control.
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display ``bundle create`` help information and exit.
|
||||
|
||||
``list [mix|local|upstream] [flags]``
|
||||
|
||||
List the bundles in the mix, the available local bundles, or the available
|
||||
upstream bundles. In addition to the global options ``mixer bundle list``
|
||||
takes the following options.
|
||||
|
||||
- ``mix``
|
||||
|
||||
List the bundles in the mix.
|
||||
|
||||
- ``local``
|
||||
|
||||
List available locally-defined bundles.
|
||||
|
||||
- ``upstream``
|
||||
|
||||
List available upstream bundles.
|
||||
|
||||
- ``-c, --config {path}``
|
||||
|
||||
Optionally tell ``mixer`` to use the configuration file at `path`. Uses
|
||||
the default `builder.conf` in the mixer workspace if this option is not
|
||||
provided.
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display ``bundle list`` help information and exit.
|
||||
|
||||
- ``--tree``
|
||||
|
||||
Pretty-print the bundle list as a tree showing include information.
|
||||
|
||||
``remove``
|
||||
|
||||
Removes bundles from your mix by modifying the mix bundle list (stored in
|
||||
the `<mixer/workspace>/mixbundles` file). The mix bundle list is parsed, the
|
||||
bundles are removed, and the resultant list is written back out in sorted
|
||||
order. If bundles do not exist in the mix, they are skipped. In addition to
|
||||
the global options ``mixer bundle remove`` takes the following options.
|
||||
|
||||
- ``-c, --config {path}``
|
||||
|
||||
Optionally tell ``mixer`` to use the configuration file at `path`. Uses
|
||||
the default `builder.conf` in the mixer workspace if this option is not
|
||||
provided.
|
||||
|
||||
- ``--git``
|
||||
|
||||
Automatically apply a new git commit after modifying the mix bundles list
|
||||
or bundle definitions. This is useful if your local bundles are kept under
|
||||
version control.
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display ``bundle remove`` help information and exit.
|
||||
|
||||
- ``--local``
|
||||
|
||||
Also remove the bundle file from local-bundles. This action is
|
||||
irrevocable.
|
||||
|
||||
- ``--mix={bool}``
|
||||
|
||||
Remove bundle from the mix bundle list. This defaults to true.
|
||||
|
||||
``validate``
|
||||
|
||||
Checks bundle definition files for validity. Only local bundle files are
|
||||
checked; upstream bundles are trusted as valid. Valid bundles yield no
|
||||
output. Any invalid bundles will yield a non-zero return code.
|
||||
|
||||
Basic validation includes checking syntax and structure, and that the bundle
|
||||
has a valid name. Commands like ``mixer bundle add`` run basic validation
|
||||
automatically.
|
||||
|
||||
In addition to the global options ``mixer bundle remove`` takes the
|
||||
following options.
|
||||
|
||||
- ``--all-local``
|
||||
|
||||
Run validation against all local bundles.
|
||||
|
||||
- ``-c, --config {path}``
|
||||
|
||||
Optionally tell ``mixer`` to use the configuration file at `path`. Uses
|
||||
the default `builder.conf` in the mixer workspace if this option is not
|
||||
provided.
|
||||
|
||||
- ``-h, --help``
|
||||
|
||||
Display ``bundle validate`` help information and exit.
|
||||
|
||||
- ``--strict``
|
||||
|
||||
Perform strict validation to additionally check that the bundle header
|
||||
fields are parse-able and non-empty, and that the header 'Title' is itself
|
||||
valid and matches the bundle filename.
|
||||
|
||||
|
||||
EXIT STATUS
|
||||
===========
|
||||
|
||||
On success, 0 is returned. A non-zero return code indicates a failure.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
* `mixer(1) <mixer.1.html>`__
|
||||