前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >内核打补丁编译、创建内核工程(1)

内核打补丁编译、创建内核工程(1)

作者头像
诺谦
发布2018-01-03 16:05:32
1.8K0
发布2018-01-03 16:05:32
举报
文章被收录于专栏:Linux驱动Linux驱动

1     内核打补丁

1.1  通过FTP将linux-2.6.22.6_jz2440.patch文件拷贝在system下

1.2  进入linux-2.6.22.6目录下,使用  patch -p1 <../linux-2.6.22.6_jz2440.patch  命令对linux-2.6.22.6文件进行打补丁。

1.3  补丁成功后,在linux-2.6.22.6目录下便会有一个config_ok文件。

1.4 使用  tar -cjf linux-2.6.22.6_jz2440.tar.bz2 linux-2.6.22.6    将以打好补丁的linux-2.6.22.6文件以其它名字创建压缩包,方便以后再次使用,并放在Windows上建立source sight工程,方便解析代码。

1.5  在linux-2.6.22.6目录下,使用cp config_ok  .config将config_ok复制覆盖新的.config隐藏文件,不同的config文件,menuconfig都不同

通过  ls -la 命令可以查看.config隐藏文件

1.6 在linux-2.6.22.6目录下,使用 make uImage 指令生成内核映像uImage文件。

注意:要想“ make uImage”成功,必须把编译 u-boot 时得到的 mkimage 工具复制到 /usr/bin 目录下去。 mkimage 工具在 u-boot 源码下 u-boot-1.1.6/tools  目录里,如下所示:

1.7 将编译出的uImage文件从linux中拷贝到Windows上进行烧写。

   uImage位置在work/system/linux-2.6.22.6/arch/arm/boot

2 创建内核source sight 工程

2.1 点击 “add all” 添加所有文件,后面再慢慢删去与2440芯片没用的文件。

2.2 点击Remove Tree 删除Arch文件夹,再添加与2440相关的硬件核心代码以及其它公用的代码

  Arch:包含了平台,处理器相关的代码,并包括boot文件夹。

      添加:

           linux-2.6.22.6/arch  /arm/boot                       (启动配置文件) 

           linux-2.6.22.6/arch/arm/common                 (公共文件)  

           linux-2.6.22.6/arch/arm/configs                   (配置文件)  

           linux-2.6.22.6/arch/arm/kernel                    (内核文件)         

           linux-2.6.22.6/arch/arm/lib                          (固件库)  

           linux-2.6.22.6/arch/arm/mach-s3c2440       (machine 设备,2440设备库)  

           linux-2.6.22.6/arch/arm/mach-s3c2410       (2440中部分调用了2410设备库)  

           linux-2.6.22.6/arch/arm/Mm                        (内存管理文件)  

           linux-2.6.22.6/arch/arm/nwfpe                          

         linux-2.6.22.6/arch/arm/oprofile                   (性能分析工具文件)                

        linux-2.6.22.6/arch/arm/plat-s3c24xx          (s3c24系列平台文件)      

      linux-2.6.22.6/arch/arm/tools                      (常用工具文件)                          

     linux-2.6.22.6/arch/arm/vfp                        (浮点运算文件)                              

2.3 点击Remove Tree 删除Include文件夹,再添加与2440相关的头文件

  Include: 包括了核心的大多数include文件。另外对于每种支持的体系结构分别有一个子目录。 

      添加:

           linux-2.6.22.6/include/acpi                            (高级配置与电源接口文件) 

           linux-2.6.22.6/include/asm-arm                    (只添加这个目录下的头文件)         

           linux-2.6.22.6/include/asm-arm/arch-s3c2410     (2410处理器架构)           

           linux-2.6.22.6/include/asm-arm/hardware    (硬件相关头文件)

           linux-2.6.22.6/include/asm-arm/mach             (具体的设备文件)

           linux-2.6.22.6/include/asm-arm/plat-s3c24xx   (s3c24系列平台头文件)      

     以及添加include目录下除了asm-xx外的其它通用文件                        

2.4 最后点击synchronize files    创建source insight工程

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-06-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档