tftp加载Linux内核nfs挂载rootfs

一、背景

在代码的开发过程中我们会经常修改内核和设备树的源码,也会经常向根文件系统中添加一些驱动或应用程序,这样每次修改之后我们都要重新将内核或根文件系统安装到EMMC中,步骤会比较繁琐,开发效率也比较低,所以在开发阶段我们经常使用的方式是通过tftp加载内核和设备树再通过nfs挂载根文件系统,这样步骤简单,效率也比较高,等到产品定型之后在安装到EMMC中。

二、详细步骤

1、将“rootfs.tar”拷贝到ubuntu中的nfs工作目录下,并解压根文件系统到nfs目录下,命令如下:

sudo tar vxf rootfs.tar.xz

解压完成后删除原有的压缩包,命令如下:

sudo rm rootfs.tar.xz

2、修改uboot的启动参数,命令如下:

setenv bootcmd tftp 0x41000000 uImage\;tftp 0x42000000 exynos4412-fs4412.dtb\;bootm 0x41000000 - 0x42000000

设置完后保存这些参数。
3、重启nfs服务器,命令如下:

sudo service nfs-kernel-server restart

4、给开发板重新上电,上电之后观察内核是否通过tftp加载和启动内核,启动完成后是否能挂载根文件系统(nfs),在终端输入linux的shell命令测试是否正常,若启动正常我们向nfs的工作目录中添加了新的文件之后可以在开发板直接看到。

你可能感兴趣的:(系统移植,linux,ubuntu,内核,驱动开发)