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

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

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

Linux內(nèi)核編譯腳本

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-09-27 11:52 ? 次閱讀

獲得編譯命令及選項

編譯linux時,默認(rèn)不會顯示編譯的命令,如果你要獲得編譯命令及其選項,可以在make命令后面加上宏定義:

make V=1

如果希望編譯系統(tǒng)告訴你為何某個目標(biāo)文件需要重新編譯,則:

make V=2

內(nèi)核編譯腳本

最后分享我常用的內(nèi)核編譯腳本mk.sh,給大家參考:

#!/bin/sh

export ARCH=arm
export PATH=~/toolchain/arm_glibc/host/bin:$PATH
export CROSS_COMPILE=arm-linux-gnu-

#make O=../bd defconfig
make O=../bd menuconfig -j32
make O=../bd dtbs

#反匯編
$(CROSS_COMPILE)objdump -d ../bd/vmlinux > ../image/vmlinux_dump.txt

#生成uImage
../ubd/tools/mkimage -A arm -T kernel -C none -O linux -a 0x80200000 -e 0x80200000 -n "debug kernel" -d ../bd/Image ../image/uImage

其中,make O=../bd defconfig只有在第一次編譯內(nèi)核的才使用,第一次編譯過后,將這句注釋,后面都通過make menuconfig修改內(nèi)核配置。

objdump反匯編對大多數(shù)人來說可能用不上,一般在內(nèi)核移植、啟動分析時比較有用,但由于工作需要,我通常都會把反匯編加上。

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

    關(guān)注

    3

    文章

    1360

    瀏覽量

    40185
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11207

    瀏覽量

    208717
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    648

    瀏覽量

    32774
收藏 人收藏

    評論

    相關(guān)推薦

    Linux編譯驅(qū)動、內(nèi)核及應(yīng)用程序分析

    作為一名嵌入式Linux新手,在學(xué)習(xí)的過程中會遇到很多問題。寫了一個驅(qū)動程序怎么編譯?怎么加載進內(nèi)核?
    的頭像 發(fā)表于 01-17 13:46 ?6585次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>編譯</b>驅(qū)動、<b class='flag-5'>內(nèi)核</b>及應(yīng)用程序分析

    Linux內(nèi)核編譯主要過程

    Linux內(nèi)核編譯主要過程: 配置、編譯、安裝 。
    發(fā)表于 08-08 16:02 ?701次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>的<b class='flag-5'>編譯</b>主要過程

    交叉編譯linux內(nèi)核(raspberry_3.6.y)

    一步一步教你交叉編譯linux內(nèi)核,RPI的內(nèi)核編譯教程,小眾的東西了
    發(fā)表于 11-03 17:58 ?0次下載

    Linux內(nèi)核編譯詳談

    Linux內(nèi)核編譯詳談
    發(fā)表于 10-30 09:51 ?7次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>編譯</b>詳談

    基于Arm的Linux內(nèi)核編譯指導(dǎo)

    基于Arm的Linux內(nèi)核編譯指導(dǎo)
    發(fā)表于 10-30 10:13 ?15次下載
    基于Arm的<b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>編譯</b>指導(dǎo)

    如何編譯安裝Linux內(nèi)核

    有一個 定制過的內(nèi)核2.2.16-22ghosh在我的系統(tǒng)中運行(我的名字叫Subhasish Ghosh,你也可以命名為其它名稱,事實上在系統(tǒng)中有兩個內(nèi)核是同時運行的)下面,搜索并編譯Lin
    發(fā)表于 11-07 15:46 ?0次下載

    如何編譯Linux內(nèi)核

    不斷更新。新的內(nèi)核修訂了舊內(nèi)核的bug,并增加了許多新的特性。如果用戶想要使用這些新特性,或想根據(jù)自己的系統(tǒng)度身定制一個更高效,更穩(wěn)定的內(nèi)核,就需要重新編譯
    發(fā)表于 04-02 14:46 ?554次閱讀

    嵌入式linux內(nèi)核編譯步驟

    編譯嵌入式Linux內(nèi)核都是通過make的不同命令來實現(xiàn)的,它的執(zhí)行配置文件是Makefile。Linux內(nèi)核中不同的目錄結(jié)構(gòu)里都有相應(yīng)的M
    發(fā)表于 06-19 09:30 ?2797次閱讀
    嵌入式<b class='flag-5'>linux</b><b class='flag-5'>內(nèi)核</b>的<b class='flag-5'>編譯</b>步驟

    Linux內(nèi)核配置編譯分析的設(shè)計方案

    Linux內(nèi)核配置編譯分析的設(shè)計方案
    發(fā)表于 07-08 16:53 ?18次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>配置<b class='flag-5'>編譯</b>分析的設(shè)計方案

    如何才能編譯Linux內(nèi)核

    內(nèi)核的bug ,并增加了許多新的特性。如果用戶想要使用這些新特性, 或想根據(jù)自己的系統(tǒng)度身定制一個更高效, 更穩(wěn)定的內(nèi)核, 就需要重新編譯內(nèi)核。本文將以RedHat
    發(fā)表于 11-04 18:04 ?8次下載

    動手編譯Linux內(nèi)核的教程免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是動手編譯Linux內(nèi)核的教程免費下載。
    發(fā)表于 11-26 17:01 ?14次下載

    Linux內(nèi)核編譯與運行

    本文檔的主要內(nèi)容詳細(xì)介紹的是Linux內(nèi)核編譯與運行免費下載。
    發(fā)表于 03-25 13:48 ?11次下載

    嵌入式Linux內(nèi)核編譯

    實驗環(huán)境VMware Workstation PlayerUbuntu16.04kernel-3.2.tar.bz2Linux內(nèi)核編譯在ubuntu上編譯嵌入式
    發(fā)表于 11-01 17:07 ?16次下載
    嵌入式<b class='flag-5'>Linux</b>的<b class='flag-5'>內(nèi)核</b><b class='flag-5'>編譯</b>

    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>

    Linux內(nèi)核編譯和運行

    想讓Linux內(nèi)核代碼跑起來,得先搭建編譯和運行代碼的環(huán)境。
    發(fā)表于 06-23 11:56 ?1255次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>的<b class='flag-5'>編譯</b>和運行