嵌入式Linux开发环境搭建,问题ping、nfs的解决

简介: 嵌入式Linux开发环境搭建,问题ping、nfs的解决一. 嵌入式软件层次1) Bootloader->引导加载程序  整个嵌入式系统的加载启动任务完全交给Bootloader完成,它的主要任务是将内核映象从硬盘读到RAM中,然后跳转到内核入口启动内核(操作系统)!通俗来讲,Bootloader的作用就是初始化硬件,启动操作系统。

嵌入式Linux开发环境搭建,问题ping、nfs的解决
一. 嵌入式软件层次

1) Bootloader->引导加载程序

  整个嵌入式系统的加载启动任务完全交给Bootloader完成,它的主要任务是将内核映象从硬盘读到RAM中,然后跳转到内核入口启动内核(操作系统)!通俗来讲,Bootloader的作用就是初始化硬件,启动操作系统。

U-BOOT是Bootloader最常用的一种,将uboot下载至开发板的nand flash(ROM)中,即可通过仿真软件Secure CRT对开发板进行初始设置。 包括开发板的环境变量、IP等设置项,为后面下载内核、加载文件系统做基础。

2)Linux内核

  实现不同的硬件、软件需求配置不同的系统内核。一般基于已有的内核进行修改

配置内核 -> 编译内核 -> 安装内核 -> 清理内核过程文件(make clean)

配置内核: make menuconfig ARCH=arm 菜单式交互界面选择所需的驱动、协议文件

编译内核:make uImage(内核名) ARCH=arm CROSS_COMPILE=arm-linux-

安装内核:通过tftp服务器,在基于uboot下下载uImage至 20000fc0(210开发板启动地址) "tftp uImage 20007fc0"

3)文件系统

  文件系统简单说就是一种目录结构,由于linux操作系统的设备在系统中是以文件的形式存在,将这些文件分类管理以及提供和内核交互的接口,就形成了一定的目录结构也就是文件系统。  

基本流程:a.设置根文件系统目录rootfs及内部存储文件目录bin、dev、lib、sbin、sys、usr、mnt等;

     b.文件系统添加内核模块,在linux内核目录下"/home/S4-Driver/linux-smart210/";

        " make modules ARCH=arm CROSS_COMPILE=arm-linux- " 内核编译

        " make modules——install ARCH=arm INSTALL_MOD_PATH=/home/S5-/rootfs " 内核文件复制到根文件目录下

               c.根目录"/.../rootfs"下安装交叉编译器busybox,配置内核->编译内核->安装拷贝make install;

     d.挂载根文件系统,使用nfs方式,可实时在线根文件系统rootfs;

  SecureCRT -> 通过uboot对开发板进行参数配置(nfs配置项) -> tftp服务器下载Linux内核 -> bootm 20007fc0运行挂载即可!

二.偶遇问题

  1. 开发板ping的系列问题

1) 模型结构搭建:PC机 -> 有线网卡 -> 路由器 -> 直连网线 -> 开发板网口;

2)a. 设置虚拟机为桥接模式,以保证外网可寻找到Linux虚拟机ip;

  b. PC机使用的是有线网卡,则PC机及Linux虚拟网络适配器觉选择Realtak USB(有线网口);

  c. 保证Linux虚拟机、PC机、开发板三者ip处于同一网段;

3)关闭Linux虚拟机、PC机的防火墙,使得PC可ping通Linux和开发板

  再排除硬件接口问题,即可通讯。

2.nfs挂载问题

  nfs挂载出现如:"Server is not responding"、" unable to mount root"等问题,其主要原因是nfs的挂在设置参数、下载地址有问题。如smart210下载地址为20007fc0(并非20008000),nfs默认是使用udp通信协议,挂载参数网上都可哟搜索到,多试一试就没问题,前提是保证Linux的nfs服务器能正常使用。
原文地址https://www.cnblogs.com/hjh-666/p/10893670.html

相关文章
|
17天前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
65 15
|
1月前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
141 20
|
22天前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
154 7
|
1月前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
103 13
|
2月前
|
运维 监控 Linux
别再只会使用简单的 ping 命令了,Linux 中这些高级 ping 命令可以提高工作效率!
在 Linux 系统中,ping 命令不仅用于检测网络连通性和延迟,还拥有多种高级选项和技巧,如定制数据包大小、获取详细统计信息、持续 ping、指定源地址和多目标 ping。本文详细介绍这些高级命令及其在性能测试、故障排查和网络监控中的实际应用,帮助你提升网络管理效率。
228 3
|
2月前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
191 3
|
5月前
|
NoSQL Linux C语言
嵌入式GDB调试Linux C程序或交叉编译(开发板)
【8月更文挑战第24天】本文档介绍了如何在嵌入式环境下使用GDB调试Linux C程序及进行交叉编译。调试步骤包括:编译程序时加入`-g`选项以生成调试信息;启动GDB并加载程序;设置断点;运行程序至断点;单步执行代码;查看变量值;继续执行或退出GDB。对于交叉编译,需安装对应架构的交叉编译工具链,配置编译环境,使用工具链编译程序,并将程序传输到开发板进行调试。过程中可能遇到工具链不匹配等问题,需针对性解决。
208 3
|
5月前
|
Ubuntu Linux
内核实验(四):Qemu调试Linux内核,实现NFS挂载
本文介绍了在Qemu虚拟机中配置NFS挂载的过程,包括服务端的NFS服务器安装、配置和启动,客户端的DHCP脚本添加和开机脚本修改,以及在Qemu中挂载NFS、测试连通性和解决挂载失败的方法。
322 0
内核实验(四):Qemu调试Linux内核,实现NFS挂载
|
5月前
|
存储 Linux Shell
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
|
5月前
|
运维 Ubuntu 安全
在Linux中,如何配置NFS共享?
在Linux中,如何配置NFS共享?

热门文章

最新文章