99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

獲取Linux內(nèi)核源碼的方法

ElfBoard ? 2023-12-13 09:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

wKgaomV5DQ2AEkZrAAp0dLYemNI715.png(ELF1/ELF1S開發(fā)板及顯示屏)

Linux內(nèi)核是操作系統(tǒng)中最核心的部分,它負責(zé)管理計算機硬件資源,并提供對應(yīng)用程序和其他系統(tǒng)組件的訪問接口,控制著計算機的內(nèi)存、處理器、設(shè)備驅(qū)動程序和文件系統(tǒng)等關(guān)鍵功能,今天小編就給各位小伙伴介紹一下如何獲取Linux內(nèi)核源碼。

獲取Linux內(nèi)核源碼的渠道

Linux有一個龐大的開源社區(qū),每個人都可以向開源社區(qū)提交代碼。由于Linux內(nèi)核十分龐大所以每個模塊都有對應(yīng)的維護人員。維護人員的工作就是審核人們提交的代碼是否正確,如果沒有問題,就會合并到主分支上。這樣就會使Linux內(nèi)核不斷完善和更新。

接下來就是芯片原廠例如恩智浦,開發(fā)人員會不定期在Linux官網(wǎng)下載穩(wěn)定版本的內(nèi)核,將其適配到各個芯片上,芯片原廠也會對內(nèi)核進行維護形成自己的維護版本。

最后是板卡廠商,會到芯片原廠獲取已經(jīng)適配好的穩(wěn)定版本的內(nèi)核,在其基礎(chǔ)上進行各個外設(shè)接口的適配,然后給用戶提供移植好的板級開發(fā)包。板卡廠商也會對移植好的內(nèi)核版本進行維護,例如一些BUG修復(fù)或者物料替換。

獲取Linux內(nèi)核源碼的方法

一、獲取Linux官網(wǎng)源碼

地址:https://mirrors.edge.kernel.org/pub/Linux/kernel/

如果不是在芯片原廠工作一般不會到Linux官網(wǎng)下載源碼,但我們有必要了解這種獲取源碼的方法。因為Linux官網(wǎng)對一些bug或者驅(qū)動更新的比較及時,在遇到一些內(nèi)核問題時就可以到Linux官網(wǎng)的源碼中查一下是不是有相關(guān)的提交記錄。

wKgZomV5DTmAJRq7AAILuMrxRZo773.png

二、獲取芯片原廠的Linux源碼

每個芯片原廠都有自己的git倉庫,他們會把已經(jīng)開發(fā)完成的內(nèi)核源碼放到git倉庫中,供用戶查看和下載。下面以NXP的倉庫為例進行講解。

地址:https://github.com/nxp-imx/Linux-imx

(一)切換到對應(yīng)的版本,因為開發(fā)板是在Linux4.1.15上進行的適配,所以講解均以4.1.15版本內(nèi)核為例。

wKgZomV5DVSAWuN3AAHtWbL0wFI606.png

(二)可以選擇使用git克隆,也可以選擇下載ZIP壓縮包

wKgaomV5DWSAT8SwAAFHYFWHGpg155.png

三、獲取ELF1開發(fā)板源碼

ELF1的內(nèi)核源碼在資料包當(dāng)中的路徑如下:ELF1開發(fā)板資料包\02-Linux源代碼\02-0 出廠內(nèi)核和uboot源碼\內(nèi)核源碼\Linux-4.1.15-elf1.tar.bz2

下面以ELF1的內(nèi)核源碼為例,給大家介紹一下內(nèi)核源代碼的目錄結(jié)構(gòu)和文件說明。

內(nèi)核源代碼的目錄結(jié)構(gòu)和文件說明

:ELF1開發(fā)板資料包\02-Linux源代碼\02-0 出廠內(nèi)核和uboot源碼\內(nèi)核源碼\Linux-4.1.15-elf1.tar.bz2

內(nèi)核源碼壓縮包復(fù)制到ubuntu系統(tǒng)的/home/elf/work/目錄下,解壓縮:

