博客
关于我
Linux内核调试手段
阅读量:496 次
发布时间:2019-03-07

本文共 1225 字,大约阅读时间需要 4 分钟。

在uboot中通过NFS下载并运行Ubuntu镜像和设备树

在开发和调试嵌入式系统时,使用NFS命令是一种常见且高效的方法,适用于通过网络下载并运行Ubuntu镜像和设备树。以下是详细的操作步骤和注意事项:

1. 安装NFS服务器并配置网络

首先,确保Ubuntu系统中已安装NFS服务器端:

sudo apt-get install nfs-kernel-server

接下来,设置网络设备并确保防火墙已关闭:

sudo ifconfig eth0 upsudo ifconfig eth0 192.168.1.119 upsudo ufw disable

关闭防火墙测试完成后启用防火墙:

sudo ufw enable

查看防火墙状态:

sudo ufw status

然后,编辑NFS配置文件并设置根文件系统共享权限:

sudo gedit /etc/exports

在文件末尾添加以下内容:

/home/用户名/root_fs *(rw,sync,no_root_squash)

重启NFS服务器:

sudo /etc/init.d/nfs-kernel-server restart

最后,测试服务器是否能够挂载根文件系统:

sudo mount -t nfs 192.168.1.119:/home/用户名/root_fs /mnt

2. 在uboot中挂载根文件系统并更新板子文件系统

进入uboot命令行,设置开发板的IP地址和NFS根文件系统路径:

setenv serverip 192.168.1.119setenv ipaddr 192.168.1.2setenv nfsroot /home/用户名/fs_rootfsrun netboot

运行完成后,板子将通过NFS挂载根文件系统,文件系统路径位于/mnt目录下。如果需要,可以手动创建该目录:

mkdir mnt

将文件从Ubuntu传输至板子文件系统:

mount -t nfs -o nolock,vers=3 192.168.1.199:/home/用户名/root_fs /mntcp /mnt/hello.c ./test

3. 使用gdb进行远程调试

为了进行嵌入式系统的调试,可以使用arm-linux-gdbgdbserver组合:

arm-linux-gdb -gdbserver

通过VSCode、QtCreator或Eclipse等IDE集成调试环境,方便进行源码调试。

4. 注意事项

  • 确保板子和Ubuntu系统处于同一网段,手动设置IP地址时使用正确的子网掩码:
ifconfig eth0 192.168.1.119 up
  • 在重启开发板前,确保保存并应用uboot设置:
saveenvreboot

通过以上方法,开发者可以高效地在嵌入式系统中使用NFS进行文件传输和系统启动,同时结合gdb进行远程调试,确保开发和调试过程的顺利进行。

转载地址:http://pqpcz.baihongyu.com/

你可能感兴趣的文章
Netty工作笔记0050---Netty核心模块1
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty常见组件二
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty核心模块组件
查看>>
Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—4.客户端接入流程一
查看>>
Netty源码—4.客户端接入流程二
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—6.ByteBuf原理二
查看>>
Netty源码—7.ByteBuf原理三
查看>>
Netty源码—7.ByteBuf原理四
查看>>
Netty源码—8.编解码原理二
查看>>
Netty源码解读
查看>>
Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
查看>>
Netty相关
查看>>
Network Dissection:Quantifying Interpretability of Deep Visual Representations(深层视觉表征的量化解释)
查看>>
Network Sniffer and Connection Analyzer
查看>>
NFS共享文件系统搭建
查看>>