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

你可能感兴趣的文章
PIGS POJ 1149 网络流
查看>>
PIL Image对图像进行点乘,加上常数(等像素操作)
查看>>
PIL Image转Pytorch Tensor
查看>>
PIL&QOOT;IOERROR:带有大图像的图像文件被截断(&Q)
查看>>
PIL.Image、cv2的img、bytes相互转换
查看>>
PIL.Image进行图像融合显示(Image.blend)
查看>>
pilicat-dfs 霹雳猫-分布式文件系统
查看>>
Pillow lacks the JPEG 2000 plugin
查看>>
SpringBoot之ElasticsearchRestTemplate常用示例
查看>>
ping 全网段CMD命令
查看>>
ping 命令的七种用法,看完瞬间成大神
查看>>
Pinia入门(快速上手)
查看>>
Pinia:$patch的使用场景
查看>>
Pinia:$subscribe()的使用场景
查看>>
Pinpoint对Kubernetes关键业务模块进行全链路监控
查看>>
Pinterest 大规模缓存集群的架构剖析
查看>>
pintos project (2) Project 1 Thread -Mission 1 Code
查看>>
PinYin4j库的使用
查看>>
PIP
查看>>
pip install goose-extractor // SyntaxError: Missing parentheses in call to 'print'
查看>>