zoukankan      html  css  js  c++  java
  • (二)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配套分区地址,等等。

        这些内容稍后在一一记录,

  • 相关阅读:
    【题解】洛谷P4391 [BOI2009] Radio Transmission(KMP)
    【题解】UVA10298 Power String(KMP)
    【题解】洛谷P4281 [AHOI2008] 紧急集合(求三个点LCA)
    [BZOJ4712]洪水-[树链剖分+线段树]
    [BZOJ2961]共点圆-[凸包+cdq分治]
    [BZOJ1185][HNOI2007]最小矩形覆盖-[凸包+旋转卡壳]
    [BZOJ2738]矩阵乘法-[整体二分+树状数组]
    [POJ2104]Kth Number-[整体二分]
    [arc082F]Sandglass
    [arc076F]Exhausted?
  • 原文地址:https://www.cnblogs.com/edver/p/10529629.html
Copyright © 2011-2022 走看看