本帖最后由 huang301 于 2012-3-22 12:54 编辑
整理人:KPBoy qq:1056339680 韦东山二期驱动视频教程 秒杀价格180元 应该是市面上最好的嵌入式学习视频 报名只要给我淘宝号和名字就可以了 到时自己到他的淘宝店拍下视频的 这里是视频的详细网页介绍 http://www.100ask.net/Linuxvideo.html 留言“KPBoy团购 + 自己的邮箱 " 才有团购价 开发环境:装有红帽企业版6.2的wmware虚拟机一台 交叉工具链是:嵌入式光盘里附送的交叉工具链 arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2 Uboot:1.1.6 Linux kernel:linux-2.6.22.6 Filesystem:使用mdev机制的最小根文件系统fs_mini_mdev 还有一个需要注意的地方: 光盘里的linux-2.6.22.6在TQ2440/MINI2440上使用时会导致蜂鸣器响,这是因为JZ2440的LCD用GPB0作为LCD背光使能引脚, 而TQ2440/MINI2440用GPB0作为蜂鸣器的使能引脚 使用TQ2440,重新配置内核把自带的LCD驱动去掉即可,方法如下: 在内核目录下执行: make menuconfig -> Device Drivers -> Graphics support <> S3C2410 LCD framebuffer support // 输入N (以上都是使用韦东山老师提供的源码和补丁,现在先熟悉下,等以后自己熟悉了再自己来移植和完善) S3C2440开发板一台 好了,根据韦东山前面的9到11课的视频,搭建好上面的uboot和内核之后,我们就开始搭建在产品开发过程中经常使用到的NFS文件系统了。首先我们来看看Linux文件系统时什么? 问:什么是Linux文件系统? 答: 通常一个完整的Linux系统有数千上万个文件组成,文件中存储了程序,数据和各种信息。层次化的目录结构对于文件进行编目和分组。期中采用了各种方法来永久存储所需的结构和数据。 为支持各种本机文件系统,而同时允许访问其他操作系统的文件,Linux内核在用户进程(或C标准库)和文件系统实现之间引入了一个抽象层。该抽象层称之为虚拟文件系统(Virtual File system),简称VFS。 VFS的任务并不简单。一方面。它用来提供操作文件,目录及其他对象的统一方法。另一方面都有一些不同之处。但VFS的回报很高,它使得Linux更加灵活了。 内核支持40多种文件系统,其来源各种各样:如用于CD-ROM的iso9660,网络文件系统(NFS文件系统)和虚拟的文件系统(如proc文件系统)。 问:那么linux文件系统有哪些类型呢? 文件系统一般可以分为下面3中。(我们这里是详细学习下网络文件系统) ①基于磁盘的文件系统 ②虚拟文件系统(virtual Filesystem),如proc文件系统 ③网络文件系统(Network Filesystem):是基于磁盘的文件系统和虚拟文件系统之间的折中。这种文件系统允许访问另一台计算机上的数据,该计算机通过网络连接到本地计算机。在这种情况下,数据实际上是存储在一个不同系统的硬件设备上。这意味着内核无需关注文件的存取,数据的组织和硬件通信的细节,这些有远程计算机的内核处理。对这类文件系统中的文件操作都是通过网络连接进行。在进程向文件写入数据时,数据使用特定的协议(由具体的网络文件系统决定)发送到远程计算机。接下来远程计算机负责储存传输的数据并通知发送者数据已经到达。 尽管是这样,但是内核处理网络文件系统时,依然需要文件长度,文件在目录层次中的位置以及文件的其他重要信息。他必须在提供函数,使得用户进程能够执行通常的文件相关操作,如打开,读,删除等。由于VFS抽象层的存在,用户空间的进程不会看到本地系统与网络文件系统之间的区别。 NFS文件系统的详细使用说明可以参考:linux-2.6.6.22code\linux-2.6.22.6\Documentation\nfsroot.txt(以下是这个文档的内容) 看完上面这个文档之后,我们大概就知道接下来要做的工作了,下面介绍下怎样来实现从NFS起文件系统 1.首先在宿主机(我们的Linux服务器,即虚拟机上的linux系统)上开启nfs服务,首先查看有没有安装nfs-utils的安装包,命令:#rpm -q nfs-utils(我是一开始就已经定制装了NFS服务器的了,如果你没有安装,可以网上百度下怎样在红帽下安装NFS服务器就可以了) 如果没安装nfs-utils的安装包,那么从对应的Linux操作系统版本安装光盘找到nfa-utils的安装版并安装。 1.NFS配置,加入允许被那些计算机访问,访问的目录和访问权限。 #gedit /etc/exports 重启NFS服务(输入上图中的命令)。 NFS服务器一般是用于两台不同的linux主机间的挂载 下面介绍下从开发板从NFS启动的方法(首先S3C2440开发板从NORFLASH启动,进入到uboot命令行模式,这里我使用的韦东山老师提供的1.1.6版本的uboot) 然后设置下NFS服务器的目录,(也就是将下面的这一大串的字符复制,然后paste到securet中去就可以了,有时可能是格式出错,这个没关系的,你改改这些字母的顺序就可以),至于为什么要这样设置呢,那就要看上面的nfsroot.txt文档了,还有就是先看看韦东山的第11课的第4节有详细介绍的(先看视频,再看上面的那个英文本档) setenv bootargs noinitrdroor=/dev/nfs nfsroot=/home/mycode/KPBoy/nfs_root/fs_mini_mdev ip=192.168.1.6:192.168.1.230:192.168.1.1:255.255.255.0::eth0:off init=linuxrc console=ttySAC0 输入在命令行里saveenv,将设置保存nandflash中去
然后输入boot启动系统,
|