elf@ubuntu:~/work$ tar -xvf Linux-4.1.15-elf1.tar.bz2

解壓完成之后使用ls命令查看Linux源碼目錄:

Linux內(nèi)核目錄下有很多的文件夾和文件,很多文件夾和文件我們不需要關(guān)注,我們主要了解比較常用的一些文件夾和文件的涵義就夠用了。

目錄

目錄說明

arch/

可支持的不同CPU架構(gòu)下的核心代碼。例如arm就是arm架構(gòu)相關(guān)的代碼,arm目錄下包括很多處理器平臺,也包括了啟動代碼boot、架構(gòu)相關(guān)配置文件configs、內(nèi)核相關(guān)文件kernel、內(nèi)存管理mm和庫lib等

block/

塊設(shè)備相關(guān)通用函數(shù)

crypto/

常見的加密算法相關(guān)代碼

Documentation/

說明文檔,對每個目錄和模塊有詳細說明

drivers/

設(shè)備驅(qū)動程序,其中每一個目錄都代表一種設(shè)備驅(qū)動

firmware/

固件代碼

fs/

可支持的文件系統(tǒng)相關(guān)代碼

include/

通用的頭文件

init/

內(nèi)核初始化核心代碼

ipc/

內(nèi)核進程間通信相關(guān)代碼

kernel/

內(nèi)核核心代碼,目錄下實現(xiàn)了多數(shù)Linux系統(tǒng)的內(nèi)核函數(shù)

lib/

內(nèi)核共用的函數(shù)庫

mm/

內(nèi)存管理相關(guān)代碼

net/

網(wǎng)絡(luò)相關(guān)代碼

sample/

示例代碼

scripts/

用于內(nèi)核配置的腳本文件,用于實現(xiàn)內(nèi)核配置的圖形界面

security/

安全性相關(guān),支持安全操作系統(tǒng)相關(guān)代碼。包括SELinux、Apparmor、Smack和TOMOYO Linux安全模塊。

tools/

常用工具代碼

usr/

內(nèi)核啟動相關(guān)代碼

virt/

內(nèi)核虛擬化相關(guān)代碼

