嵌入式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服务器能正常使用。
嵌入式Linux开发环境搭建,问题ping、nfs的解决的更多相关文章
- 00.嵌入式Linux开发环境搭建
3.虚拟机上网配置 虚拟机如果要从网上获取资源,就要能够访问外网.虚拟机有三种上网方式:桥接上网,NAT上网,单主机模式[没用过].本节从原理和操作2个方面讲了NAT方式和桥接方式这2种不同的虚拟机 ...
- 用Windows+VirtualBox搭建嵌入式Linux开发环境
Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...
- 一步步学习Linux开发环境搭建与使用
00.Linux开发环境搭建与使用1--Linux简史 01.Linux开发环境搭建与使用2--Linux系统(ubuntu)安装方案 02.Linux开发环境搭建与使用3--通过虚拟机安装系统(ub ...
- Django Python MySQL Linux 开发环境搭建
Django Python MySQL Linux 开发环境搭建 1.安装Python 进行Python开发,首先必须安装python,对于linux 或者Mac 用户,python已经预装. 在命令 ...
- Linux开发环境搭建与使用系列教程
00.Linux开发环境搭建与使用1——Linux简史 01.Linux开发环境搭建与使用2——Linux系统(ubuntu)安装方案 02.Linux开发环境搭建与使用3——通过虚拟机安装系统(ub ...
- Android开发环境搭建时遇到问题的解决方法
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/linux_loajie/article/details/33823637 Android开发环境搭建 ...
- 嵌入式linux开发环境构建
2.1硬件环境构建 2.1.1主机与目标板结合的交叉开发模式 在主机上编辑.编译软件,然后再目标办上运行.验证程序. 对于S3C2440.S3C2410开发板,进行嵌入式Linux开发时一般可以分为以 ...
- 基于AM3352/AM3354/AM3358/AM3359的Linux 开发环境搭建(上)
遇到不少人新手小白问,前辈如何搭建一个优良的Linux 开发环境?之前一直都是在用win开发,现在想要尝试用Linux做开发等等一系列的问题.开源一直是给电子行业工作者提供了一种向技术更深处进发的机遇 ...
- 嵌入式ARM开发环境搭建
1. 安装,配置,启动FTP服务 安装FTP: sudo apt-get install vsftpd 修改vsftpd的配置文件/etc/vsftpd.conf,将下面两行的'#'去掉#local_ ...
随机推荐
- ASP.NET MVC视图
前言 视图即是用户与Web应用程序的接口,用户通常会看到视图,然后在视图上进行交互,Web应用程序的视图通常是HTML格式. 首先了解控制器选择返回哪个视图的问题.新建一个项目,浏览到/Home/Ab ...
- 设置tablewidget自适应列宽和设置自动等宽
在网上很容易知道自适应列宽,100%不留空显示,这里还是提下: /*设置表格是否充满,即行末不留空*/ ui->tableWidget->horizontalHeader()-> ...
- Elasticsearch 6.1.2 搭建及使用教程一
安装包: es6.1.2 es-head 开发环境:jdk 1.8 搭建流程一一说明: 将下载好的es解压后找到如下图文件 打开后如下图所示配置(已添加详细注释): # 集群的名字 cluster.n ...
- hadoop之hive建表语句备份
转自:https://blog.csdn.net/t___z/article/details/78492113 #!/bin/bash hive -e "use lbi;show table ...
- shell多线程(2)之基于管道实现并发
在shell脚本里批量执行程序是比较常见的方式,如果程序很多,每个执行时间比较长,则顺序执行需要花费大量的时间. 此时并发就成为我们考虑的方向. 上篇<shell多线程>中我们已经简单实现 ...
- Hibernate注解(二):关联关系映射注解
关联关系映射注解以下项目均在之前相应代码的基础上进行的修改.这些项目均需要做的是: 删除映射文件 在hibernate.cfg.xml中注册实体类 注解的重要位置在实体类中关联属性上.这里是关联 ...
- Unity Shader 玻璃效果
一个玻璃效果主要分为两个部分,一部分是折射效果的计算,另一部分则是反射.下面分类进行讨论: 折射: 1.利用Grass Pass对当前屏幕的渲染图像进行采样 2.得到法线贴图对折射的影响 3.对采集的 ...
- LVS的工作原理认识
一.LVS 简介及工作模式 1. LVS:Linux Virtaul Server,该软件的功能是实现LB(load balance) 2. 三种工作模式的使用范围 1)NAT模式(NAT) LVS ...
- 28个Java开发常用规范技巧总结
1.类的命名使用驼峰式命名的规范. 例如:UserService,但是以下情景例外:DO / BO / PO / DTO / VO. 例如说:UserPO,StudentPO(PO,VO,DTO,等这 ...
- JS数据结构第四篇 --- 栈
一.什么是数据结构栈 在数据结构中有一个栈结构,在内存空间中也有一个栈空间,这两个”栈“是两个不同的概念.这篇我们说的是数据结构中的栈.栈是一种特殊的线性表,特殊性在哪?就是只能在栈顶进行操作,往栈顶 ...