• Linux内核移植需求哪些常识点啊,求基本步调?
  • 发布时间:2020-04-21 08:01 | 作者:admin | 来源:原创 | 浏览:1200 次
  •   1、取得内核源码:从Linux内核的官网可取得响应的内核源码,这里以2.6.31.1为例。

      2、解压源码,进入目次:

      #tar xjvf linux- 2.6.31.1.tar.bz2

      #cd linux-2.6.31.1

      3、修改Makefile的183 行:

      ARCH ?=arm <—指定系统硬件架构

      CROSS_COMPILE ?=arm-linux- <—指定交叉编译器

      4、修改时钟:

      修改arch/arm/mach-s3c2440/mach-smdk2440.c 的163行

      static void __init smdk2440_map_io(void)

      {

      s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));

      s3c24xx_init_clocks(12000000); <—输入时钟为12MHz

      s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs));

      }

      这个必然要设置对,否则会打印出乱码。

      5、修改机械码(依据实践状况,这个要和bootloader的婚配):

      修改:arch/arm/tools/mach-types的379 行:

      s3c2440 ……………………… XXX <—前面阿谁数就是机械码 (我用的天嵌开辟板的机械码是168)

      6、设备:

      #make menuconfig <—进入图形化设备界面

      在设备菜单当选择这一项:"Load an Alternate Configuration File" ,输入2440的默许设备文件:arch/arm/configs/s3c2410_defconfig ,这个文件就是 S3C24XX 系列开辟板板级支撑包(BSP)然后选择 OK,按回车。

      进入"System Type"选项单,外面的选项保持默许在"S3C24XX Machine"选项中只设备这几项(其他的选项撤消):

      S3C2410 Machine --->

      [*] SMDK2410/A9M2410

      S3C2440 Machine --->

      [*] SMDK2440

      [*] SMDK2440 with S3C2440 cpu moudle

      设备完后,回到主菜单,选择这一项"Save an Alternate Configuration File" ,输入要保管的

      设备文件称号:.config (默许)或自己取名:TQ2440_config,参与,编译内核: #make zImage

      说明:以后移植过程当中的设备、编译,都是按这个步调停止,然则只需求保管一次设备文件,以后就不需求再保管设备文件了,设备完后可以直接参与。

      编译完后,会在arch/arm/boot下生成zImage内核镜像文件,可以修改该目次下的Makefile, 在第57行下面添加:

      @cp -f arch/arm/boot/zImage zImage

      @echo ' Kernel: $@ is ready '

      如许履行make zImage后,就把生成的zImage拷到内核根目次下。

      假设欲望在在履行make distclean时,也同时把zImage删除,可以修改内核根目次下Makefile 的第1247行,在前面加上:

      -type f -print | xargs rm -f rm zImage

      把 zImage 镜像烧进 NandFlash 跑一下,看可否正常打印出信息,假设第一步能正常引诱内核,那就末尾停止。然后添加驱动。

  • 相关内容
  • 2010-2013 柠檬铺 版权所有 | 联系邮箱:8888888888@qq.com 赣ICP088888888881245号
  • 专业DEDECMES网站模版制作!承接二次开发,精仿,网站设计,插件模块制作等!此模版为DEDECMS5.7 GBK 文章类模版。