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