首頁 >運維 >linux運維 >linux內核移植是什麼意思

linux內核移植是什麼意思

青灯夜游
青灯夜游原創
2023-02-23 10:29:353261瀏覽

在linux中,核心移植是指將程式碼從一種硬體平台轉移到另一種硬體平台上運行;移植是根據使用者自己選擇的硬體平台來重新編譯核心支援對應的硬件,使之可以在該硬體平台上運行,如果缺少相應的硬體驅動程式或其他核心模組,可以自行進行相應的開發加入到核心中一起編譯最終實現對硬體的支援。

linux內核移植是什麼意思

本教學操作環境:linux7.3系統、Dell G3電腦。

linux核心移植是什麼

所謂移植就是把程式碼從一個運行環境轉移到另一個運行環境。對於核心移植來說,主要是從一種硬體平台轉移到另一種硬體平台上運行。

核心移植就是根據你自己選擇的硬體平台來重新編譯核心支援對應的硬件,使之可以在該硬體平台上運行,如果缺少相應的硬體驅動程式或其他核心模組,可以自己進行相應的開發加入到核心中一起編譯最終實現對硬體的支援。

核心的來由

linux是一種開源的電腦作業系統核心。主要是C語言寫成的,既然是開源,那參與開發和維護的人這肯定很多,Linux發展這麼快也是因為其開源的緣故,用的人多,發現的問題多,覺得不好用就被某個大神優化了。 Linux核心的主要模組(或元件)分成以下幾個部分:儲存管理、CPU和行程管理、檔案系統、裝置管理和驅動、網路通信,以及系統的初始化(引導)、系統呼叫等。

Linux最早是由芬蘭人Linus Torvalds設計的。當時由於UNⅨ的商業化,Andrew Tannebaum教授開發了Minix作業系統以便於不受AT&T授權協議的約束,為教學科研提供一個作業系統。當時發佈在Internet上,免費給全世界的學生使用。話不多說,我們直接進入主題。

如何進行核心移植

1、版本與下載

linux從1991年開始到發展到現在,版本變成什麼樣子了?相信大家也都想知道,那麼在哪裡看以及在哪裡下載呢?小編為大家準備了核心的下載網址:kernel.org/,直接點選進去就可以看到了,介面如下:

linux內核移植是什麼意思

現在穩定版已經到了5.16.12版本了,大家可以把穩定版下載下來,但不建議下載最新的,因為不穩定,帶來的體驗一定不好。版本之間差異不是很大,可能新版本加入了一些新平台或是新的外部驅動罷了。

2、核心的移植

在編譯原始碼之前先安裝lzop函式庫,否則編譯失敗:

sudo apt-get install lzop

把下載下來的核心原始碼及進行解壓縮,指令如下:

tar jxvf linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2

得出以下檔案:

linux內核移植是什麼意思

#建立shell腳本,並輸入如下編譯指令:

linux內核移植是什麼意思

给予脚本权限,直至脚本变绿,如下:

linux內核移植是什麼意思

./mx6ull_nand.sh编译程序,出现图形界面可以先不去配置,直接exit退出,继续等待编译完成(内核编译需要的时间较长,建议大家准备好瓜子)。编译完成以后就会在 arch/arm/boot 这个目录下生成一个叫做 zImage 的文件,zImage 就是我们要用的 Linux 镜像文件。另外也会在 arch/arm/boot/dts 下生成很多.dtb 文件,这些.dtb 就是设备树文件。后面做驱动开发的时候会经常跟这些.dts文件打交道的,编译之后的文件如下:

linux內核移植是什麼意思

3、内核的使用

先设置交叉编译工具变量,进入顶层Makefile中设置如下:

linux內核移植是什麼意思

使用如下命令编译Linux:

make xxx_defconfig //使用默认配置文件配置 Linux
make menuconfig //启动图形化配置界面
make -j2         //编译 Linux

至此,Linux内核部分就给大家分享到这里了,动手操作起来吧。

相关推荐:《Linux视频教程

以上是linux內核移植是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn