内核移植.docx

上传人:b****2 文档编号:975684 上传时间:2023-04-30 格式:DOCX 页数:11 大小:1.95MB
下载 相关 举报
内核移植.docx_第1页
第1页 / 共11页
内核移植.docx_第2页
第2页 / 共11页
内核移植.docx_第3页
第3页 / 共11页
内核移植.docx_第4页
第4页 / 共11页
内核移植.docx_第5页
第5页 / 共11页
内核移植.docx_第6页
第6页 / 共11页
内核移植.docx_第7页
第7页 / 共11页
内核移植.docx_第8页
第8页 / 共11页
内核移植.docx_第9页
第9页 / 共11页
内核移植.docx_第10页
第10页 / 共11页
内核移植.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

内核移植.docx

《内核移植.docx》由会员分享,可在线阅读,更多相关《内核移植.docx(11页珍藏版)》请在冰点文库上搜索。

内核移植.docx

内核移植

 根据bootlorder里面的分区情况进行更改,平台时钟要看你的开发板上外接的晶振是多少,机器码和nandflash的分区呢,就要看你的vivi在开发板上显示的信息作相应的更改。

步骤:

第一步,应该是修改对硬件平台的支持。

首先,应该是arm架构,arm-linux-gcc的编译方式的支持

第二步,就是平台时钟和机器码了,只有选择了相对应得平台时钟才能正常的工作。

第三步,就是对硬件分区的支持了,也可以说是nandflash驱动的移植。

第四步,是对yaffs2的文件系统的支持。

注:

在linux内核的移植中,你所要更改的大部分设置都在arch/arm目录下。

1.先添加对arm的支持

geditMakefile

 

                      ARCH?

=$(SUBARCH)

                       CROSS_COMPILE?

=

        改成:

 

                        ARCH?

=arm

                        CROSS_COMPILE?

=arm-linux-

 2.修改平台时钟频率

 geditarch/arm/mach-s3c2440/mach-smdk2440.c

找到数字16930000改为12000000

3.修改机器码

       geditarch/arm/tools/mach-types

将S3C2440后面的数字改为1999

将MINI2440后面的数字改为362

4.移植nandflash驱动

 geditarch/arm/plat-s3c24xx/common-smdk.c

nandflash的分区,就要看你的vivi在开发板上显示的信息作相应的更改了,

将开发板连接上电脑,启动超级终端/secureCRT,选则q后,

进入supervivi模式,

输入以下命令:

paramshow 查看机器码

part  show   查看分区

5. 在arch/arm/tools/mach-type中s3c2440的机器码一定要与vivi中的一致

Vivi中paramshow–显示一小参数

 

 6.修改MTD分区

        在arch/arm/plat-s3c24xx/common-smdk.c中修改

例如:

Staticstructmtd_partitionsmdk_default_nand_part[]={

[0]={

.name=”vivi”,

.size=0x00040000,

.offset=0x00000000,

}

[1]={

.name=”param”,

.offset=0x00040000,

.size=0x00020000,

}

[2]={

.name=”kernel”,

.offset=0x00060000,

.size=0x00200000,

}

[3]={

.name=”root”,

.offset=0x00260000,

.size=0x3fd80000,

}

};

 

注:

多余的要删除!

注:

最后的,要去掉

Param项可以注释掉的/**/

Vivi中partshow–显示以下参数

 

bootloader中的分区要与内核中的分区完全一致,包括分区名、起始地址、分区大小,以保

证内核、文件系统能够烧写到nandflash中。

7.接下来就是对内核的定制了,

首先复制一下对于S3C2410/2440的通用配置

注意:

在执行makemenuconfig之前一定要先执行下面这一步

cp-rfarch/arm/configs/s3c2410_defconfig.config

makemenuconfig

make menuconfig 报错make menuconfig' requires the ncurses libraries解决方法

可执行如下命令apt-getinstalllibncurses*

或sudoapt-getinstallncurses-dev

(0)在配置中添加自己的信息

(1)支持EABI

KernelFeatures --->

[*]UsetheARMEABItocompilethekernel                  

[*] AllowoldABIbinariestorunwiththiskernel(EXPERIMENTA)

 

(2)支持NandFlash

DeviceDrivers--->

    <*>MemoryTechnologyDevice(MTD)support--->

          [*]  MTDpartitioningsupport

          <*>NANDDeviceSupport--->

               <*>  NANDFlashsupportforS3C2410/S3C2440SoC

               []   S3C2410NANDHardwareECC    //这个一定bu要选上,因为

     NandFlashCapacitySelect(256MNandForTX-24)。

(3)进行内核的初步裁剪

systemtype->

找到S3C2400Machines--->

S3C2410Machines--->

S3C2412Machines--->

S3C2440Machines--->

S3C2442Machines--->

S3C2443Machines--->

除了S3C2410Machines中的第一项和S3C2440Machines中全部选项留下外,

其余的全部去掉。

(4)接着去掉软浮点检测

geditdrivers/mtd/nand/s3c2410.c

找到chip->ecc.mode=nand_ECC_SOFT改为NONE

(5)接着就是添加yaffs2的文件系统的支持(即为内核打上yaffs2的补丁),当然你也可以选别的。

首先,如果选择yaffs2的话,

在网上下载一个yaffs2源码,解压后进入

执行./patch-ker.shc/home/test/linux-2.6.32.2/

后面是你自己的linux源码的位置,注意最后面的/一定不要忘了

此时进入linux-2.6.32.2/fs目录,可以看到已经多了一个yaffs2目录(这样在makemenuconfig中才会有YAFFS2SystemSupport选项)。

其次,配置和编译带YAFFS2支持的内核

在Linux内核源代码根目录运行:

makemenuconfig,移动上下按键找到FileSystems,如图,按回车进入该子菜单

再找到“Miscellaneousfilesystems”菜单项,按回车进入该子菜单,如图

出现如下图菜单,找到“YAFFS2filesystemsupport”,并按空格选中它,这样我们就在内核中添加了yaffs2文件系统的支持,按“Exit”退出内核配置。

添加完成后。

8.makezImage内核就算移植完成了。

如果遇到什么问题的话,就具体问题具体分析了。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2