2025年6月23日 星期一

Linux 之編譯核心 + 多重開機 (重頭戲來嚕)

我的部落格其實是速成班,台灣 Linux 第一把交椅應該是鳥哥,想把 Linux 學好還是要拜師真正的高手,我只是出怪招而已。閒話休提因為我虛擬機灌的是 Ubuntu 官方的 ISO 檔,Ubuntu 有自己加上一些補丁,如果直接去 Linux 官網下載通用核心沒有這些補丁會編譯不過,所以請先鍵下這兩個指令『git config --global http.sslVerify 'false'git clone https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy (jammy 是系列代號)』。再來我們要 Copy 原本的設定檔,這也是很直覺的因為亂改設定檔有可能開不了機『cp /boot/config-$(uname -r) .config』,接下來請更動 .config 的一些設定『CONFIG_DEBUG_INFO_BTF=nLOCALVERSION="clouddai"CONFIG_MODULE_SIG_KEY=""CONFIG_SYSTEM_TRUSTED_KEYS=""CONFIG_SYSTEM_REVOCATON_KEYS=""CONFIG_MODULE_SIG=nCONFIG_MODULE_SIG_ALL=n』。然後就可以開始 build kernel,請依序鍵下如下指令『make -j$(nproc)make modules_installmake install』。這樣我們的新 Kernel 就安裝完成,接下來要去設定 grub 多重開機系統,請編輯此文件『/etc/default/grub/grub.cfg』,在此文件加上『GRUB_DISABLE_OS_PROBER=false』,最後在終端機執行『update-grub』,然後請看圖:(不知為何會變成 5.15.167)






雖然我是拿 Ubuntu 客製化的 Kernel 開機 (因為需要補丁),而且是看阿共的資料不是原文,但我終也完成了這項不太容易的任務。雖然我現在弱得跟賽一樣,但我仍希望和 PEGA 嵌入式系統部門的長官和同僚們一起努力不放棄,做出台灣自己的 SDK。其實 PEGA 不用自己做處理器因為 Ubuntu 也是拿通用 Linux Kernel 做出可以在模擬 AMD 處理器開機的 ISO 檔,只要了解 Kernel 的 Setting 再自己做一些補丁 PEGA 也能和 Ubuntu 一樣做出可以開機的客製化 Kernel,如此 SDK 就有望了。可以效法 Google 的制度,一天撥兩小時做可以在 ARM 上面開機的客製化 Kernel,大家不要覺得不可能,萊特兄弟發明飛機前那時代的人也覺得在天上飛不可能啊(第一步是研究 Makefile 和 Kconfig)

沒有留言:

張貼留言