首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Linux-2.6-virtex 在XUP上面的移植和相关问题的解决

Linux-2.6-virtex 在XUP上面的移植和相关问题的解决

在西安电子科技大学xilinx俱乐部的支持下,完成了Linux到V2Pro开发板的移植。期间遇到了很多网上没有提到的问题,总结了一下,希望对大家有所帮助:) 系统:红帽子简体中文版,GCC 3.2.2 软件:EDK8.2+sp2Linux-2.6-virtex.tar.gz (linux对于virtex的开发树)      Crosstool-0.43.tar     (交叉工具生成器)Mkrootfs.tgz          (根文件系统生成脚本) 硬件: ppc405,uartlite,system ACE,DDR 256M,全部带有中断 具体移植过程参见风雷的PowerPC 平台 Linux 的移植,这里只是对出现的问题进行说明。 一, 交叉环境编译这里建议使用GCC3.4.4-GLIBC2.3.5的组合。GCC4.1.0编译Linux2.6会有问题。 二, 生成BSP     打开软件平台设置 ,将PPC_405_0的OS设置为 linux_2_6 ,这样可以使生成的xparameters_ml403.h完全符合新的linux2.6内核头文件的要求。其它与风雷相同。     如果libgen过程中出现cp命令的错误,是由于TARGET_DIR设置后出现的问题。把它清空即可,生成的BSP在工程目录\p405_0\libsrc\linux_2_6下面。 三,编译和配置linux由于我们使用的是virtex的linux开发树,所以不用打任何补丁。Make menuconig配置的具体配置参见风雷的文章。配置过程中需要说明一下:(1)如果你使用的是Uart Lite ,就不要选取 Device drivers-Character devices -Serial drivers -8250/16550 and compatible serial support。(2)网络的可以先都不选取。 (3) 风雷使用的linux 2.6 版本需要打System ACE的补丁,才能出现Xilinx on-chipSystem ACE 选项,我们这个版本直接就有。(4)设置console 选项时,注意如果使用Uart16550的IP 设置console=ttyS0如果使用Uart Lite 的IP 设置console=ttyUL0 Make zImage编译过程,有可能出现/linux/config.h没有找到的错误,直接去掉就可以了。编译过程中出现的mismatch警告不用关心。 四 运行Linux把生成的zImage.elf复制到工程文件夹下。打开xmd, dow zImage.elf;,con串口端出现loaded at :00400000 0066D19c………………………………………………….Now booting the kernelLinux 2.6………………………………………..(以下省略)如果出现错误,系统停在Now booting the kernel,是由于你的配置有问题,我们进行了总结,具体问题总结在西安电子科技大学xilinx俱乐部的文章当中。 五 制作根文件系统   需要的软件(1)http://klingauf.de/v2p/mkrootfs.tgz 根文件制作的脚本。(2)http://www.busybox.net/         busybox 1.1.3 Busybox 的设置在busybox 目录下make menucofnig这些选项必须要选的:General Configuration   * Support for devfs Build Options   * Do you want to build BusyBox with a Cross Compiler?     (powerpc-405-linux-gnu-) Login/Password Management Utilites   * addgroup   * delgroup   * adduser   * deluser   * getty   * login      * Support for /etc/securetty   * passwd   * su   * sulogin Networking Utilities   * inetd   * ifconfig   * ip   * netstat   * nslookup   * telnet   * telnetd Process Utilities   * top      * Support showing CPU usage percentage 修改解压的mkrootfs.hLFS : 最终生成的文件放到的位置CC :交叉编译器TARGET_PREFXIX: 是你交叉编译工具glibc的位置BUILD_TOOL : 是Crosstool/build的路径,这里是要复制一个文件 nsswitch.confPPC_KERNEL : 你存放linux_virtex的位置PPC_KERNEL_VERSION:linux 的版本,这个是拷贝module 的时候用到修改 busybox-1.00.-pre2 到你存放 busybox 源程序的位置。 接下来,是一个关键的问题,把你从mkrootfs.tgz解压缩出来的文件用dos2unix命令全部转换一遍,特别是其中的mkrootfs.h,rcS.initab,负责回有一些找不到文件的错误。     使用CF卡,FDISK的使用见网上教程。   这里我们需要注意的是分区的问题。在我的系统中我的CF卡设备是/dev/sdc ,分区为/dev/sdc1 和/dev/sdc2 。我把根系统放到/dev/sdc2的分区下。   根文件系统的装载位置是根据在console 中设置实现的。我这里的配置是console=ttyS0 ,9600 root = fe02,这里的02 就是表示第二个分区。   启动系统后,插入CF卡,如果启动到#字符,说明系统启动成功,恭喜!!! 如果在移植中遇到问题,可以留言到西安电子科技大学Xilinx俱乐部,我们会尽量帮你们解决
来源:fcni_cn的百度空间
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表