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安装方法:

linux移植python linux移植到开发板_linux系统移植到开发板

NFS服务器安装:

linux移植python linux移植到开发板_linux移植python_02

下载u-boot文件并存放到SD卡中,把拨码开关先跳到1000,进入u-boot的交互模式,输入sdfuse flashall,把u-boot烧到开发板上,然后在重新启动开发板之前,把拨码开关调到0110,启动开发板,在倒计时结束之间按下enter键,键入u-boot的交互模式,设置环境变量并保存。

在设置环境变量参数时,要主要你设置的服务器ip地址要和你PC虚拟机上的ip一致;开发板的ip地址随便设置,但它必须要和你的服务器ip在一个网段才行,

三.kernel的编译与移植;

linux移植python linux移植到开发板_根文件系统_03

内核移植:把开发板和PC连网线,把编译好的内核复制到tftp服务器上,在我们设置的环境变量里,我们可以直接去下载这个文件到我们的开发板的内存上。

设备树的编译和移植:(移植也和内核一样,去tftp服务器上下载)

linux移植python linux移植到开发板_linux移植python_04

四.根文件系统的制作与移植

根文件系统的制作要用到一个安装包 ,来制作根文件系统下bin和sbin下的文件。这些文件要在开发板上用,通过busybox去制作,可以帮我们节省很多时间。

(具体制作看我的下一篇博客)

移植:我们只需要把制作好的文件系统赋值到nfs服务器的目录下,然后让我们的开发板去挂载这个服务器,共享这个文件,

下载内核文件,设备树文件,共享根文件系统的前提都是你首先要能ping通你的虚拟机才行,在用网线连接的情况下,