如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
内核和根文件系统移植一、移植环境主机:VMWare--Fedora9开发板:Mini2440--64MBNand编译器:arm-linux-gcc-4.4.3二、移植步骤本移植是一个简单的过程,比较详细全面的要参考MINI2440开发板提供的文档,目录如下:mini2440开发板\友善之臂编写或整理的参考文档\ni2440Linux移植开发实战指南.pdf下面开始移植:先做准备工作:在内核解压之后,给内核打上yaffs2补丁,使内核对yaffs2的支持#tar-zxvfcvs-root.tar.gz#cdcvs/yaffs2/#./patch-ker.shc/root/my2440/linux-2.6.32.2/1.进入内核根目录修改Makefile使之编译成ARM平台#cdlinux-2.6.32.2#geditMakefile在193行ARCH?=$(SUBARCH)CROSS_COMPILE?=修改为ARCH?=armCROSS_COMPILE?=arm-linux-其中,ARCH是指定目标平台为arm,CROSS_COMPILE是指定交叉编译器,这里指定的是系统默认的交叉编译器,如要使用其它的,则要把编译器的全路径在这里写出2.拷贝,建立自己的文件Linux-2.6.32.2本身已经包含了mini2440的支持,这样就出现了重名。那怎么办呢?在此我们依然使用MINI2440这个名称,只不过在后面的移植步骤中,把原始内核自带的mini2440代码部分直接删除就可以了,以免和我们自己移植的混淆了。接下来,我们注意到linux-2.6.32.2/arch/arm/mach-s3c2440目录下有个mach-mini2440.c文件,它其实就是国外爱好者为mini2440移植添加的主要内容了,但我们不用它,把它直接删除。将以前修改好的mach-mini2440.c复制到此目录下,要注意时钟、分区、机器码等的修改3.编译测试在Linux源代码根目录下执行//#makemini2440_defconfig;使用Linux官方自带的mini2440配置#makemenuconfig首先加载s3c24xx系列的通用配置,然后在此基础上修改罗列简单的配置,其它的默认KernelFeatures--->Bootoptions--->SystemType--->上面除了S3C2440Machines(只选[*]MINI2440developmentboard)外,其它的S3C24XX里面都不选。DeviceDrivers--->Graphicssupport--->Consoledisplaydriversupport--->[*]Bootuplogo--->Filesystems--->[*]Miscellaneousfilesystems---><*>YAFFS2filesystemsupport4.保存配置完后将配置文件保存为.config,这样方便下次makemenuconfig时默认加载上次配置过的文件5.交叉编译内核#makezImage#makeuImage如果没有任何错误,编译出来的内核在arch/arm/boot/目录下,文件uImage即是。6.将内核镜像文件uImage下载到Mini2440上测试三、结束语Ok,新的内核移植成功,但是现在开发板还不能正常运行,因为还有各种设备的驱动和文件系统没有移植,这些将在后续的篇章中一一讲述。HYPERLINK"javascript:;"嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之文件系统一、移植环境主机:VMWare--Fedora9开发板:Mini2440--64MBNand编译器:arm-linux-gcc-4.3.2yaffs补丁:cvs-root.tar.gz这里下载HYPERLINK"http://blog.chinaunix.net/link.php?url=http://www.aleph1.co.uk%2Fcgi-bin%2Fviewcvs.cgi%2F"http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/Busybox:busybox-1.13.0.tar.taryaffs制作工具:mkyaffs2image.tgz(友善提供)二、移植步骤1.准备工作目录和进入工作目录#mkdirrootfs//准备使用的根文件系统目录2.编译busybox生成文件系统所需要的应用程序1)解压busybox源码,修改M