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工程