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

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

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

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

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

獲得編譯命令及選項(xiàng)

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

make V=1

如果希望編譯系統(tǒng)告訴你為何某個(gè)目標(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)核的才使用,第一次編譯過(guò)后,將這句注釋?zhuān)竺娑纪ㄟ^(guò)make menuconfig修改內(nèi)核配置。

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

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

    關(guān)注

    3

    文章

    1372

    瀏覽量

    40289
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

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

    關(guān)注

    0

    文章

    657

    瀏覽量

    32871
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

    交叉編譯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>詳談

    基于A(yíng)rm的Linux內(nèi)核編譯指導(dǎo)

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

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

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

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

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

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

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

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

    Linux內(nèi)核配置編譯分析的設(shè)計(jì)方案
    發(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è)計(jì)方案

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

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

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

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

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

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

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

    實(shí)驗(yàn)環(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)移植開(kāi)發(fā)篇8:Linux內(nèi)核配置方法及編譯

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

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

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