第一:

开始系统学习Linux驱动,以前断断续续也玩玩了一下,开贴来系统学习Linux驱动。

硬件平台是JZ2440-4.3 ARM9开发板,开发板运行系统版本Linux3.4.2内核(内核移植,下载等相关其他篇幅)。

设置开发板系统IP,让开发板与主机、开发板与虚拟机互通。

查看开发板ip

/ # route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
127.0.0.0 * 255.255.255.0 U 0 0 0 lo
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0

以上是我设置好的,如果没有设置过是没有IP的,如下:

/ # route

设置ip

ifconfig lo 127.0.0.1
route add -net 127.0.0.0 netmask 255.255.255.0 lo
ifconfig eth0 192.168.1.17
route add -net 192.168.1.17 netmask 255.255.255.0

注意:192.168.1.17这个是开发板ip,这个ip要与主机、虚拟机在同一个网段,简单说主机ip应该为192.168.1.xx、虚拟机ip也应该为192.168.1.xx,否则三者之间无法ping通。

测试ip是否可以ping通

开发板ping主机

/ # ping 192.168.1.10(主机ip)
PING 192.168.1.10 (192.168.1.10): 56 data bytes
64 bytes from 192.168.1.10: seq=0 ttl=64 time=1.888 ms
64 bytes from 192.168.1.10: seq=1 ttl=64 time=0.763 ms
64 bytes from 192.168.1.10: seq=2 ttl=64 time=0.733 ms
64 bytes from 192.168.1.10: seq=3 ttl=64 time=0.744 ms
64 bytes from 192.168.1.10: seq=4 ttl=64 time=0.769 ms
^C
--- 192.168.1.10 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.733/0.979/1.888 ms

开发板ping虚拟机

/ # ping 192.168.1.20(虚拟机ip)
PING 192.168.1.20 (192.168.1.20): 56 data bytes
64 bytes from 192.168.1.20: seq=0 ttl=64 time=22.074 ms
64 bytes from 192.168.1.20: seq=1 ttl=64 time=0.975 ms
64 bytes from 192.168.1.20: seq=2 ttl=64 time=1.100 ms
64 bytes from 192.168.1.20: seq=3 ttl=64 time=0.934 ms
64 bytes from 192.168.1.20: seq=4 ttl=64 time=1.090 ms
64 bytes from 192.168.1.20: seq=5 ttl=64 time=1.075 ms
64 bytes from 192.168.1.20: seq=6 ttl=64 time=1.004 ms
64 bytes from 192.168.1.20: seq=7 ttl=64 time=0.955 ms
^C
--- 192.168.1.20 ping statistics ---
8 packets transmitted, 8 packets received, 0% packet loss
round-trip min/avg/max = 0.934/3.650/22.074 ms

设置正确就可以相互ping通。

NFS挂载开发板到虚拟机nfs目录

mount -t nfs -o intr,nolock,rsize=1024,wsize=1024  192.168.1.20:/work/nfs_root /mnt

注意:

1、192.168.1.20为虚拟机ip(根据虚拟机ip的目录做相应改变)

2、/work/nfs_root为虚拟机nfs目录(根据nfs的目录做相应改变)

第二:

  上面的方法比较麻烦,太笨了,改另一种方法。估计也不少人遇到这样的问题,串口连接在运行Linux系统开发板,输入ifconfig命令不显示IP地址。

应该是输入ifconfig eth0,显示如下:

/ # ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:60:6E:33:44:55
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:51 Base address:0x8000

/ #

显然这个时候开发板是没有IP地址的,好了这要知道了这个命令了好,那就给动态分配一个IP吧。

/ # ifconfig eth0 192.168.1.17
/ # ping 192.168.1.20
PING 192.168.1.20 (192.168.1.20): 56 data bytes
64 bytes from 192.168.1.20: seq=0 ttl=64 time=1.223 ms
64 bytes from 192.168.1.20: seq=1 ttl=64 time=1.643 ms
64 bytes from 192.168.1.20: seq=2 ttl=64 time=0.982 ms
64 bytes from 192.168.1.20: seq=3 ttl=64 time=1.065 ms
^C
--- 192.168.1.20 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.982/1.228/1.643 ms
/ #

这样就完成了IP配置了。

