故事的背景
本学期俺老孙学习嵌入式操作系统(),最终课程项目是定制内核与开发一个视频播放程序:
1.定制和移植6410开发板上的嵌入式linux最小内核与最小文件系统
2.在最小系统的基础上加入利用6410平台视频硬编码的视频播放器
我手上拥有的硬件:Tiny6410开发板一个(屏幕型号是H43)。
目标:最短时间内最高效地完成任务。
交叉编译环境搭建
安装虚拟机
上头给的开发系统是Fedora 9
(32位),有点老,安装时需要注意一些问题。
问题1
我的虚拟机是VM 11,安装Fedora 9
时需将处理器数量设为1,每处理器核心设为2,如果不这样做您就会卡在安装界面,如下图:
正常的安装界面是这样的:
问题2
设置磁盘大小时,最好设置为20G,太小可能出问题,到时需要重装(编译内核需要占用极大的空间)。
问题3
启动Fedora 9
虚拟机时,VM11提示VMware Workstation cannot connect to the virtual machine
。
对付此问题,只需打开控制面板——管理工具——服务,找到VMware Authorization Service服务,右键设置启动类型为自动,再右键启动。
问题4
安装完,开机后直接进入黑乎乎的字符界面,尝试用startx
命令进入图形界面时,被告知no screen found
。
这是由于您使用了VM11的简便安装
模式,它会默认跳过图形界面的安装,只安装服务器必须的软件,默认安装只828个包,实际上需要一千多个才有图形界面:
解决方法:在创建虚拟机时选择稍后安装操作系统
,创建完毕再添加镜像文件
,启动后就是自定义安装了。
问题5
一切装置完了之后,再次卡住,卡在Starting udev
:
这个有点复杂,估计是硬件不兼容之类的问题,持续等待几分钟后再次提示“Wait timeout. Will continue in the background.”
于是俺百度谷歌了一番,有人说是fedora识别方面有些BUG需要修改fedora的一些文件,但我进不了系统,也就没法从这里入手解决;有人说是CPU数量大于1的关系,我将CPU数量设为1,核心数量也设为1,依旧不行。
这时我想起来,按照VM11的简便模式安装后可以进入登录界面,而自定义安装加上图形界面就无法初始化硬件,莫非,是屏幕显示器的问题?
于是我修改虚拟机的屏幕,改“将主机设置用于监视器”
为“制定监视器设置”
,并指定分辨率为1024 * 768(我的显示器是27寸1080P,可能fedora9带不起),然后,就能成功进入设置界面了。
注意以上问题,虚拟机很容易就安装完毕了。
交叉编译工具
准备工具包
crosstool-0.43.tar.gz
binutils-2.16.1.tar.bz2
gcc-4.0.2.tar.gz
glibc-2.3.6.tar.gz glibc-linuxthreads-2.3.6.tar.gz linux-2.6.26.tar.gz linux-libc-headers-2.6.12.0.tar.bz
使用非root用户登录
建立存放工具包源码的cross目录
mkdir /home/qiuyongchen/cross