您現在的位置是:首頁 > 攝影首頁攝影

基於x86和arm體系結構的linux核心編譯和升級

由 IT冷香小築 發表于 攝影2022-12-14
簡介原始碼目錄下也有自帶的配置檔案make s3c2410_defconfig,可以相容s3c24403、make uImage,uImage為uboot專門引導的核心檔案格式,前面有一些特定的頭資訊,時間一般20分鐘左右4、make modu

如何編譯linux核心

一、基於PC機x86體系結構的升級(ubuntu10。04為例)

1、解壓原始碼,進入目錄

2、生成。config檔案,從/boot目錄下拷貝當前系統的配置檔案(config-核心版本號),或者從原始碼目錄路徑arch/x86/configs/i386_defconfig生成配置檔案,使用命令make i386_defconfig,熟悉核心配置的話可以利用make menuconfig逐項配置

3、make -j4 bzImage,編譯核心,時間長短根據。config配置檔案情況而定

4、make modules,根據配置檔案編譯模組

5、make modules_install,安裝新模組檔案到/lib/modules目錄下

6、make install,安裝新核心、配置檔案到/boot目錄下

7、製作initrd檔案,ubuntu/Debine下使用mkinitramfs (版本號) -o /boot/initrd。img-版本號,fedora下使用mkinitrd工具

8、更新引導配置檔案:update-grub命令,或者直接編輯/boot/grub/grub。cfg檔案

9、reboot

基於x86和arm體系結構的linux核心編譯和升級

Linux

二、配置、編譯基於ARM體系結構的核心

1、修改原始碼頂層目錄下的Makefile,ARCH=arm,CROSS_COMPILE=arm-linux-,儲存退出

2、make menuconfig裁剪核心,把不需要支援的驅動、檔案系統和其他功能去掉,不讓它編譯進核心,最好控制在2M以內。原始碼目錄下也有自帶的配置檔案make s3c2410_defconfig,可以相容s3c2440

3、make uImage,uImage為uboot專門引導的核心檔案格式,前面有一些特定的頭資訊,時間一般20分鐘左右

4、make modules

5、利用busbox製作根檔案系統,也需要指定交叉編譯工具鏈

6、make modules_install,需指定安裝路徑為自己製作的根檔案系統目錄

7、利用uboot網路下載核心、根檔案系統到開發板中(方法有nfs、tftp、usb下載)

注:開發板可以利用nfs服務掛載宿主機上的檔案系統目錄來直接啟動,這樣有利於開發測試,需要修改uboot的啟動引數