Linux3.5 移植到QQ2440V3


前言

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

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

第一步:准备下开发环境
这次就不换硬盘了,直接虚拟机弄个Ubuntu 12.04,目前最新的Linux Desktop,一切为了方便,重心放在板子开发上,环境弄个方便顺手不影响项目卡壳的。

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

成功回显

  • 1
  • 2
  • 下一页

相关内容