內(nèi)核源代碼的目錄結(jié)構(gòu)和文件說明就介紹到這里。之后我們還會介紹內(nèi)核編譯以及如何給在NXP的源碼上適配ELF 1開發(fā)板。希望能對各位小伙伴在學(xué)習(xí)嵌入式開發(fā)的時候有所幫助。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5147

    文章

    19613

    瀏覽量

    316456
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1415

    瀏覽量

    41284
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5634

    瀏覽量

    103789
  • LINUX內(nèi)核
    +關(guān)注

    關(guān)注

    1

    文章

    317

    瀏覽量

    22319
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Linux內(nèi)核開發(fā)工具介紹

    進行嵌入式Linux產(chǎn)品開發(fā),往往需要對內(nèi)核進行裁剪和定制,以滿足嵌入式產(chǎn)品的功能和性能需求。本文介紹幾種閱讀Linux內(nèi)核源碼的工具和
    發(fā)表于 12-29 15:20 ?4859次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>開發(fā)工具介紹

    一文詳解Linux內(nèi)核源碼組織結(jié)構(gòu)

    概要:本文內(nèi)容包含Linux源碼樹結(jié)構(gòu)分析、Linux Makefile分析、Kconfig文件分析、Linux內(nèi)核配置選項分析。這些知識是
    的頭像 發(fā)表于 05-10 19:28 ?6178次閱讀

    淺談Linux內(nèi)核源碼的Makefile、Kconfig和.config文件

    Linux內(nèi)核源碼文件繁多,搞不清Makefile、Kconfig、.config間的關(guān)系,不了解內(nèi)核編譯體系,編譯修改內(nèi)核有問題無從下手,
    發(fā)表于 10-17 16:19 ?5218次閱讀
    淺談<b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>源碼</b>的Makefile、Kconfig和.config文件

    飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核簡介

    用戶提供移植好的板級開發(fā)包。板卡廠商也會對移植好的內(nèi)核版本進行維護,例如一些BUG修復(fù)或者物料替換。接下來講一下獲取這三種源碼方法獲取
    發(fā)表于 12-13 09:03

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核簡介

    用戶提供移植好的板級開發(fā)包。板卡廠商也會對移植好的內(nèi)核版本進行維護,例如一些BUG修復(fù)或者物料替換。接下來講一下獲取這三種源碼方法獲取
    發(fā)表于 12-16 13:08

    Linux-2.6.11.12內(nèi)核源碼(帶注釋)

    `這是linux-2.6.11.12的源碼,作者歷時三年,對源碼中大部分內(nèi)容加上了注釋,是了解Linux內(nèi)核比較好的一份資料。由于文件太大,
    發(fā)表于 10-29 20:34

    Linux內(nèi)核源碼之我見——內(nèi)核源碼的分析方法

    了很多了,囧~),下面我就來分享一下自己的Linix內(nèi)核源碼分析方法。二、內(nèi)核源碼難不難?從本質(zhì)上講,分析
    發(fā)表于 05-11 07:00

    如何獲取tslib源碼?

    Tslib移植和使用獲取tslib源碼編譯tslib測試tslib使用Linux內(nèi)核自帶的ft5426驅(qū)動
    發(fā)表于 12-28 07:45

    Linux內(nèi)核源碼目錄結(jié)構(gòu)

    Linux體系結(jié)構(gòu)Linux內(nèi)核結(jié)構(gòu)Linux內(nèi)核源碼目錄結(jié)構(gòu)
    發(fā)表于 12-30 07:22

    I.MX6ULL-ElfBoard ELF1板卡 獲取內(nèi)核源碼方法。

    移植好的板級開發(fā)包。板卡廠商也會對移植好的內(nèi)核版本進行維護,例如一些BUG修復(fù)或者物料替換。 接下來講一下獲取源碼的三種方法: 一、獲取
    發(fā)表于 12-16 09:41

    嵌入式學(xué)習(xí)——ElfBoard ELF1板卡 獲取內(nèi)核源碼方法

    移植好的板級開發(fā)包。板卡廠商也會對移植好的內(nèi)核版本進行維護,例如一些BUG修復(fù)或者物料替換。 接下來講一下獲取源碼的三種方法: 一、獲取
    發(fā)表于 12-16 09:44

    需要掌握的Linux內(nèi)核源碼分析方法

    Linux內(nèi)核代碼的龐大令不少人“望而生畏”,也正因為如此,使得人們對Linux的了解僅處于泛泛的層次。如果想透析Linux,深入操作系統(tǒng)的本質(zhì),閱讀
    發(fā)表于 04-28 16:54 ?1002次閱讀
    需要掌握的<b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>源碼</b>分析<b class='flag-5'>方法</b>

    Linux內(nèi)核定制方法

    Linux內(nèi)核定制方法說明。
    發(fā)表于 03-25 11:25 ?9次下載

    STM32MP157 Linux系統(tǒng)移植開發(fā)篇8:Linux內(nèi)核配置方法及編譯

    Linux內(nèi)核配置及編譯解壓內(nèi)核建立源碼目錄該目錄下以patch結(jié)尾的文件為ST官方提供的補丁文件,linux-5.4.31.tar.xz為
    發(fā)表于 12-04 21:06 ?9次下載
    STM32MP157 <b class='flag-5'>Linux</b>系統(tǒng)移植開發(fā)篇8:<b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>配置<b class='flag-5'>方法</b>及編譯

    AOSP Android11系統(tǒng)源碼內(nèi)核源碼簡析

    AOSP源碼中并不包括內(nèi)核源碼,需要單獨下載,內(nèi)核源碼有很多版本,比如common是通用的Linux
    的頭像 發(fā)表于 01-29 09:25 ?6554次閱讀