龍蜥開發者說:歷時三週,記錄如何從 0 到 1 構建龍蜥衍生版 | 第 18 期
「龍蜥開發者說」第 18 期來了!開發者與開源社群相輔相成,相互成就,這些個人在龍蜥社群的使用心得、實踐總結和技術成長經歷都是寶貴的,我們希望在這裡讓更多人看見技術的力量。本期故事,我們邀請了龍蜥社群開發者王楷元來分享「歷時三週,記錄如何從 0 到 1 構建龍蜥衍生版」。
歡迎閱讀上期故事《 給晶片以系統、給系統以社群》。開發者說系長期活動,對於積極投稿、多次分享的童鞋,我們還有神秘大禮鼓勵!誠邀開發者們分享真實體驗,以文會友、共同學習、一起進步。
本期故事主角:王楷元 龍蜥社群 Distro SIG 成員,一直從事於浪潮資訊 KOS 作業系統開發工作,參與龍蜥社群期間,基於 Anolis OS 8.6 構建衍生版 KOS 5.8,也積極參與 BUG 反饋,問題修復,提交多個 PR。
自參加工作開始,我就一頭扎進了 Linux 作業系統這片大海,彼時對作業系統的認識和理解都很模糊,只是在上學期間接觸過 CentOS,對核心更是知之甚少。但我也很幸運,正趕上所在的 KOS 團隊迅速發展,在參與構建過程中,學習了 koji、MBS、pungi 等作業系統構建的開源元件,慢慢認識了作業系統是如何從一行行程式碼到最終執行於硬體裝置之上。
正值國內開源社群發展熱潮,很多社群也曾發展的如火如荼,然而大多都是虎頭蛇尾。在對國內興起的幾個知名社群瞭解過程中,我們被龍蜥社群的理念與氛圍吸引,基於良好的商業合作,開始與社群夥伴交流,也基於我們的商業需求,最終決定基於 Anolis OS 構建商業衍生版。
一切都是新的開始,從原始碼下載、倉庫搭建到編譯構建系統部署, 歷時三週,基於Anolis OS 8.6 的衍生版 KOS 5.8 第一版測試映象誕生了!
(圖 KOS 構建過程 / 已獲作者授權)
在製作第一個龍蜥衍生版的過程中,我印象最深的就是在生成 ISO 映象後,發現 Arm 版映象在 GUI 介面安裝存在問題。於是,我們開始排查問題,透過報錯排查軟體包,懷疑與 GTK 相關軟體有關,可能是編譯環境或構建過程中依賴存在問題導致的,但是經過分析後排除了構建問題。然後我們將關注轉向原始碼,在將 KOS 與 Anolis OS 映象進行全面對比分析後,發現 zlib 軟體包存在差異,透過對原始碼分析,發現可能是社群在對新架構支援時的修改導致的,同時發現 a8 分支也不是最新的程式碼。於是我們將該問題反饋社群,在得到社群小夥伴的支援同步更新 zlib 程式碼後,問題得到了解決。
(圖 KOS 首頁介面 / 已獲作者授權)
KOS 作為一款伺服器作業系統,希望充分利用浪潮資訊整機廠商的硬體優勢,在作業系統層面相容更多硬體板卡。在相容適配中,我發現對於 Anolis OS 雙核心來說,映象中每個驅動需要分別適配 ANCK,驅動如何自動匹配核心進行安裝存在問題。因此我們跟社群小夥伴溝通,能不能有合理便捷的方案支援廠商 OOT 驅動隨核心自動安裝,社群對該情況很感興趣,大家很快透過組會開展交流,確定開發計劃和方案。
後續經社群反饋後,我們將該功能整合到 KOS 版本中,並經過實踐測試驗證,在使用中也對有待最佳化之處反饋社群,在與社群不斷的交流中,我對開源貢獻的理解也更加深刻。在測試過程中,我們也將發現的問題提交至社群 BUG 管理平臺(),並開始嘗試向社群提交修復補丁,因為以前沒有向開源社群提交 PR 的經歷,過程中產生了一些困惑,但都得到了社群小夥伴及時熱情的答疑,特別感謝他們的支援。隨著一個個 PR 合入主線,我每每都有切實參與到龍蜥社群工作中的沉浸感和自豪感。
當然我們也在龍蜥社群發現很多有意思的專案,如 T-One 測試平臺,對於我們提升測試質量和效率有很大幫助,在引入 T-One 平臺後,我們也將過程中的問題反饋給社群,得到了社群小夥伴及時有效的回答。
從開始參與龍蜥社群,包括髮布衍生版、BUG 反饋、PR 提交、技術交流等等,這些與龍蜥社群互動的點滴,如一個個路碑,見證著我們在參與開源社群道路上的成長。每一個 PR 的合入都得到社群的肯定和鼓勵,讓我們更加有信心和動力繼續參與龍蜥社群的建設,也希望各個開發者在社群工作的過程中不斷提升自身實力,透過溝通相互學習,在收穫自身成長的同時,也為社群貢獻更多力量,衷心希望龍蜥社群能繼續秉持開源開放的理念,持續吸引更多開發者的加入。
相關連結地址可移步龍蜥公眾號(OpenAnolis龍蜥)2023年4月4日相同推送檢視。
—— 完 ——
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2944204/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 龍蜥開發者說:從入坑到入門 | 第 2 期
- 龍蜥開發者說:首次觸電,原來你是這樣的龍蜥社群? | 第 8 期
- 龍蜥開發者說:不忘初心,方得始終 | 第 7 期
- 龍蜥開發者說:我眼裡的龍蜥社群:一個包容的大家庭 | 第 10 期
- 「龍蜥開發者說」徵稿啦!
- 龍蜥開發者說:海納百川,有容乃大,我在龍蜥社群的升級之旅 | 第 11 期
- 龍蜥開發者說:為愛發電!當一個龍蜥社群打包 Contributor 是怎樣的體驗?| 第16期
- 龍蜥開發者說:一人行快,眾人行遠!在龍蜥社群的日子,我想說這些 | 第 12 期
- 龍蜥開發者說:從零開始的創造,是動力也是挑戰 | 第5期
- 龍蜥開發者說:聊一聊我技術生涯的“三次迭代” | 第 3 期
- 龍蜥開發者說:給晶片以系統、給系統以社群 | 第 17 期晶片
- Inspur KOS 龍蜥衍生版面向智慧新媒體轉型的探索與實踐 | 龍蜥案例
- InfoQ專訪龍蜥社群陳緒:從CentOS 停服說起,龍蜥作業系統的開源觀CentOS作業系統
- 龍蜥開發者說:眾人拾柴火焰高!聊一聊我在社群的所思所想 | 第 14期
- 龍蜥開發者說:6 年前開啟的開源“潘多拉盲盒”,如今都解了哪些未知數 | 第 15 期
- 龍蜥開發者說:開源是場馬拉松!來自廣州大學姚同學的開源成長記 | 第 13 期
- 龍蜥開發者說:學無止境的 Linux ,以及我的第一個定製版本釋出之路 | 第4期Linux
- 手把手教學直播:如何提交 PR 成為龍蜥社群貢獻者? | 第 23 期
- 雙龍賀歲,龍蜥 LoongArch GA 版正式釋出
- 龍蜥開發者說來了,來看看社群一週動態還有什麼? | 3.07-3.11
- 龍蜥社群一週動態 | 3.14-3.18
- 龍蜥社群一週動態 | 1.10-1.14
- 龍蜥開源Plugsched:首次實現 Linux kernel 排程器熱升級 | 龍蜥技術Linux
- 龍蜥LoongArch架構研發全揭秘,龍芯開闢龍騰計劃技術合作新正規化架構
- 龍蜥社群&龍蜥開發者獲CSDN2021年度技術影響力「年度開源專案」獎和「年度社群之星」
- 鑑釋加入龍蜥社群,助力開源生態建設
- 聊一聊龍蜥硬體相容性 SIG 那些事兒 | 龍蜥 SIG
- 萬里資料庫加入龍蜥社群,打造基於“龍蜥+GreatSQL”的開源技術底座資料庫SQL
- 龍蜥開源核心追蹤利器 Surftrace:協議包解析效率提升 10 倍! | 龍蜥技術協議
- 中電科技加入龍蜥社群,助力開源生態建設
- 榮譽 +1,龍蜥社群榮登 CSDN 2022 中國開發者影響力年度榜單
- 龍蜥社群高效能儲存技術 SIG 11 月運營回顧 | 龍蜥 SIG
- 龍蜥社群&龍蜥理事長分獲 2023 開源創新榜“優秀開源社群、優秀開源人物”獎項
- 龍蜥利器:系統運維工具 SysAK的雲上應用效能診斷 | 龍蜥技術運維
- 喜報!龍蜥作業系統&龍蜥社群雙雙榮登2021“科創中國”開源創新榜!作業系統
- 龍蜥副理事長張東:潮蜥共引,繁榮系統軟體生態 | 2023龍蜥作業系統大會作業系統
- 科技愛好者週刊(第 287 期):祿豐恐龍谷記行
- 4 月15-18 日,龍蜥社群與你相約北美開源峰會