《Linux内核的移植实用教案》由会员分享,可在线阅读,更多相关《Linux内核的移植实用教案(13页珍藏版)》请在金锄头文库上搜索。
1、移植的概念: 使某一个平台的代码运行(ynxng)在其他平台上的过程叫做移植。Linux操作系统可以通过移植,运行(ynxng)在ARM、PowerPC等多种硬件平台上。移植的步骤:建立交叉编译开发环境根据开发板硬件配置修改linux内核编译内核并修正下载并试运行(ynxng)根据运行(ynxng)结果进行调试 Linux的移植(yzh)第1页/共12页第一页,共13页。开发板硬件(ynjin)配置三星(snxng)S3C44B0微处理器,工作频率为66MHz2MBNORFlash(AM29LV160D)地址空间:0x00000000-0x002000008MBSDRAM(HY57V64162
2、0HGT)地址空间:0x0c000000-0x0c800000016MBNANDFlash(K29F2808U)地址空间:0x02000000-0x03000000第2页/共12页第二页,共13页。移植(yzh)到博创UP-NETARM3000开发板的步骤需要准备的软件包:系统包:uClinux-dist-20040408.tar.gz补丁包:uClinux-20040408-ARMSYS.patch(该补丁的作用(zuyng)是针对s3c44b0x对系统进行配置)uClinux-dist是一个综合包,里面不仅包含Linux内核(包含和版本的内核),还包括了厂商、文件系统等文件,这样我们在移植
3、内核的时候,就不用再另外移植文件系统。第3页/共12页第三页,共13页。移植(yzh)步骤1. 解压uClinux-dist源码包 命令: 解压后在当前目录下生成uClinux-dist目录,选择内核版本。2. 将补丁包拷贝到uClinux-dist目录下命令:cp uClinux-20040408-ARMSYS.patch uClinux-dist/ 3. 创建(chungjin)uClinux-dist/vendors/Samsung/44B0目录 在uClinux-dist/vendors/Samsung目录下执行: mkdir 44B0 cp 4510B/* 44B0第4页/共12页第
4、四页,共13页。移植(yzh)步骤4. 打补丁5. 修改补丁错误在打补丁的过程中会出现错误提示:对于在出错的文件(wnjin),对照补丁对源文件(wnjin)进行手动修改即可。6. 修改 第5页/共12页第五页,共13页。移植(yzh)步骤7. 修改销释8. 修改销释define_bool CONFIG_SERIAL_S3C44B0X9. 增加(zngji)bzImage 修改uClinux-dist/Makefile 在TFTPDIR = /tftpboot 后添加: LINUXTARGET = bzImage第6页/共12页第六页,共13页。移植(yzh)步骤10. 根据开发板配置(piz
5、h)修改内核(1)修改串口通信波特率 打开uClinux-dist/vendors/Samsung/44B0/config.arch 设置:CONSOLE_BAUD_RATE = 115200(2)修改uClinux-dist/vendors/Samsung/44B0/config.linux-2.4.x 主要修改的几点:选择开发板:CONFIG_BOARD_MBA44=y修改CPU型号:CONFIG_CPU_S3C44B0X=y选择内核模式:CONFIG_RAMKERNEL=y设置DRAM和FLASH参数:修改第7页/共12页第七页,共13页。移植(yzh)步骤11. 编译内核 rootlo
6、calhost opt#make distclean rootlocalhost opt#make menuconfig 选择(xunz)CPUVendor:SamsungProduct:44B0 选择(xunz)内核Libc Version:uClibcCustomize kernel setting:yCustomize vendor/user setting:y 保存设置退出 第8页/共12页第八页,共13页。移植(yzh)步骤 make dep make lib_only make user_only make romfs make linux make image(9) make l
7、inux(10) make image(11) make第9页/共12页第九页,共13页。移植(yzh)步骤编译通过后会在uClinux-dist/images里产生三个文件:image.ram是可以在SDRAM中运行的内核映像(ynxin)。在超级终端上,通过tftp命令下载到开发板的SDRAM中0X0c008000处,通过命令go0x0c008000运行。第10页/共12页第十页,共13页。Over,Thanksforeveryone!2024/7/27Inspur group第11页/共12页第十一页,共13页。感谢您的观看(gunkn)!第12页/共12页第十二页,共13页。内容(nirng)总结移植的概念:。16MB NAND Flash(K29F2808U)。cp 4510B/* 44B0。选择开发板:CONFIG_BOARD_MBA44=y。修改(xigi)CPU型号:CONFIG_CPU_S3C44B0X=y。rootlocalhost opt#make menuconfig。Customize vendor/user setting:y。Over,Thanks for everyone。感谢您的观看第十三页,共13页。