一、什么是系统移植
1.1 系统移植就是给开发板搭建一个Linux操作系统
1.2 从官方获取源码,进行配置和编译,生成板子需要的镜像文件
二、为什么学习系统移植
2.1 为后面学驱动开发课程打基础
2.2 驱动开发工程必备技能
三、如何学习系统移植
3.1 重点掌握配置和编译的流程
3.2 不要深追源码中的内容
四、课程安排
1.环境搭建 + gnu二进制工具集 + Makefile ----->1天
2.uboot移植和TF-A移植 ----->3天
3.内核移植 ----->1.5天
4.根文件系统 ----->1.5天
五、安装tftp服务器
5.1 安装步骤
重要内容:需要让ubuntu连接外网
tftp服务器:基于UDP协议完成简单文件的传输
作用:通过网线下载程序到开发板中
1.安装tftp服务器安装包
sudo apt-get install tftpd-hpa tftp-hpa
tftpd-hpa:tftp服务器端
tftp-hpa:tftp客户端
2.在家目录下,创建一个文件夹,文件夹名字为tftpboot
cd ~
mkdir tftpboot
chmod 777 tftpboot
3.配置tftp服务器
1)打开配置文件 sudo vi /etc/default/tftpd-hpa
2)需要配置如下内容
3 TFTP_USERNAME="tftp" #tftp服务器名字
4 TFTP_DIRECTORY="/home/linux/tftpboot/" #tftp服务器下载路径,大家需要更改为自己的路径
5 TFTP_ADDRESS="0.0.0.0:69" #tftp服务器下载ip地址和端口号
6 TFTP_OPTIONS="-c -l -s" #保持默认的参数
4.重启配置文件
source /etc/default/tftpd-hpa
5.重启tftp服务器
sudo service tftpd-hpa restart
6.测试tftp服务器是否安装成功
1>在家目录创建huyue.c,在~/tftpboot目录下创建1.c
2>实验目的:将~/huyue.c上传到~/tftpboot,将~/tftpboot目录下1.c下载到当前目录
3>上传和下载步骤参考下图所示
5.2 作用
5.3 总结
1.在开发板中emmc设备或者TF卡设备中固化uboot镜像文件
2.在ubuntu中~/tftpboot目录下,准备好基于tftp服务器下载的文件
3.通过开发板的拨码开关,选择开发板的启动方式
4.开发板上电,uboot镜像文件加载到开发板内存中
5.在串口工具打印uboo信息,在倒计时时间进入0之前,按下enter键,进入交互模式
6.使用tftp命令通过网线下载程序到开发板中
六、安装nfs服务器
6.1 安装步骤
注意:一定保证ubuntu有网
nfs服务器:网络文件系统
作用:ubuntu通过网络的方式挂载文件到开发板中
1.安装nfs服务器安装包
sudo apt-get install nfs-kernel-server
2.在家目录下创建一个文件夹,文件夹的名字为nfs
cd ~
mkdir nfs
chmod 777 nfs
3.将rootfs-ok.tar.xz文件拷贝到~/nfs目录下
4.对文件进行解压
tar -vxf rootfs-ok.tar.xz
5.配置nfs服务器
1)打开配置文件:
2)在配置文件最后一行,添加如下内容:sudo vi /etc/exports
11 /home/linux/nfs/rootfs *(rw,sync,no_subtree_check,no_root_squash)
解释:
/home/linux/nfs/rootfs:挂载路径,需要注意填写自己的路径
*(:之间不要有空格
rw:可读可写权限
sync:同步信息
no_subtree_check:不检查子目录的信息
no_root_squash:在开发板中默认权限就是管理员权限,不需要加sudo
6.重启nfs服务器
sudo service nfs-kernel-server restart
7.本地测试nfs服务器是否安装成功:
1>实验现象:将~/nfs/rootfs目录下内容挂载到/mnt目录下
2>挂载命令:
sudo mount -t nfs 192.168.250.100:/home/linux/nfs/rootfs /mnt
解释: mount:挂载命令
-t nfs :指定使用nfs服务器进行挂载
192.168.250.100:挂载的ip地址,通过ifconfig进