Linux系统移植主要由4大部分组成:
1.交叉编译器的安装;
2.u-boot的移植;
3.kernel的编译与移植;
4.根文件系统的制作与移植;
一.交叉编译器的安装
为什么要安装交叉编译器?
速度:开发板的编译速度比较慢,而在虚拟机上编译速度快,节省时间;
空间:编译一个文件时,需要消耗很多资源,而开发板的内存空间比较小,
方便:在Linux系统下编译一个文件需要很多文件支持包,如果在pc上编译就可以不用把这些包移植到开发板上
安装方法:
1.在网上下载适合你开发板的交叉编译器安装包;
2.tar xvf gcc-4.6.4.tar.xz
3.sudo vi /etc/bash.bashrc
在最后一行加入:
PATH=$PATH:/home/fs/gcc-4.64/bin/ (保存退出)
4.source /etc/bash.bashrc
5.arm-none-linux-gnueabi-gcc -v (查看版本号)
二.u-boot的移植
1.在移植之前我们要在我们的PC虚拟机上安装tftp服务器和NFS服务器,让开发板去下在内核和设备树文件,并把NFS挂载到开发板上,让开发板共享nfs服务器下的文件,
tftp安装方法:
NFS服务器安装:
下载u-boot文件并存放到SD卡中,把拨码开关先跳到1000,进入u-boot的交互模式,输入sdfuse flashall,把u-boot烧到开发板上,然后在重新启动开发板之前,把拨码开关调到0110,启动开发板,在倒计时结束之间按下enter键,键入u-boot的交互模式,设置环境变量并保存。
在设置环境变量参数时,要主要你设置的服务器ip地址要和你PC虚拟机上的ip一致;开发板的ip地址随便设置,但它必须要和你的服务器ip在一个网段才行,
三.kernel的编译与移植;
内核移植:把开发板和PC连网线,把编译好的内核复制到tftp服务器上,在我们设置的环境变量里,我们可以直接去下载这个文件到我们的开发板的内存上。
设备树的编译和移植:(移植也和内核一样,去tftp服务器上下载)
四.根文件系统的制作与移植
根文件系统的制作要用到一个安装包 ,来制作根文件系统下bin和sbin下的文件。这些文件要在开发板上用,通过busybox去制作,可以帮我们节省很多时间。
(具体制作看我的下一篇博客)
移植:我们只需要把制作好的文件系统赋值到nfs服务器的目录下,然后让我们的开发板去挂载这个服务器,共享这个文件,
下载内核文件,设备树文件,共享根文件系统的前提都是你首先要能ping通你的虚拟机才行,在用网线连接的情况下,