Linux3.5 移植到QQ2440V3

2014-11-24 10:17:09 · 作者: · 浏览: 1

前言


很久没碰板子了,这次又要重新拾起,把每一步跌宕记录下来以便后查,之前记录过移植到FL2440板子上,那块板子送人了,又在网上100块买了个二手的QQ2440V3,不过似乎什么资料都没有,只能一点一点摸索了,还好板子里的supervivi还在,并且里边有默认的Linux系统,去年我曾经移植过3.0在上边,不过没有备份东西,这次重来吧。


这次就以现成的supervivi为根基,一步一步搭建起Linux系统,再把驱动和应用逐个实现。


1. unbuntu 700M下载地址


http://mirrors.ustc.edu.cn/ubuntu-releases/12.04/


安装ubuntu时把虚拟机网卡断开,加速安装。


装完后,重启系统,连接虚拟机网卡,安装gcc编译器,sudo apt-get install build-essential --yes,装完发现是4.6版的。


更新源sudo gedit /etc/apt/sources.list



2. 内核源码80M下载地址


http://www.kernel.org/ 选择


mainline: 3.5



Full source,3.5.4那个stable速度太慢了。


3. 交叉编译器(arm-linix-gcc)下载地址


gcc-4.5-arm-linux-gnueabi (4.5.3-12ubuntu2cross1.61) [universe]


http://packages.ubuntu.com/zh-cn/precise/gcc-4.5-arm-linux-gnueabi


i3864,717.2 kB11,579.0 kB[文件列表] 亚洲 mirrors.163.com/ubuntu/


(在安装好的ubuntu里面连好网络,执行命令安装应该也可以sudo apt-cache search arm-linux后sudo apt-get install arm-linux)


4. 尝试把源码包和交叉编译器弄到虚拟机ubuntu里面


用vmware-tools,建立主机和虚拟机共享文件夹,用来来回拷贝文件。从vmware安装包的linux.iso加载到虚拟机,拷贝并解压tar文件,进入解压后目录执行sudo ./vmware-install.pl默认安装,发现查找linux include的时候,卡住了,不知道include 在哪。
首先uname -r 结果是3.2.0-29-generic-pae


于是尝试输入/usr/src/3.2.0-29-generic-pae/include,结果又报错说version不符,


于是尝试更改/usr/src/3.2.0-29-generic-pae/include/linux/version.h 加一行#define UTS_RELEASE "3.2.0-29-generic-pae"


再来,结果说linux/autoconf.h不存在,要编译内核,搜索这个问题,人家说在include下sudo ln -s ../generated/autoconf.h ./,尝试后


再来,结果编译开始了,但报错,说asm/semaphore.h找不到,网上查说系统版本高,而虚拟机版本低。


5.于是去支持开源,选了德国的virtualbox虚拟机,直接可以读取ubuntu系统的vmdk。


前进的道路总是会卡壳的,想办法换个思路绕过哨卡吧。


进入系统将vmware-tools卸载 sudo /usr/bin/vmware-uninstall.pl


虚拟机加载光盘,选择虚拟文件,在virtualbox安装后目录下有个guest addition.iso,加载后自动运行引导安装。


装完,设置好虚拟机的共享文件夹位置,名字取share,就可以


sudo mkdir /mnt/share


sudo mount -t vboxsf share /mnt/share


ls /mnt/share 后就有东西了。


windows下面准备好的交叉编译器和内核可以放到共享文件夹后操作了。


双击arm-linux-gcc***.deb安装。将Linux3.5内核拷贝出来。


6. 测试arm-linux-gcc


arm-linux-gnueabi-gcc-4.5 --version


成功回显