(二)linux内核准备及编译
1. 內(nèi)核下載地址
? ? linux內(nèi)核網(wǎng)站,可以拿到最新的和最近的穩(wěn)定版本內(nèi)核:?https://www.kernel.org/
? ? 通過網(wǎng)站下載壓縮包后解壓或者使用git下載到本地: git clone?https://git.kernel.org/
2. 準(zhǔn)備編譯
配置工具鏈:
? ? 下載后的壓縮包放到linux上進行解壓,或者使用git下載完成后進入linux主目錄
? ? 由于編譯后準(zhǔn)備使用在JZ2440的開發(fā)板上,因此需要將交叉編譯工具連的信息寫到makefile中,將主目錄下Makefile的以下兩項修改
? ? ARCH??????????? ?= arm
? ? CROSS_COMPILE?? ?= arm-linux-gnueabi-
? ? 高版本的liunx內(nèi)核可能沒有CROSS_COMPILE,自行添加上就好。
?加載編譯配置:
? ? 因為要位JZ2440使用,因此在config文件夾下找尋最相似的文件進行配置
? ? 根目錄下執(zhí)行:?make s3c2410_defconfig
? ? 這會將基本配置項寫道根目錄下的.config文件中,這個文件也就是執(zhí)行make的時候加載的配置項,同時可以執(zhí)行make menuconfig對加載后的配置進行手工修改?
進行編譯:
? ? 由于使用uboot做啟動,因此編譯的時候需要編譯出uImage文件,在4.20版本下uImage的加載地址需要自己指定,這個需要配套結(jié)合uBoot的設(shè)定進行修改,我在UBoot中設(shè)定的內(nèi)核加載地址是0x30108000,因此執(zhí)行以下命令進行編譯
? ? make uImage LOADADDR=0x30108000
等待編譯完成即可在arch/arm/boot下找到生成的uImage了
編后語:
? ? 這里只是基本的編譯流程,這么編出來的包是肯定不能使用的,例如需要針對分區(qū)地址進行設(shè)計,內(nèi)核大小進行剪裁,文件系統(tǒng)支持,uboot配套分區(qū)地址,等等。
? ? 這些內(nèi)容稍后在一一記錄,
?
轉(zhuǎn)載于:https://www.cnblogs.com/edver/p/10529629.html
總結(jié)
以上是生活随笔為你收集整理的(二)linux内核准备及编译的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高斯消元处理无解|多解情况 poj183
- 下一篇: linux-linux top 命令各参