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

你可能感兴趣的文章
python eval简介
查看>>
python excel 饼图 简书_Python实现绘画多个饼图
查看>>
python excel接口自动化测试框架!
查看>>
Python exec 函数解析:探索动态代码执行的无限可能!
查看>>
Python EXEC和__NAME__
查看>>
python file
查看>>
Python FileDialog获取文件夹路径不是文件
查看>>
python filter过滤器的使用_python基础知识分享:zip()、filter函数和reduce如何使用?...
查看>>
python flask 请求code 400, message Bad request version
查看>>
Python Flink Stateful函数入口上的Kafka键访问
查看>>
Python float - str - 浮动怪异
查看>>
Python Flower库:分布式任务管理与监控
查看>>
Python for 循环和迭代器行为
查看>>
Python For循环多次返回
查看>>
python frame_python3 selenium自动化 frame表单嵌套的切换方法
查看>>
Python ftplib - 指定端口
查看>>
Python furl库:一键搞定复杂URL操作
查看>>
Python GC 也会关闭文件吗?
查看>>
python gen_key.py 报错 提示找不到OpenSSL lib
查看>>
python getattrribute_Python学习——面向对象高级之反射
查看>>