L13D6 Linux内核安装及交叉编译

一、tftp加载Linux内核及rootfs

(一)背景介绍

 (二)tftp加载Linux内核及rootfs过程

1、将Linux内核镜像、设备树、根文件系统下载到tftp的工作目录

 

2、修改权限,重启tftp

3、设置开发板和ubuntu网络连接

 

*4、设置自启动环境变量

开发板的实际内存地址是0x40000000-0x80000000,共一个G。

0x40000000-0x410000000保留,用于uboot给内核传参。

按照顺序内核、根文件、设备树:启动linux内核,告诉Linux内核根文件系统和设备树的地址。

5、设置uboot环境变量自启动参数bootargs

6、重启开发板,自启动会自动下载和运行Linux内核

(三)自启动tftp下载的信息

1、打印开发板的情况

 2、进入自启动下载Linux镜像、根文件系统、设备树

3、下载完校验

4、uboot执行结束,内核启动

软硬件启动,打印信息

5、挂载根文件系统,Linux系统启动

6、执行Linux命令

二、EMMC加载Linux内核及rootfs

tftp方式,如果开发板不联网或者没有网络,系统无法运行。

MMC一共是4G,一块是512字节。

(一)EMMC加载Linux内核及rootfs流程

1、下载内存镜像到内存,并写入指定扇区

2、下载设备树到内存 ,并将设备树写入EMMC中指定的扇区

3、下载根文件系统镜像到内存中

 4、修改启动参数

5、重启开发板

(二)重启开发板后信息

1、uboot打印开发板信息

2、 MMC加载内核、根文件系统、设备树到内存

3、uboot结束,系统开始

4、挂载根文件系统

5、实现Linux命令

三、tftp加载Linux内核nfs挂载rootfs

 使用tftp更适合开发,使用MMC加载更适合生产。本节我们介绍的这种方法是最适合开发的方式:tftp+nfs结合的方式。

具体方法:用tftp将内核和设备树加载到内存,将根文件系统以网络文件的形式和开发板共享。

(一)tftp加载Linux内核nfs挂载rootfs流程

1、将根文件目录放到NFS的工作目录下

2、修改启动参数

3、重启tftp

4、给开发板重新上电

加载linux内核:

 加载设备树:

nfs挂载根目录系统

5、使用linux命令

文件实际存在于ununtu中,只是共享到开发板。

6、交叉编译

在乌班图编辑和编译

在开发板执行

7、uboot传递给内核的参数

 根文件系统的挂载方式:nfs

根文件的ip:ubuntu下的/opt/4412/rootfs

console:linux通过串口2打印信息

init:linux启动后的第一个进程

ip:开发板ip,告诉内核开发板自身ip

四、EMMC加载uboot

1、将uboot放到tftp的工作目录下,并给最高权限。

2、开发板重新上电,下载uboot

3、将内核镜像安装到EMMC中指定扇区

因为要将uboot下载到引导分区中,因此需要开/关引导分区

4、设置开发板的为EMMC启动

5、上电,启动的是EMMC中的uboot所以环境变量需要重新设置

设置开发板ip

设置服务器

设置自启动

设置bootargs

注意这里的ip应为192.168.0.200

serverip:192.168.0.100

 6、重启nfs和tftp服务器

 五、作业

1.简述uboot中bootargs环境变量的功能?
2.使用tftp加载Linux内核和设备树,nfs挂载rootfs,将启动完Linux后的界面截图提交

1、向内核传递参数:首先告诉内核根文件系统挂载的服务器的路径,然后是读写权限,接着告诉内核在哪个端口打印信息,最后告诉内核开发板的ip地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值