From 8e2e1eb4a7775943f85034eb9b0ebc08e7ce1503 Mon Sep 17 00:00:00 2001 From: Guixin Liu Date: Tue, 7 Mar 2023 19:46:36 +0800 Subject: [PATCH 1/2] Kernel-sig: Change doc for more readble Change OOT introduction process and OOT patch specification. Signed-off-by: Guixin Liu --- ...45\344\270\201\350\247\204\350\214\203.md" | 2 +- ...5\225\350\277\233\345\205\245Anolis OS.md" | 28 +++++-------------- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git "a/sig/Cloud_Kernel_Sig/content/\347\244\276\345\214\272\347\240\224\345\217\221\351\241\271\347\233\256/\345\206\205\346\240\270\351\251\261\345\212\250/OOT\351\251\261\345\212\250\350\241\245\344\270\201\350\247\204\350\214\203.md" "b/sig/Cloud_Kernel_Sig/content/\347\244\276\345\214\272\347\240\224\345\217\221\351\241\271\347\233\256/\345\206\205\346\240\270\351\251\261\345\212\250/OOT\351\251\261\345\212\250\350\241\245\344\270\201\350\247\204\350\214\203.md" index 8522a7f0c..b4a54d855 100644 --- "a/sig/Cloud_Kernel_Sig/content/\347\244\276\345\214\272\347\240\224\345\217\221\351\241\271\347\233\256/\345\206\205\346\240\270\351\251\261\345\212\250/OOT\351\251\261\345\212\250\350\241\245\344\270\201\350\247\204\350\214\203.md" +++ "b/sig/Cloud_Kernel_Sig/content/\347\244\276\345\214\272\347\240\224\345\217\221\351\241\271\347\233\256/\345\206\205\346\240\270\351\251\261\345\212\250/OOT\351\251\261\345\212\250\350\241\245\344\270\201\350\247\204\350\214\203.md" @@ -33,7 +33,7 @@ Reviewed-by: Linus Torvalds + 第二行 - 空行。 + 第三行及其之后 - - 具体的commit 内容。 + - 具体的commit 内容,**强烈建议您在第一个 commit 里写上代码的来源**。 * 补丁签名/SOB + 保留原补丁的完整签名,在其后追加合入人的签名 - 格式:**Signed-off-by: <名字> <邮箱地址>** diff --git "a/sig/Cloud_Kernel_Sig/content/\347\244\276\345\214\272\347\240\224\345\217\221\351\241\271\347\233\256/\345\206\205\346\240\270\351\251\261\345\212\250/\347\254\254\344\270\211\346\226\271\351\251\261\345\212\250\345\246\202\344\275\225\350\277\233\345\205\245Anolis OS.md" "b/sig/Cloud_Kernel_Sig/content/\347\244\276\345\214\272\347\240\224\345\217\221\351\241\271\347\233\256/\345\206\205\346\240\270\351\251\261\345\212\250/\347\254\254\344\270\211\346\226\271\351\251\261\345\212\250\345\246\202\344\275\225\350\277\233\345\205\245Anolis OS.md" index 025165e64..6a488469c 100644 --- "a/sig/Cloud_Kernel_Sig/content/\347\244\276\345\214\272\347\240\224\345\217\221\351\241\271\347\233\256/\345\206\205\346\240\270\351\251\261\345\212\250/\347\254\254\344\270\211\346\226\271\351\251\261\345\212\250\345\246\202\344\275\225\350\277\233\345\205\245Anolis OS.md" +++ "b/sig/Cloud_Kernel_Sig/content/\347\244\276\345\214\272\347\240\224\345\217\221\351\241\271\347\233\256/\345\206\205\346\240\270\351\251\261\345\212\250/\347\254\254\344\270\211\346\226\271\351\251\261\345\212\250\345\246\202\344\275\225\350\277\233\345\205\245Anolis OS.md" @@ -23,28 +23,14 @@ 3、强烈建议你加入 [Cloud Kernel SIG](https://openanolis.cn/sig/Cloud-Kernel) 钉钉交流群,可用群号「**35675176**」或扫 [这里](https://openanolis.cn/sig/Cloud-Kernel) 末尾的二维码入群,入群后请查看群公告。 +4、通过 bugzilla 或钉钉群决策出来该第三方驱动是 intree 还是 out-of-tree 后,分别走不同的合入流程: +| 合入流程 | 详细步骤 | +| ------------------------------------------------------------ | ------------------------------------------------------------ | +| **Intree** | 1.第三方厂商提 PR(Pull Request) 将驱动合入到 Anolis Cloud kernel 中, 具体操作请点击 [内核开发者指南](https://openanolis.cn/sig/Cloud-Kernel/doc/657676881630727957) 。 | +| **Out-of-tree** | 社区 maintainer 会创建 source tree 仓库和 rpm tree 仓库,将仓库信息同步至 bugzilla 中。
1. 第三方厂商将 [kABI](https://openanolis.cn/sig/Cloud-Kernel/doc/772144270149378762) 的新增变更更新到 bugzilla,具体请参考 [kABI 社区共建流程](https://openanolis.cn/sig/Cloud-Kernel/doc/772057630693499436) 。
2. 第三方厂商提交 PR(Pull Request) 将源码 + spec 文件合入到 source tree 仓库,具体操作请点击 [OOT驱动开发者指南](https://openanolis.cn/sig/Cloud-Kernel/doc/660356858711892913?preview=null) 。 | -通过 bugzilla 或钉钉群决策出来该第三方驱动是 intree 还是 out-of-tree 后,分别走不同的合入流程: +5、兼容性 SIG 负责人更新龙蜥社区硬件兼容性列表。 - -#### Intree 流程 - -1. - 第三方厂商提 PR(Pull Request) 将驱动合入到 Anolis Cloud kernel 中, 具体操作请点击 [内核开发者指南](https://openanolis.cn/sig/Cloud-Kernel/doc/657676881630727957) 。 - - - -#### Out-of-tree 流程 - -社区 maintainer 会创建 source tree 仓库和 rpm tree 仓库,将仓库信息同步至 bugzilla 中。 - -1. 第三方厂商将 [kABI](https://openanolis.cn/sig/Cloud-Kernel/doc/772144270149378762) 的新增变更更新到 bugzilla,具体请参考 [kABI 社区共建流程](https://openanolis.cn/sig/Cloud-Kernel/doc/772057630693499436) 。 -2. 第三方厂商提交 PR(Pull Request) 将源码 + spec 文件合入到 source tree 仓库,具体操作请点击 [OOT驱动开发者指南](https://openanolis.cn/sig/Cloud-Kernel/doc/660356858711892913?preview=null) 。 - - - -4、兼容性 SIG 负责人更新龙蜥社区硬件兼容性列表。 - -5、根据上述指南完成提交后,第三方厂商更新信息关闭 bugzilla 。 +6、根据上述指南完成提交后,第三方厂商更新信息关闭 bugzilla 。 -- Gitee From 1a1706c0ae10eef9c3b63e46d637502c47b080fc Mon Sep 17 00:00:00 2001 From: Guixin Liu Date: Thu, 9 Mar 2023 14:30:32 +0800 Subject: [PATCH 2/2] Kernel-Sig: Add a flow chart Add a flow chart to third-party drivers introduce process. Signed-off-by: Guixin Liu --- ...245\346\265\201\347\250\213\345\233\276.png" | Bin 0 -> 75812 bytes ...275\225\350\277\233\345\205\245Anolis OS.md" | 12 ++++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 "sig/Cloud_Kernel_Sig/assets/\345\206\205\346\240\270\351\251\261\345\212\250/\347\254\254\344\270\211\346\226\271\351\251\261\345\212\250\345\246\202\344\275\225\350\277\233\345\205\245Anolis OS/\347\254\254\344\270\211\346\226\271\351\251\261\345\212\250\345\220\210\345\205\245\346\265\201\347\250\213\345\233\276.png" diff --git "a/sig/Cloud_Kernel_Sig/assets/\345\206\205\346\240\270\351\251\261\345\212\250/\347\254\254\344\270\211\346\226\271\351\251\261\345\212\250\345\246\202\344\275\225\350\277\233\345\205\245Anolis OS/\347\254\254\344\270\211\346\226\271\351\251\261\345\212\250\345\220\210\345\205\245\346\265\201\347\250\213\345\233\276.png" "b/sig/Cloud_Kernel_Sig/assets/\345\206\205\346\240\270\351\251\261\345\212\250/\347\254\254\344\270\211\346\226\271\351\251\261\345\212\250\345\246\202\344\275\225\350\277\233\345\205\245Anolis OS/\347\254\254\344\270\211\346\226\271\351\251\261\345\212\250\345\220\210\345\205\245\346\265\201\347\250\213\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..8d7cb9f36b7d930e474e3ea3e5cb916c940a87d6 GIT binary patch literal 75812 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�sOa#k)b9MoJ?*)O8Ns8Mg|uBt1o2t^C1cmo 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

Ks@(NfTT@3n{PD}k6c_z-q^#rmF^{-Y z6eu12j!sl@tO+~KQ4Ob|dSS3ap^3(51d!-;pW$y$=L+!`rS{XZ<nxv?L z`IS)vV`977K#o&oz}Ye<5jkBQ{Gr_@80-g{480zEu~Gv?ck<}H&%kDgV;kz)CfeL& zZ4s@Pg-&Kv|IwGv)-mri_)#n7bWK%fJqzKb1=W*cnLI>ih zRt0*wYZ7J^vvDj7;%oHnO%v5R=DJ8&0$cxRi)#&pM^TF!JryE?vLu~a)pMKO{L?zyMEp1%UWxBO` zd{MkbYQ5rG?(;0I`neqyL1M9qI|jxxl^q`;+)jGoa_8?KI~!sxO+RF8uU=F_dEK45 zj=N<$plgKb1F!@nC`G2e&Uf;hJuv6RyEY$eUa-{P?Or4qqnCR3L6L>dSE`d$b= zs|$verqzUJx<(Pab`S24Wd2+(5Xy2}XFig-uemF)Ls{vYD}V+hewycJ%4F_dI&pBw zhhP;(ZN`;H%aCdwpHkylkz+(jJ2RnNpHcI^k&WkC=oLM<*Sr>s-yLJ} z%biot9zSo{AL-ctk>aYtMsR$uWN-aOS?58xvEa?Hdx=*D_|GQ$8=sAFUG(#@qLZ(2327GhRxpg=YFYnRu|)Wk6=&F3m^D-%;E#ow6`c zZh?6#b=okY_de&U?%vXMH0fqVB2Cl35PX8Fkdo5Z_H?6|VwYPAOIg28Efw4<$ljlz zzZUF$zf*RgCN=P_Mp2Vtb;OW=&HNJ)^b;yXvASQs^gV#)Un`c$dF{8U0yU!PL|p1C zrFk23+(3rzgM$fq`FRT78P_?h*jcS~9!QaBrc**){SCoeSW+H=suXHHX^P8q#XQ6$ zQ;UAKe4N7ML%Cl8&nt|p&<0=qWRY(1Y;|%9A*@zOI%Iwm5}ZEQ7euxX=58$M*6}n6 zaTVV33vka-cd{rY$~e~6%S$TKk|#ToH;g5qHt134*7{PdpudZ>%=GEXn3k`mu%G1n14d*+v~R9K!%j?$XVQZS7`iJyUlE{_|hQ(v18 zE?SaJD#mjNz24;mJdv!pGOD!Ij2D}e{v3aOGuQ8EQL`5JB|l41#Z(RHvhnYfYK8h5 zr&DcjE5SEyT0BQ#Bknyja@~=R^QCDzWR&ql-JQKAE{VHm^BCtJLMW8h323z`S{e{5 z#5sE$T{2x(#bnsi1^0;=c?+8i#Pu+9rW&{3L{)TlFOhm3eTG@cS0TcebX#c?kL6|@ z5=jzb$TFQ+bydk^A--(iStFF6S;{c*z=<6jEww~_SM)rgwA_M4xkLJLw6lB8(59go<4?VloRc6LvGM7mKB3QPnJOFfJR5 zu)PL8f3foyMSm~W(-gSU>;Mr%VOH)p#-{)okZkxdmyWt__Ebo4UYDJ*u&G>ANG(tz z#CGYJ-|!OVh(7E3~Ur{zP83Ce)0M&kFK!pt3rRd4hKRgdqF+I-J<6!4=9 zAM%R`U)mu9(`SFSL7E2~0^S3f^PzZq zHiTjmLU4G?nyXp3%kNK=1WgK{0uF$xPlgVEJ4tqiHY!Lr4B%kRf9O4E{(e1-ndf_S zBQz$ugalQffNS-la-{~=8&N3xF|Jzebog6#8oZ~qmxPtov3F5W`|JpukmX=dzCxU^lXv?S94*n`!+pQ&Ia1hp}%N#f6!6yLT zZH$Q8dmydgMpEV#m&e}&KFU2t2v-USxEl8pgX)dEOcwmMt3Rifp~u(=G&yyLQf{9w z8IhwsNN{;71BkJKw6jQ^%U4%8%lK)so7I zHMeU`;fJ#)TXML1R*noTsfPvH^INw8&}F)4KU;YKRJ&)VfkAbkSEa#<3F!>djNlt)6gJ)#&`&7VT|@s&_il@Tuc*SfH36I(*t-Gy zVV}v`4+Glg=xMm+O^(U~?m=4;enNx!wk2e-Zoq_{EmUim`x;_Rs{Fam&4}jL0Xta? z?-L2BWF9iyluTmEfJ(r|$1#Lbya0L@f}eqt=j^Ko!Y~j81CbCu3(NwKI;$rsk7DBa zeix3wm$`O|kWJqW3BJp`E!L3EJ_v7EPBZy1{DcMq785di3kmBE7-u2ev&h7Vev$(7 zz5DUfAH<~%4=Bo5s)C3H4eH{>mark81K@KifcO9?VE_aDUMzxi#U8-GrlwZhKa=L< zeUOrmgYT+pai#zwWgH$h@V3A*pjys>K#%X>x&u#z0aQzJZ{y@nfFJxPo-BJ8AY0zS zxS3eB_oo<`PJ={uvc;ZVoIprNki$+iq7H;)3~N4jli2}&A{%YeFWxv3Vnq@Z+GF#r zVB?hW0Bugei7LzO><8NH14l9$`YfFU)r-Lc-enlsi@X&m&>=d07`A^1UKPaK1AtNn zrYtz_WluWz!A`;8ZAZ&pDzD8L)q+!20EE6fgaI)B>+`EBB+|H&0rSAvD==&84~NUJ zfYT^QdpjXu9biT!qKDj?q%vp?Gryq^sw;x>zJ>lE^;h-Co{5k?17gHz<45`+&BF3% zpvY#tuzt;TtlTBx9rUYHM&f=Mv{y)A%^$FjeAYd!wYhFfQJOoJoH+v zf>7l)>v;&iR{}y{VjSvTD}hl|VdcmOAujCB3~1B~*4c9t6$Za?pY5WP`6(5E9Xdkc ze*sSc+(vREg!^Gp?(jul_~QGU9AWzy$kl9;oe1KNc+t3QVPCC~Z}=Ax*e60D#y-(o zYVh>!Y@a$xX~q;(yp`;+pyMDmBhXWFbNWXGkoO64fH|?0-dZ*VgyIaSQc&!%1IR;| zgyDUXDD$p3Y$-b;ktmpxSG`0K`Rv9tf(%OC|M$>9P8*@ZJv(4pMzVY-f*-R403%fp zyY2AH(;#%@9JpTnMjBpA9;S}cLhHKZ8>W011LS3Y3;WJn@sJt3AlEhU=7UHU0EnI! zqFW!Z!KQ0e1HEtAN3JJu}?T2|UNF@e;ru-0%f zyFx@i&(FCM*7~m(stn-e!_b|0H~I}EL(L(N1i4G6blA(cu>Tt{MRC;rQjmb*IS|Ix zJ_zlYs89TNCQ{aHb!togAn~fsul~_Vw)uK%GSrxA%hbt6&$ri{&273daNaRoDmvQ1t6}Fc@LH z-rh-T1j+|@=;DVUj{$6~zrkV$0IGPvu}~72nGW+A`YcU^aaYb2*7g8AgRcyCjhnp4 zW7ZH8s?7Vyeo6cy4Bu)WX z>}M-0p@FS~-8U0+@{x+h#2v++Vx)Z48hX8)k!j{YKZ(Sfb*=$f)NuQOv{d1jKlqs* z!71psQ@%@In6d62koz+$GKF0}SE?1fj4{_DU52 zz&_Zo{kxt|yA$`tKebrx9|nmE9xKazHo6zQfDxOmHB%MvRD7{p5JF+GUxMB@Wonx< z1{AI7SHXY0uqFtlus;NV+`xI+UJ1nS^_!4iE4(&t<@;{n__Z$+_)mwMb}+fruvmSF z*~^p51;?;=ZV5LM$g&VlLbf!51&BR9D~Y_KZa^k95<3YDEti4Dq;h;?`iKtzF->(= zAOu{7z)2w;b|OW=QMY&#Nw@E*r7eTsV74$?@ylZw`i!y&zJ(5QZ|b4Lo2mCvXH^^U zi;xoxf&Qp`ia*6vi?p8u2dVj4Q~NW^DuSj^ocE-jq!X zl`bjQb*PP~v)_8cPOO_AiqrIy>~Ak72Cj*(3gwUbSB8X$zzG-hoK2cf58KY&3I1q` zrgLGoAoHT1bp<7Iua8-eJHr0A{?)g^GS9ZV!a<*XumSY`H`hIBw(QDa?!-BdB&}^( z!Vzdke{6)$%`~uC)Fc(#+`#+g(iKARFe<=<7WQhX3b2XhP_!{mvRO|CQk(jYQj}u> z?z>*r4yovswV?)K4sBy;lj4q@oYo1wYTzJ--MQXpd9SGH$xE)SKDhLgADMm3%S839 z6(`0I%mvrgHvnVb{?i9kTKvWXe^awNJ3JazTIE75hN0!e01_Io{hqicrPLzzI!E0K zRQ=7zD%G=@4Jl+91r9io4J+pIo)f>iZ1E$&pI`Z|61a1ofk&z;Frfsd)~#12m&X7^ zkshn$Mx)lPOx||y&prPSH26HU<|rw&swH+DxM-%wNq75uH5%ROl3 zox^=OA0@woDZ+M23^{ON?HqHmX@KRy&!2V~3B~O>!S84@@Mfo!S<6S=bl~@H1yqs) zrX9K(qO-@>K8kD!aM((j6ze{Tu>YMN# zWYd68cR4ozr`MTV#7f%%(i#|!?o~xj9M_@uYgj`a2w6RlK6?z8iT6g$0Z*iB$8ZGm z^PPt-2t*MoAe_MB^%T}mX%B#FHuTPX=r(q#S+|x|NAG#V;%TM?mlj|MTZmQpidLo< z+756q?YiLE#N{<{t4fm=?$$r^LUdbSNlc#~=kc8^U1WR~?8{UvPZSkzB$DJewKaKL zZaRy;MsyTX@t(anzVhP8PY+)JgqU)??ZADJ@;c+V4R;&=;D(G(FD16X0kEo`D(n4` z)(^Mloz)b(MJ%IiDUDpLnt#D(lhFq}eCG|jrup*ivrqGhiBhPKR0I7^pL7S|W&bcb z7&h(U4g$M*66r%9-7xD$V7dZ$rk4Q~iP`Hv};f7=O#M_x2Ogm8b){3E{ z$`)5e+5nq>wkKV$7}Ec*A+PS7eEjUMnpuKhNvL2@8Q%iFg7){cBx%Sw)Eziy9YMIUGrj}#vn%epuU4(6l<9T%wH z!S&Pv=>82K@!Wbo?+|HBc62rqm!y2?KT#^AnSJNday~PxaMBmJycUXeAGrGB*2$$c z=s{QOiFpVq^rJykF}9zuJh`gmC))=DG?i#u@Yq}m*J(gu)c56j%B~AHx=|5JnE-||)QkvSf&zg&foF+x!;oPqKzt&Vi)IxZ z1xcBNH~3uW+YrcV0?V<$n2Op6PQg|ES$(HzShGo$^gb16_lhDd$z557S~^#-jVf5M zSJ7zxQ&{&<@2&@jo67Ztu4VE5#@JyT0O=Ep6jb;?i`-{NAsdsOe6Ou9WWVDcAPwh_ zlCDVR&)-^ksm4Txs^#N2HJUYr)cZgoBN?MRg-&Lg1z6GhoVTwlyxIph<_{%=%VWTqIiaYK-+Ezc z9%4WI5O%YWQD2S(*S$~Fj3D~`P1+wNfh%(4Jky1aNu5R=+n!{c^mXsT*T0gL)J!}1 z^OGBc0jAV6=Upf9D)nlf1RM-8UY~mk1cv!zbMFTx=i1mC6m=n}x@{73ggUJ)diw!= z^Q@#}+@wosnuRR-E=`OTNH0=>wyd4o2Z0mSWKU5kmATx&8%2Viic+ZRdiJ!^pq17 zjFbVs=F&tnro|B6kk-KuBCMp#%mW`Q^Wj1&_u{OLIJX@nT;`w>x^KX_K!%Vl6bs?e;Y89}V3CmC-_ z|Dui{_kJyO+o@bnS$_R#lPY~$C(6~6YW-O{g?4@g9_q(hN_d7s7v|^af&4hi%HXBV zj#1bp^U%DDd)6S5Tg1AgX!(3#(TX(tUM@HG8_=3)J)46xonBEaGLq>)3#M3T>vcM> zJ}OW8M3Q$YX-->&KvDLQ=IXA&$&7>DVAl_Xr!;2i#KZA%{JXi zcGW5BmgdVJwGPZhLf{W-3FZclUX&P$WQtmF5LQDvMMU|&e)0nTHh-JXNErk|KArSe zS~>fepkZjr^OOtgP@6+?F37xG_ZCA^9B(Mg(>+CR?(edsB z6GsQiB?`osg!C*@zaRKFlR1z3EGL%{vB>w^`=$_D@j1oqSECQaG~d5&Jg9IXxtw;B z`RZOvT>AL>``@8)iLyxJEj{LxNw*F&T7;?NHtL%jE{DuHn~hx5ml<-8F6jG>>(sF% z2p`!vy9>^zr;{;NT#y8!s!0m1l!2XcYv}h{!%h~%2t}{v0M-_ZJRLCJD!>$AF(=fm znbw5tvREcenv9qX)YA6gjqQQ> zE$4WoLz*jQLMUJ2s81MP5bVKDbV?yM{x$>m*&cTE^Rtjkvi`HkMV5ru?Yv|OCsdz> zL^`s4xOxe#iEYFQAaOOU69fSsFynvoOxU#_LyD+8IbU?9z2C=k6O4iF;+14P8#swF z`z~;CLa4Ty|YoeGH*|IC1z6o)m)1^Y$f`C$!`iNh>R;$n?0rQx2(lu)9O z)w+X(V|f%o4PA`s{*Z9{1g_~bSi{FDgKs=h8nA|&m@!~62mdyS=TKw>gy}AX{f#Bt zLy$D)7{fJgSVbx`Pt<)_!?TTmV+}Q!pa!B$HE?Yhx@B26TOU<|D8=pno~a5!L7W|8 z*0Yyv<)u%exYRa0RVG51-5}^Pb4AEt-vpWrS6g?i>e?lLNXN{-^?K#~T&n9|p)wxD ze@|4!j9{KdLILQ1PgDgmd>3GP1bXtrNOtKR`X7m^c5nVy*a<8dLQ}6Htmp=0+gE#! zBh_abNZ@lD`Y8UNi7FLaP6<4A@Bc_tapnBLFg=2E#82pG*SVblNC@bK7!_$P5c16j zI*&agLn`~<6IHPmQRWcA6D0P447Bi542n)&#mBs+&7cF;o-!^kY`hE;(!&lZjYevE zpy#@FlGk-+G75ujNp4J^yqAV_Pj^NrX~Ds327+e2lk_yZ=dRr7aC=H#{t5I>35|&@ z@Gh@P;T!ic0hv}Tyw2TVt6oA%wSiCC0{-7q%43Y3kYgOkj}NTJh)xCaP8~_INlsu3ZyG!u*X;D&`GD#@1UU4)d4(Xc4Ddh k`4ENB9BFi7NaGgskD5otmr`2sQe8n&VT0h$^KfB*mh literal 0 HcmV?d00001 diff --git "a/sig/Cloud_Kernel_Sig/content/\347\244\276\345\214\272\347\240\224\345\217\221\351\241\271\347\233\256/\345\206\205\346\240\270\351\251\261\345\212\250/\347\254\254\344\270\211\346\226\271\351\251\261\345\212\250\345\246\202\344\275\225\350\277\233\345\205\245Anolis OS.md" "b/sig/Cloud_Kernel_Sig/content/\347\244\276\345\214\272\347\240\224\345\217\221\351\241\271\347\233\256/\345\206\205\346\240\270\351\251\261\345\212\250/\347\254\254\344\270\211\346\226\271\351\251\261\345\212\250\345\246\202\344\275\225\350\277\233\345\205\245Anolis OS.md" index 6a488469c..5a9e13db3 100644 --- "a/sig/Cloud_Kernel_Sig/content/\347\244\276\345\214\272\347\240\224\345\217\221\351\241\271\347\233\256/\345\206\205\346\240\270\351\251\261\345\212\250/\347\254\254\344\270\211\346\226\271\351\251\261\345\212\250\345\246\202\344\275\225\350\277\233\345\205\245Anolis OS.md" +++ "b/sig/Cloud_Kernel_Sig/content/\347\244\276\345\214\272\347\240\224\345\217\221\351\241\271\347\233\256/\345\206\205\346\240\270\351\251\261\345\212\250/\347\254\254\344\270\211\346\226\271\351\251\261\345\212\250\345\246\202\344\275\225\350\277\233\345\205\245Anolis OS.md" @@ -1,7 +1,9 @@ ### 第三方驱动集成形式(Intree 或 Out-of-tree) +第三方驱动分为两种集成形式: -第三方驱动分为两种集成形式:第一种是集成到 [Cloud Kernel ](https://gitee.com/anolis/cloud-kernel)里面,与内核版本同步迭代,称为 intree ;第二种是采用单独的仓库管理,可以在大版本的基础上快速迭代小版本,称为 out-of-tree(OOT) 。 +- 第一种是集成到 [Cloud Kernel ](https://gitee.com/anolis/cloud-kernel)里面,与内核版本同步迭代,称为 intree ; +- 第二种是采用单独的仓库管理,可以在大版本的基础上快速迭代小版本,称为 out-of-tree(OOT) 。 两种集成形式的判定原则为: @@ -28,9 +30,15 @@ | 合入流程 | 详细步骤 | | ------------------------------------------------------------ | ------------------------------------------------------------ | | **Intree** | 1.第三方厂商提 PR(Pull Request) 将驱动合入到 Anolis Cloud kernel 中, 具体操作请点击 [内核开发者指南](https://openanolis.cn/sig/Cloud-Kernel/doc/657676881630727957) 。 | -| **Out-of-tree** | 社区 maintainer 会创建 source tree 仓库和 rpm tree 仓库,将仓库信息同步至 bugzilla 中。
1. 第三方厂商将 [kABI](https://openanolis.cn/sig/Cloud-Kernel/doc/772144270149378762) 的新增变更更新到 bugzilla,具体请参考 [kABI 社区共建流程](https://openanolis.cn/sig/Cloud-Kernel/doc/772057630693499436) 。
2. 第三方厂商提交 PR(Pull Request) 将源码 + spec 文件合入到 source tree 仓库,具体操作请点击 [OOT驱动开发者指南](https://openanolis.cn/sig/Cloud-Kernel/doc/660356858711892913?preview=null) 。 | +| **Out-of-tree** | 社区负责人会创建 source tree 仓库和 rpm tree 仓库,并将仓库信息同步至 bugzilla 。
1. 第三方厂商将 [kABI](https://openanolis.cn/sig/Cloud-Kernel/doc/772144270149378762) 的新增变更更新到 bugzilla,具体请参考 [kABI 社区共建流程](https://openanolis.cn/sig/Cloud-Kernel/doc/772057630693499436) 。
2. 第三方厂商提交 PR(Pull Request) 将源码 + spec 文件合入到 source tree 仓库,具体操作请点击 [OOT驱动开发者指南](https://openanolis.cn/sig/Cloud-Kernel/doc/660356858711892913?preview=null) 。 | 5、兼容性 SIG 负责人更新龙蜥社区硬件兼容性列表。 6、根据上述指南完成提交后,第三方厂商更新信息关闭 bugzilla 。 + + +流程图如下: + +![第三方驱动合入流程图](../../../assets/内核驱动/第三方驱动如何进入Anolis OS/第三方驱动合入流程图.png) + -- Gitee