Linux操作系统移植
需要有六个步骤:准备阶段(包括制作交叉工具链以及解压源代码),制作内核镜像,制作bootloader,制作文件系统(包括使用busybox),下载到开发板。下边将对五个步骤进行分别解释。
准备工作
一:设置工作目录
# mkdir /mywork =========将需要用到的各种包分类放在这个目录之下
# cd /mywork
# mkdir crosscompile kernel bootloader rootfs qtopia ====用来存相对应放源文件
二:使用samba服务将Windows中的光盘上的内容挂载到Linux中
[root@localhost ~]rpm –ql samba-client =======查询包中的文件包及都被安装到何处
[root@localhost ~]mount.cifs //115.158.73.199/linux /linux
==========ip为Windows主机ip,/linux为新建的挂载点
[root@localhost ~]mount /*使用mount命令查看是否已经挂载上*/
成功挂载上
成功挂载上
三:制作交叉工具链
删除系统中原来已经安装的交叉工具链
[root@localhost /]# rm -rf opt
[root@localhost /]# mddir cross
把arm-linux-gcc-4.4.3.tar.gz解压到/work/crosscompile目录下
# cd /mywork/crosspile
# xzvf /linux/arm-linux-gcc-4.4.3.tar.gz
把编译器路径加入系统环境变量,因为/root/.bashrc是登入root用户后系统自动读取的,因此要想永久修改而不是只一次,就必须把修改的环境变量写在这个文件里
# gedit /root/.bashrc
编辑/root/.bashrc文件,在最后一行添加:
export PATH=$PATH:/mywork/crosscompile/opt/FriendlyARM/toolschain/4.4.3/bin
退出伪终端之后重新登录,输入“arm-linux-gcc”
没有出现“command not found”说明路径添加成功,且交叉工具链能使用
四:获得内核源码
解压解包内核代码,放在“/mywork/kernel”目录下
# cd /mywork/kernel
# tar xzvf /linux/linux-2.6.32.2-mini2440tar.gz
五:获得vboot源码
将vboot源码放在“/mywork/bootloader”目录下
# cd /mywork/bootloader
# tar xvzf /linux/vboot-srctar.gz
六:获得映像制作工具源码
工具1:mkyaffs2image(用于文件系统映像)
由于制作文件系统映像文件时需要使用专用的制作工具,因此必须安装上该工具。对于64M或者128M/256M/512M/1GB 的 mini2440,分别有两套制作工具,mkyaffs2image和mkyaffs2image-128M
将这两个工具都安装在“/mywork/tool”目录下
# cd /mywork/tools
# tar xzvf /linux/mkyaffs2image.tgz
由于没有修改安装路径,因此必须修改环境变量在PATH中加入该路径,系统自动搜索时才能够找到
gedit /root/.bashrc
最后一行追加“:/mywork/tools/usr/sbin”重新打开一个虚拟终端,进行如下操作
工具2:busybox(用于制作根文件系统)
所谓制作根文件系统,就是创建各种目录,并且在里面创建各种文件。Busybox是把Linux命令集合进了一个可执行程序中,同时也包含了init进程,因此使用busybox创建根文件系统,只需要在/dev目录下创建必要的设备节点,在/etc目录下创建一些配置文件就可以了。
而且对于嵌入式系统非常有限的资源来说,使用静态连接只有1M左右,动态连接只有几百KB的busy,更加实用。
# mkdir /rootfs ============ 存放根文件系统目录和文件
# tar xzvf /linux/busybox-1.13.3-mini2440.tgz -C /mywork/tools
=====================解压得到busybox源文件