Linux中的系统移植

本文详细介绍了在Linux环境中进行系统移植的过程,包括BootLoader的配置、开发环境的搭建,如tftp和nfs服务的安装,以及内核和网卡驱动的编译与配置。在硬件层面,讲解了如何使板子串口正常显示、实现网络连接,并通过tftp加载内核启动。同时,还涵盖了网卡驱动和LED驱动的移植与测试,确保设备能够正确运行。
摘要由CSDN通过智能技术生成

约定: “$”表示是在主机上执行,“#”表示在目标板执行
一块板子的启到Linux运行大概经历:
BootLoader——加载内核——设备树——挂载根文件系统

BootLoader

启动过程:
1、打开svc权限,关闭看懵,中断,清cache,关闭MMU
2、基本初始化时钟、串口、flash内存
3、自搬移(重定位)到内存 (将flash中的搬移到内存中。原因内存速度快)
4、栈的初始化,跳到C语言部分
5、大部分硬件的初始化
6、搬移内核到内存
7、跳到内核执行
在这里插入图片描述
在这里插入图片描述

环境搭建(配置编译)

{//

一、 开发主机安装

{//

二、交叉编译工具安装

  $ tar  xvf  gcc-4.6.4.tar.xz 
  $ export PATH=/home/linux/gcc-4.6.4/bin:$PATH   ///home/linux/gcc-4.6.4/bin要根据你实际路径来改
  $ arm-n  然后按Tab键补全 //如果能补全为arm-none-linux-gnueabi- 表示安装交叉编译工具成功了

}

{//

三、tftp服务安装

	//----

1、虚拟机上安装tftp服务

	$ sudo dpkg   -s   tftpd-hpa   //检查是否安装tftp server
	//$ sudo apt-get  install  tftpd-hpa  如果未安装,安装 tftp-server

	$ sudo vi  /etc/default/tftpd-hpa  //修改tftp服务器配置文件为
			TFTP_USERNAME="tftp"
			TFTP_DIRECTORY="/tftpboot"
			TFTP_ADDRESS="0.0.0.0:69"
			TFTP_OPTIONS="-c  -s  -l"
	$ mkdir  /tftpboot   //创建tftpboot目录,
	$ sudo chmod -R 777  /tftpboot
	$ sudo service   tftpd-hpa   restart	  //启动 tftp-server	
	  	         
  //----

2、-验证虚拟机tftp服务是否OK

	$ sudo cat /etc/default/tftpd-hpa 	
		TFTP_USERNAME="tftp"
		TFTP_DIRECTORY="/tftpboot"
		TFTP_ADDRESS="0.0.0.0:69"
		TFTP_OPTIONS="-l -c -s"
  $ sudo service   tftpd-hpa   restart	  //如果有更改配置,需要重启一下 tftp-server	
	$ cd /tftpboot
	$ touch test
	$ cd /tmp
	$ tftp 127.0.0.1    
	 tftp>get test  
	 tftp>q
	$ ls           //看到有test文件,表示该tftp服务是OK的  	
				        	  
	//---

3、准备待传输文件

  拷贝   uImage exynos4412-fs4412.dtb  到  /tftpboot 目录下

}

{//
<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值