博客
关于我
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/

你可能感兴趣的文章
NOIp2005 过河
查看>>
NOIP2011T1 数字反转
查看>>
NOIP2014 提高组 Day2——寻找道路
查看>>
noip借教室 题解
查看>>
NOIP模拟测试19
查看>>
NOIp模拟赛二十九
查看>>
Vue3+element plus+sortablejs实现table列表拖拽
查看>>
Nokia5233手机和我装的几个symbian V5手机软件
查看>>
non linear processor
查看>>
Non-final field ‘code‘ in enum StateEnum‘
查看>>
none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
查看>>
None还可以是函数定义可选参数的一个默认值,设置成默认值时实参在调用该函数时可以不输入与None绑定的元素...
查看>>
NoNodeAvailableException None of the configured nodes are available异常
查看>>
Vue.js 学习总结(16)—— 为什么 :deep、/deep/、>>> 样式能穿透到子组件
查看>>
nopcommerce商城系统--文档整理
查看>>
NOPI读取Excel
查看>>
NoSQL&MongoDB
查看>>
NoSQL介绍
查看>>
NoSQL数据库概述
查看>>
Notadd —— 基于 nest.js 的微服务开发框架
查看>>