Linux驱动之准备的更多相关文章

  1. Linux代码的重用与强行卸载Linux驱动

    (一)Linux代码的重用 重用=静态重用(将要重用的代码放到其他的文件的头文件中声明)+动态重用(使用另外一个Linux驱动中的资源,例如函数.变量.宏等) 1.编译是由多个文件组成的Linux驱动 ...

  2. Linux驱动学习之常用的模块操作命令

    1.常用的模块操作命令 (1)lsmod(list module,将模块列表显示),功能是打印出当前内核中已经安装的模块列表 (2)insmod(install module,安装模块),功能是向当前 ...

  3. Linux驱动学习之驱动开发准备工作

    一.开启驱动开发之路 1.驱动开发的准备工作 (1)正常运行linux系统的开发板.要求开发板中的linux的zImage必须是自己编译的,不能是别人编译的.原因在于在安装模块的时候会进行安全性校验 ...

  4. Linux驱动学习之什么是驱动?

    一.什么是驱动? 1: 驱动一词的字面意思 2: 物理上的驱动 3: 硬件中的驱动 4: linux内核驱动.软件层面上的驱动广义上是指:这一段代码操作了硬件去动,所以这一段代码就叫硬件的驱动程序. ...

  5. 嵌入式Linux驱动开发日记

    嵌入式Linux驱动开发日记 主机硬件环境 开发机:虚拟机Ubuntu12.04 内存: 1G 硬盘:80GB 目标板硬件环境 CPU: SP5V210 (开发板:QT210) SDRAM: 512M ...

  6. linux驱动程序设计的硬件基础,王明学learn

    linux驱动程序设计的硬件基础(一) 本章讲总结学习linux设备程序设计的硬件基础. 一.处理器 1.1通用处理器 通用处理器(GPP)并不针对特定的应用领域进行体系结构和指令集的优化,它们具有一 ...

  7. linux驱动初探之杂项设备(控制两个GPIO口)

    关键字:linux驱动.杂项设备.GPIO 此驱动程序控制了外接的两个二极管,二极管是低电平有效. 上一篇博客中已经介绍了linux驱动程序的编写流程,这篇博客算是前一篇的提高篇,也是下一篇博客(JN ...

  8. linux驱动初探之字符驱动

    关键字:字符驱动.动态生成设备节点.helloworld linux驱动编程,个人觉得第一件事就是配置好平台文件,这里以字符设备,也就是传说中的helloworld为例~ 此驱动程序基于linux3. ...

  9. Linux驱动之HelloWorld

    最近看android的一些源码,里面有一些功能是用驱动实现的.于是就兴起看了一些驱动相关的东西,准备日后深入.这没有技术含量的水文,仅作为日后的备忘吧. 系统使用的是ubuntu 12.0.04,内核 ...

  10. linux 驱动学习笔记01--Linux 内核的编译

    由于用的学习材料是<linux设备驱动开发详解(第二版)>,所以linux驱动学习笔记大部分文字描述来自于这本书,学习笔记系列用于自己学习理解的一种查阅和复习方式. #make confi ...

随机推荐

  1. Java OCR 图像智能字符识别技术,可识别中文

    http://www.open-open.com/lib/view/open1363156299203.html

  2. Review Board——在线代码审查工具

    代码审查(Code Review)不但可以提高质量,而且还是一个知识共享和指导的极好的手段.不幸的是,准备工作的辛苦和工具支持的缺乏让代码审查很容易被延至“稍后再议”.Review Board的目标便 ...

  3. CentOS6.5系统挂载NTFS分区的移动硬盘 centos安装repoforge源(yum)

    CentOS6.5系统挂载NTFS分区的移动硬盘 作为IT的工作者,避免不了使用Linux系统,我现在使用的系统是CentOS6.5 X86_64位版本,但是插入NTFS移动硬盘没有办法识别.通过下面 ...

  4. sqlserver快照,启用基于行版本控制的隔离级别

    在sqlserver标准的已提交读(read committed)隔离级别下,读写操作相互阻塞.未提交读(read uncommitted)虽然不会有这种阻塞,但是读操作可能会读到脏数据,这是大部分用 ...

  5. (转)手机端html5触屏事件(touch事件)

    本文转载自:http://blog.sina.com.cn/s/blog_51048da70101f0ex.html touchstart:触摸开始的时候触发 touchmove:手指在屏幕上滑动的时 ...

  6. linux系统中rsync+inotify实现服务器之间文件实时同步

    最近需要对服务器上的文件实施动态备份,我又不想每次都手动来进行备份,在网上找了挺多资料,发现使用rsync就可以实现,如果想要实现实时同步,还可以使用rsync+inotify组合,本文就是以组合方式 ...

  7. libcurl上传文件,添加自定义头

    原文  http://www.cnblogs.com/meteoric_cry/p/4285881.html 主题 curl libcurl参数很多,一不小心就容易遇到问题.曾经就遇到过一个很蛋疼的问 ...

  8. Flash AS 响应双击事件MouseEvent.DOUBLE_CLICK

    没想到在WinForm简简单单的一个问题,在AS里会成为一个坑. 我遇到的这个问题是由于Loader没有设置doubleClickEnabled=true而导致的. 因此出现这个问题,请思考是否由于此 ...

  9. java.lang.StackOverflowError: stack size 8MB

    java.lang.StackOverflowError: stack size 8MB at android.text.TextUtils.getChars(TextUtils.java:86) a ...

  10. Scala第一章学习笔记

    面向对象编程是一种自顶向下的程序设计方法.用面向对象方法构造软件时,我们将代码以名词(对象)做切割,每个对象有某种形式的表示服(self/this).行为(方法).和状态(成员变量).识别出名词并且定 ...