Linux系统环境下的FPGA驱动方案解析

Linux系统环境下的FPGA驱动方案解析
Linux系统环境下的FPGA驱动方案解析

Linux操作系统的全称是GNU/Linux,它是由GNU工程和Linux内核两个部分共同组成的一个操作系统。该系统中所有组件的源代码都是自由的,可以有效保护学习成果,因而在嵌入式领域得到了广泛的应用。

FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,该器件是作为专用集成电路ASIC (Application Specific Integrated Circuit)领域中的一种半定制电路而出现的,它的出现既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。在通信行业、传输网、医疗仪器、各种电子仪器、安防监控、电力系统、汽车电子以及消费类电子中都大面积使用。随着产品研发周期的逐步缩短,定制型产品的开发使FPGA在后面的应用面越来越广。例如在2G和3G通信,以及以后的4G通信和wimax等等通信类设备中,它与DSP、MPU一起将大量出现在其中。

S3C2410微处理器是一款由Samsung为手持设备设计的低功耗、高度集成的微处理器,采用272脚FBGA封装,内含一个ARM920T内核和一些片内外围设备。在时钟方面,该芯片集成了一个具有日历功能的RTC和具有PLL (MPLL和UPLL)的芯片时钟发生器。MPLL产生的主时钟能够使处理器工作频率最高达到

203MHz。这个工作频率能够使处理器轻松运行于Windows CE,Linux等操作系统并进行较为复杂的信息处理。为此,本文以S3C2410上使用Altera公司的

EP2S30F67214为例,系统地介绍了在Linux系统环境下的FPGA的驱动方法。

1 基本原理

Linux下的设备驱动程序通常是一个存在于应用程序和实际设备间的软件层。许多设备驱动都是与用户程序一起发行的,可以帮助配置和存取目标设备。

在Linux下驱动FPGA,其本质上就是字符设备的驱动,惯例上它们位于/dev目录。

1.1 主次编号

在内核中,dev_t类型(在中定义)用来持有设备编号。通常2.6内核版本限制在255个主编号和255个次编号。

建立一个字符驱动时,需要做的第一件事是获取一个或多个设备编号。其必要的函数是regis-ter_chrdev_region,设计时可在中声明:

int register_chrdev_region(dev_t first,unsigned int count,char*name);

如同大部分内核函数一样,如果分配成功,register_chrdev_region的返回值将是0。出错时,则返回一个负的错误码,但不能存取请求的区域。

1.2 重要数据结构

注册设备编号仅仅是驱动代码必须进行的诸多任务中的第一个。驱动操作包括三个重要的内核数据结构,称为file_operations、file和inode。其中,对于FPGA 驱动来说,最值得关注的是文件操作(file_operations)。

file_operation结构是一个用字符驱动方式建立设备编号和设备操作的连接结构,定义在.是一个函数指针的集合。每个打开文件与它自身的函数集合相关,这些操作大部分可由系统调用,例如:open(),read ()等等。典型的file_operation结构可用FPGA设备列表所示,其代码如下:

第一个file_operations元素根本不是一个操作,它是一个指向拥有这个结构的模块指针,或用来在操作使用时阻止模块被卸载,它也是在中定义的宏;

llseek主要用于改变文件中的当前读/写位置,同时可将新位置作为(正的)返回值。其定义如下:

loff_t(*llseek) (struct file*,loff_t,int);

ioctl可为系统调用提供一个发出设备特定命令的方法。如果设备不提供ioctl方法,那么,对于任何未事先定义的请求,系统调用将返回一个错误。定义如下:int(*ioctl) (struct inode*,struct file*,unsigned int,unsigned long):

1.3 设备注册

内核在内部将使用struct cdev类型结构来代表字符设备。在内核调用设备操作前,代码应当包含。而如果想将cdev结构嵌入设备特定的结构中,则应当初始化已经分配的结构,其使用的代码为:

void cdev_init(struct cdev*cdev,structfile_operations*fops);

1.4 open和release

open主要用于提供驱动初始化,在大部分驱动中,open应当检查设备特定的错误(例如设备没准备好,或者类似的硬件错误),但是,其第一步常常是确定打开哪个设备。open的原代码为:

int(*open) (struct inode*inode,structfile*flip);

release是open的反操作。

1.5 读/写操作

读和写都是进行类似的任务,就是从设备到应用程序代码的数据拷贝。因此,它们的原代码比较相似:

ssize_t read(struct file*flip,char__user*buff,size_t count,loff_t*offp);

ssize_t write(struct file*filp,const char__user*buff,size_t count,loff_t*offp);

read的任务是从设备拷贝数据到用户空间(使用copy_to_user),而write方法则是从用户空间拷贝数据到设备(使用copy_from_user)。

图1所示是用read参数表示一个典型读的实现过程。

2 硬件电路

通常在大容量存储项目中,S3C2410处理器一般作为主CPU,可对EP2S30F67214进行扩展,以使系统具有拍摄、存储、下载、I/O口扩展的功能。由于FPGA的高速处理能力和易扩展性,ARM与FPGA的结合使用,将在嵌入式系统领域占据主导地位。

本项目中的ARM主要读取FPGA的数据,然后进行数据处理并送给上位机。其ARM处理器与FPGA的连接关系如图2所示,其主要连接有32位宽数据线、27位宽地址线以及读、写、中断和片选控制线等。

在S3C2410中,nGPCS4的物理地址为0x2000000—0x28000000,共计128MB 的静态物理空间。中断方式为下降沿有效。

3 编程实现

3.1 设备驱动初始化

初始化模块在内核启动时主要负责初始化FPGA工作。其实现由module_init () 和module_exit ()两部分组成。其代码如下:

3.2 异步中断通知

在应用程序中,可用如下代码获得中断响应:

signal (SIGIO,test_handler);/*test_handler为函数名字*/

fcntl(fa,F_SETOWN,getpid ());

oflags=fcntl(fa,F_GETFL);/*fd为打开设备返回值*/

fcntl (fd,F_SETFL,oflags∣FASYNC);/*fd为打开设备返回值*/

应当注意的是,不是所有的设备都支持异步通知。应用程序常常假定异步能力只对socket和tty可用。

3.3 地址映射

在Linux设备驱动程序开发过程中,由于驱动程序操作的都是设备的虚拟地址,因此,要使驱动程序对虚拟地址的操作反映到正确的设备上,还需要通过内存管理单元MMU来将设备的虚拟地址映射到正确的物理地址上去,从而保证驱动程序对设备的虚拟地址的操作,也就是要对其相应的物理地址进行操作。使用内存映射的好处是处理大文件时,其速度明显快于标准文件I/O,这样无论读和写,都少了一次用户空间与内核空间之间的复制。在用户

空间对FPGA设备的访问可通过内存映射来实现。FPGA可以看作是硬件连接在S3C2410微处理器的片选信号nGPCS4上的一段物理地址的寻址。因此,必须先把物理地址映射到虚拟地址空间,然后才能对该段地址进行读/写。通常用户可用如下代码关联FPGA的地址:

fpga_base=ioremap(FPGA_PHY_START,FPGA_PHY_SIZE);

4 结束语

本文系统的介绍了ARM基于Linux平台下的FPGA的驱动开发方法,并通过开发用户程序,实现了数据的处理和传输,从而实现了FPGA在嵌入式领域的广泛应用。

lamp环境搭建_自己整理完整版

一、准备工作 在lamp环境中搭载网站 1.用winsp将网站目录copy到linux的php系统文件目录下/usr/local/apache2/htdocs 给runtime文件夹可写权限chmod 777 -R runtime 2.修改apache配置文件,修改网站首页 /usr/local/apache2/etc/http.conf 修改DirectoryIndex index.php index.html 重启apache:/usr/local/apache2/bin/apachectl restart 3.用小海豚(SQLyog) 文件/新建连接

将网页中的sql脚本导入到linux下的mysql数据库中启动mysql: 启动MySQL服务 1.用原本源代码的方式去使用和启动mysql /usr/local/mysql/bin/mysqld_safe --user=mysql & 2.重启以后还要生效: Vi /etc/rc.local /usr/local/mysql/bin/mysqld_safe --user=mysql & 进入mysql命令行 /usr/local/mysql/bin/mysql -u root -p550120

4.在windows下用浏览器访问192.168.1.1/网站目录 ============================================= 注意: 先创建/lamp文件夹 使用WinSCP 把要安装的压缩文件放到/lamp文件夹下 ./configure 执行的时候要注意不能有换行 Appche安装的时候一定要确认之前的安装已经卸载 http://192.168.255.1/index.html 这个地址要改成192.168.80.8 /usr/local/apache2/bin/apachectl start 有时候要用start有时候要用restart /usr/local/memcache/bin/memcached -umemcache & 中的-可能会有问题,要注意 1、安装编译工具gcc、gcc-c++、make 注意解决依赖关系,推荐使用yum安装,若不能联网可使用安装光盘做为yum源—— 1)编辑yum配置文件: Mount /dev/cdrom /media vi /etc/yum.repos.d/CentOS-Media.repo [c5-media] name=CentOS-$releasever - Media baseurl=file:///media * 修改为光盘挂载点 enabled=1 * 改为1意为启用 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 2)设置alias值: Vi /etc/bashrc alias yum="yum --disablerepo=\* --enablerepo=c5-media" 3)依次安装gcc、gcc-c++ Yum -y install gcc* 2、卸载系统Apache、MySQL和PHP的RPM安装包 下载前需关闭启动的服务,如httpd、mysqld service httpd stop service mysqld stop 卸载RPM包的Apache、MySQL、PHP yum remove httpd yum remove mysql 建议使用rpm –e http-1.2.3.rpm --nodeps (截断这个rpm包的依赖性) 3、关闭SELinux,允许防火墙80端口访问 1)关闭SELinux vi /etc/selinux/config SELINUX=disabled * 若安装时没有禁用SELinux ,将enforcing改为disabled 修改后需重新启动Linux方可生效! 2)关闭防火墙Netfilter/iptables 因尚未做防火墙讲解,直接简单的关闭所有防火墙设置: iptables -F * 如果没有禁用防火墙,默认80端口禁止访问 service iptables save 防火墙策略写到/etc/sysconfig/iptables,以后计算机重启再加载这个文件时,防火墙策略就会永久清空.

linux下jdk安装及环境变量的配置

1.先准备好jdk ,制作iso 映像文件。 jdk 下载: https://www.360docs.net/doc/4717999892.html,/technetwork/java/javase/downloads /java-se-jdk-7-download-432154.html 2.在虚拟机中设置加载光驱iso 文件。(注意要启动光驱) 3.进入客户机系统,使用命令mount /mnt/cdrom 加载光驱到cdrom ,在使用cp 命令将cdrom 中的jdk 文件复制到home 文件夹中,用命令./jdk1.6.0_34运行即可。 1.修改/etc/profile 文件

如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell 都有权使用这些环境变量,但可能会给系统带来安全性问题。 (1)用文本编辑器打开/etc/profile (2)在profile 文件末尾加入: JAVA_HOME=/usr/share/jdk1.5.0_05 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOM E/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH (3)重新登录 注解: a. 你要将 /usr/share/jdk1.5.0_05jdk 改为你的jdk 安装目录 等同于CLASSPATH=.:$JAVA_HOM E/jre/lib/rt.jar

b. linux下用冒号“:”来分隔路径 c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值,在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种常见的错误。 d. CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。 e. export是把这三个变量导出为全局变量。 f. 大小写必须严格区分。 2. 修改.bashrc文件 这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。 (1)用文本编辑器打开用户目录下的.bashrc文件 (2)在.bashrc文件末尾加入: set JAVA_HOME=/usr/share/jdk1.5.0_05 export JAVA_HOME set PATH=$JAVA_HOME/bin:$PATH

Linux安装与环境配置

实验一Linux安装与环境配置 【实验目的】 1.了解Linux系统的特点,掌握Linux的安装方法; 2.理解虚拟机、虚拟系统、虚拟终端等概念; 3.理解Linux系统的内核版本和发行版本; 4.了解超级用户和普通用户的权限差别; 5.熟悉系统登录、注销、重启和关机。 【实验内容】 1.安装VMware Workstation。 VMware可以虚拟现有任何操作系统,只要真实主机的配置允许,还可以虚拟多个系统。 2.新建虚拟机。 按“新建虚拟机向导”可顺利完成虚拟机安装。安装过程中注意以下选项: (1)虚拟机配置 选“自定义”,以便后面可以自行规划设备,内存和硬盘容量等。 (2)虚拟机内存 VMWare本身不占用太大内存,但处于开启状态的虚拟机会占用较大内存,占用内存量由配置决定,建议直接使用“推荐配置”。临时挂起虚拟机或关闭虚拟机,这些内存会立即释放。 (3)网络类型 网络类型有四个选项,分别为: ●使用桥接网络:通过你的计算机中的一块以太网适配器卡直接连接到一个本地 以太网。 ●使用网络地址翻译(NA T):允许客户操作系统使用主机的IP 地址访问主机的 拨号或者外部以太网连接。 ●使用仅为主机网络:通过一个虚拟网络从内部连接客户操作系统到主机。 ●不使用一个网络连接。 前三个选项中可先任选一个,之后配置网络的时候再改。但勿选最后一个,否则将无法创建网络。 (4)指定磁盘容量 第一项定义磁盘大小。第二项允许虚拟机无限使用磁盘空间,但需要真实磁盘足够大。第三项限制了每块虚拟磁盘的最大容量为2G。 在VMware安装目录下就有一个vmware-vdiskmanager.exe程序,它是一个命令行工具,可用来修改虚拟机硬盘的大小。 (5)创建一块磁盘 第一次建立虚拟机时,一般选择第一项,第二项适用于建立第二个或更多虚拟机,即使用已经建立好的虚拟机磁盘,这样可以减少虚拟机占用的真实磁盘空间。第三项允许虚拟机直接读写磁盘空间,慎选!适合熟悉使用磁盘的高级用户,如果操作失误会把真实磁盘里的内容删掉。

Linux搭建J2EE开发环境(完整版)

Linux下搭建Web开发环境 经过本人的不屑努力终于成功在RedHat Enterprise Linux 4下成功搭建了Web开发环境,本文主要讲解在RHEL4下安装JDK、Tomcat、MySQL、Oracle、Apache服务器、PHP以及Flex 环境。我采用虚拟机方式安装。 必备工具: VMware-workstation-6.5或更高版本 RedHat Enterprise Linux 4的iso文件,共4个 SSHSecureShellClient,用于远程连接Linux jdk-6u18-linux-i586.bin,可以从sun网站下载 mysql-5.1.41.tar.gz,MySQL的Linux源码分发包 SQLyog Enterprise,MySQL的可视化操作工具 10201_database_linux32.zip,Oracle的Linux版本 10201_client.zip,Oracle在Win下的客户端,注意根据操作系统选择 PL/SQL Developer,操作Oracle的可视化工具 PHP相关组件 ?php-5.2.14.tar.gz ?freetype-2.1.10.tar.gz ?gd-2.0.35.tar.gz ?jpegsrc.v6b.tar.gz ?libpng-1.2.29.tar.gz ?libxml2-2.6.2.tar.gz ?xpm-3.4k.tar.gz ?zlib-1.2.3.tar.gz httpd-2.2.16.tar.gz,Apache服务器 flex_sdk_3.5.0.12683.zip,Flex SDK 搭建Linux环境 启动VMWare,出现如下界面

linux下配置android开发环境(图解)

linux下配置android开发环境(Fedora) 1、将配置环境所需要的:jdk、android-sdk、eclipse安装包拷贝到/home目录下,并为为文件增加可修改可执行权限 2、安装JDK 3、配置JDK环境变量 (1)进入profile文件 (2)按i编辑,如下: (3)、按ESC,再按:wq 保存退出 4、安装android sdk 5、安装eclipse 6、运行eclipse

7、安装Eclipse的ADT 插件(开发android应用) (1)离线安装:启动Eclipse,选择Help > Install New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”(可随意),点击Archive...,选择已下载的ADT插件(ADT-0.9.7.zip)压缩文件。 (2)在线安装:点击Archive,地址栏中输入:https://https://www.360docs.net/doc/4717999892.html,/android/eclipse(如有问题,去掉s,用http) 8、安装完ADT后,会有如下提示:

(1)选择“Apply Changes Now”,会自动联网下载安装android SDK (2)选择“Restart Now”,重新启动eclipse,需手动安装android sdk window->preferences,左边点击android,右边SDK Location中选择Android SDK所在位置。安装模拟器平台:window->Android manager 在线下载不同版本的Android模拟器 如果有已存在的android sdk,可以直接指定: 9、虚拟手机创建 (1)Windows→A VD Manager→new 新建虚拟手机 name:随意; Target:选择平台,即android模拟器 SD card:用于存储文件,

嵌入式Linux系统的搭建与配置过程

1.摘要 (2) 2.UBOOT,LINUX内核,文件系统的介绍及相互关系..3 2.1嵌入式系统简介 (3) 2.2嵌入式Linux概述 (3) 2.3UBOOT简介 (4) 3.UBOOT的启动过程 (6) 4.内核的主要功能和裁剪 (7) 4.1Linux的编译 (7) 4.2嵌入式Linux的配置和剪裁 (8) 5.文件系统的制作过程 (8) 6.交叉编译器的搭建和环境变量的设置 (9) 7.驱动程序的编写过程与关键点 (11) 7.1Linux网络驱动程序的结构 (11) 7.2网络驱动程序的基本方法 (12) 7.3网络驱动程序中用到的数据结构 (12) 7.4常用的系统支持 (14) 7.5编写Linux网络驱动程序中需要注意的问题 (18) 8.参考文献 (20)

嵌入式系统是以应用为中心,以计算机为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序4部分组成,用于实现对其它设备的控制、监视或管理等功能。其广泛应用于控制领域、消费电子产品等行业,已成为现代电子领域的重要研究方向之一。嵌入式Linux的研究已经成为当前信息技术研究的热点,它的应用蕴含着巨大的商业价值,并且己经广泛的应用于各种信息家电、通讯产品、工业控制中。论文首先介绍了ARM和嵌入式Linux操作系统的特点和当前的发展概况。然后阐述了嵌入式Linux 开发流程以及移植到具体硬件平台需要完成的工作,如U-Boot的移植、Linux内核的编译与裁剪、文件系统的制作、驱动程序的编写等。 关键字:嵌入式;ARM;嵌入式Linux;Linux内核;驱动程序

Linux下搭建C#开发环境

文章来源https://www.360docs.net/doc/4717999892.html,/articles/116249.htm 如果平时主要开发控制台类、组件、后端服务等程序,可以尝试在Linux类操作系统下搭建C#.Net 开发环境,好处是在Linux环境里你不用担心朋友或同事拿你的电脑来玩魔兽世界或者一不小心被装了一大堆流氓软件;-)先看看本篇文章最终效果:在Ubuntu里跑的开发环境MonoDevelop: 1、Linux发行版的选择 在Linuxux操作系统里只要安装Mono环境就可以开发C#程序,Linux的众多发行版 RedHat/CentOS/Fedora、OpenSuse、Debian、Ubuntu都可以安装 Mono。 鉴于目前Ubuntu 容易安装、界面漂亮而且比较多人用作桌面环境,所以这里推荐使 用Ubuntu 10.04 。官方网站是:https://www.360docs.net/doc/4717999892.html,/ 在官方网站下载回来的是一个光盘映像文件(ISO格式),这里需要注意的是Ubuntu 共有4个不同版本的ISO文件:Desktop版、Alternative版、Netbook版、 Server版。一般下载Desktop 就可以了。如果你想通过网络启动安装程序或者使用硬盘安装则需要下载Alternative版。 如果你的电脑硬件配置比较低(内存少于等于 512MB),还可以下载一个轻量级的衍生版:Xubuntu (https://www.360docs.net/doc/4717999892.html,/),如果你的电脑只有256MB内存,那还可以下载另一个衍生版Lubuntu (https://www.360docs.net/doc/4717999892.html,/),这个更加轻量级,平时系统启动后只占用 70~100MB内存。 2、安装Ubuntu 安装Ubuntu 的方法非常简单,跟装 WinXP差不多,只需点5,6次“下一步”过10来分钟就可以

linux lamp环境搭建教程

linux 环境搭建教程 [url=https://www.360docs.net/doc/4717999892.html,]https://www.360docs.net/doc/4717999892.html,[/url] 一、系统约定 软件源代码包存放位置:/usr/local/src 源码包编译安装位置(prefix):/usr/local/software_name 脚本以及维护程序存放位置:/usr/local/sbin MySQL 数据库位置:/var/lib/mysql(可按情况设置) Apache 网站根目录:/var/www/wwwroot(可按情况设置) Apache 虚拟主机日志根目录:/var/logs/httpd/(可按情况设置) Apache 运行账户:apache:apache 二、系统环境部署及调整 1. 检查系统是否正常 # more /var/log/messages(检查有无系统级错误信息) # dmesg(检查硬件设备是否有错误信息) # ifconfig(检查网卡设置是否正确) # ping [url=https://www.360docs.net/doc/4717999892.html,]https://www.360docs.net/doc/4717999892.html,[/url](检查网络是否正常) 2. 关闭不需要的服务 # ntsysv 以下仅列出需要启动的服务,未列出的服务一律推荐关闭: atd crond irqbalance microcode_ctl network sendmail sshd syslog 3. 重新启动系统 # init 6 4. 配置vim # vi /root/.bashrc 在alias mv='mv -i' 下面添加一行:alias vi='vim' 保存退出。 # echo 'syntax on' > /root/.vimrc 5. 使用yum 程序安装所需开发包(以下为标准的RPM 包名称) # yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel kernel 6. 定时校正服务器时钟,定时与中国国家授时中心授时服务器同步 # crontab -e 加入一行: */30 * * * * ntpdate 210.72.145.44 7. 源码编译安装所需包(Source) (1) GD2 # cd /usr/local/src

Sure HA 双机linux环境配置手册(镜像型)

Sure HA 双机linux环境配置手册(镜像型) 一、基础环境设置 1、设置IP ,请在两个服务器上分别进行操作 host1:公网IP:192.168.2.101 私网IP:192.168.20.101 host2: 公网IP :192.168.2.102 私网IP :192.168.20.102 修改IP的方法为: vi /etc/sysconfig/network/ifcfg-eth0 vi /etc/sysconfig/network/ifcfg-eth1 eth0修改后的结果 eth1修改后的结果 查看并确认IP地址

2、设置/etc/HOSTNAME,请在两个服务器上分别进行操作 vi /etc/HOSTNAME 修改主机名为:host1 查看修改后的结果为: 重启后hostname才能生效 3、查看防火墙的状态,如果是打开状态则关闭防火墙,请在两个服务器上分别进行操作chkconfig --list |grep firewall 注:list前面是两个短线-- 关闭防火墙 chkconfig SuSEfirewall2_setup off chkconfig SuSEfirewall2_init off SuSEfirewall2 stop 4、设置/etc/hosts,请在两个服务器上分别进行操作 修改/etc/hosts文件,内容如下

5、设置硬盘分区,请在两个服务器上分别进行操作 说明:在本文环境中只有两个主分区,故在下文中首先新建了一个扩展分区,然后建立了一个20M的cluster分区,剩余的分区划分成数据分区。 关于fdisk的基础知识,n:新建分区,p:主分区,e:扩展分区,l:逻辑分区,w:把修改写入分区表 1.查看硬盘分区 对/dev/sda进行分区 fdisk /dev/sda 输入n,然后选择e,建立扩展分区,输入分区号3(1和2已经被使用)分区大小选择默认,直接两次回车即可

LAMP环境搭建

Linux牛逼命令大全 ?壹、底层辅助支持软件的安装 o1、安装OpenSSL o2、安装Curl库 o3、安装expat o4、安装libxml2 o5、安装libxslt o6、安装libmcrypt o7、安装mhash o8、安装mcrypt o9、安装zlib o10、安装libpng o11、安装jpeg o12、安装freetype o13、安装m4

o14、安装autoconf o15、安装libiconv o16、安装bzip2 o17、安装GD库 ?贰、安装Apache方法一 o18、安装apr o19、安装apr-util o20、安装pcre o21、安装apache方法一 ?叁、安装Apache方法二 o18、处理apr o19、处理apr-util o20、安装pcre o21、安装apache方法二 ?Apache启动管理方式 o I、手工管理apache o II、chkconfig管理apache ?肆、安装MySQL o22、安装cmake o23、安装bison o24、安装ncurses o25、安装MySQL ?MySQL启动管理方式 o I、手工管理MySQL o II、chkconfig管理MySQL ?伍、安装PHP o26、安装PHP o27、安装memcached服务器端 o28、安装php扩展功能memcache o29、安装php扩展memcached o30、安装Zend加速器 Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大 的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案. 本实验采用64位CentOS6.8进行部署,系统最小化安装,apache选用httpd-2.4.7,mysql选用mysql-5.6.32,php选用php-5.6.26。 软件包列表如下 ?1、openssl-1.0.2j.tar.gz2、curl-7.50.3.tar.gz3、expat-2.2.0.tar.bz2

linux系统环境部署

Jdk安装 1. 登录Linux,切换到root用户 su root 获取root用户权限,当前工作目录不变(需要root密码) 或 sudo -i 不需要root密码直接切换成root(需要当前用户密码) 2. 在usr目录下建立java安装目录 cd /usr mkdir java 3.将jdk-8u60-linux-x6 4.tar.gz拷贝到java目录下 cp /mnt/hgfs/linux/jdk-8u60-linux-x64.tar.gz /usr/java/ 4.解压jdk到当前目录 tar -zxvf jdk-8u60-linux-x64.tar.gz

得到文件夹jdk1.8.0_60 5.安装完毕为他建立一个链接以节省目录长度(我没用这一步) ln -s /usr/java/jdk1.8.0_60/ /usr/jdk 6.编辑配置文件,配置环境变量 vim /etc/profile 添加如下内容:JAVA_HOME根据实际目录来 JAVA_HOME=/usr/java/jdk1.8.0_60 CLASSPATH=$JAVA_HOME/lib/ PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME CLASSPATH 7.重启机器或执行命令:source /etc/profile sudo shutdown -r now 8.查看安装情况 java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)

ubuntu下linux 开发环境的搭建以及arm平台的移植

Linux开发环境的搭建 1.arm交叉编译链的安装 2.NFS服务器的安装 3.tftp服务器的安装 4.触摸屏驱动库的安装编译 5.编译安装qt-everywhere-opensource-src-4.8.1 需要的文件及库: 1.arm-2009q1-203-arm-none-linux-gnueabi 2.fs.tar.gz 3.tslib-1.4 4.qt-everywhere-opensource-src-4.8.1 1.arm交叉编译链的安装 见附录6:arm-2009q1-203-arm-none-linux-gnueabi安装 测试交叉编译器是否安装成功,执行如下命令: HOST $ arm-none-linux-gnueabi-gcc -v 如果显示编译器的版本信息说明安装成功。 2.NFS服务器的安装 见附录7: 安装完成后,在/home/wws/目录下执行如下指令: sudo gedit nfs.sh nfs.sh的内容如下: HOST $ sudo /etc/init.d/portmap restart HOST $ sudo /etc/init.d/nfs-kernel-server restart 保存后执行 source nfs.sh 以后只要在主目录下执行上述source命令就可以重启nfs服务器 测试 NFS 服务器是否安装成功,执行如下命令: HOST $ showmount -e 若显示 /home/wws/wws_nfs*则说明安装成功。 3.tftp服务器的安装 具体安装过程见附录8: 安装完成后,执行: sudo gedit tftp.sh其内容如下: HOST $ sudo /etc/init.d/xinetd restart HOST $ sudo /etc/init.d/tftpd-hpa restart 保存在主目录下,当开发板找不到链接,出现T T T T.......等时,无需重启系统,只需执行source tftp.sh重启tftp服务器即可,或者直接执行上述两条指令来重启服务器。 4.触摸屏驱动库的安装编译 Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。

windows下搭建Linux开发环境

windows下搭建Linux开发环境 以前一直都是安装的双系统来运行windows和linux,当想学习一下linux编程的时候就跑到linux下面去,做其他事情的时候就转到windows下面来。虽然在linux 下也学会了使用wine,也能够运行source insight看看程序,或者打开winamp听听歌,不过毕竟不是windows环境,还是有很多不方便的地方,winamp最小化了居然还原的时候桌面上没有图标;采用source insight打开linux源码,中文注释却全是乱码,好不容易转好了字体,打开来,字体大小不一,根本无法查看,最后只好放弃。 无意间,用vmware安装好了ubuntu的图形化界面,才发现一切原来如此简单。以前虽然也用过vmware,不过以前电脑配置实在是太差,在vmware下面安装linux 的图形化界面能安装成功,却无法使用,只好望洋兴叹。这次终于应用vmware把所有东西都搞定了,可以让我远离双系统了,也节省下了40G的硬盘空间。 1)vmware安装Ubuntu 很简单,感觉都没什么好说的,先安装vmware,windows安装程序,傻瓜式的安装,easy。然后到ubuntu网站去下载live cd或者dvd版本都行,个人建议下载live cd就可以了,安装以后基本的系统环境和常用软件都有了,当然IDE环境是没有的;不过我下载的dvd版本好像安装的时候也没有把IDE环境安装上去,还是我自己后来安装的,因此live cd和dvd在初始安装时,差别不大。 2)设置ubuntu环境 在vmware下面安装过的ubuntu图形界面,分辨率好像是800*600的,即使是全屏,也只能占这么大的屏幕,不是一般的郁闷;就像你面前有一顿美食,偏偏是锁在一个大铁笼子里的,而你的手能够到的却只有一两个菜,那个郁闷劲,确实让人难受。不过也没有关系,因为你没有安装vmware tools,所以你无法享受全屏带来的好处。安装过vmware tools以后,你就发现屏幕能根据具体大小进行自动调整了。不过我在安装vmware tools时,是出错了的,有一步编译出错了,不过最后还是安装成功了,只是在windows和linux之间共享的文件不能相互访问。不过,平时访问文件比较少,而且Ctrl+C/Ctrl+V,已经文件的复制、粘贴都能正常使用,因此对于我来说,这点缺憾我能接受,由于安装的ubuntu环境只是简单的办公环境,都是一些基本软件,惟一能派上用场的可能就是open office,而开发环境方面,只有最基本的一些软件。个人比较习惯于用IDE来开发程序,因为可以省去很多其他的麻烦,比如手动编写makefile文件,运行cvs命令进行cvs操作,或者是采用gdb 命令进行调试,这样可以更专注于程序编写。关于IDE开发还是采用最简单的vi开发,gcc编译,gdb调试,仁者见仁,智者见智,没有好坏,关键看个人喜好。 与我而言,我安装好ubuntu以后,需要安装一个最适合的IDE环境,以便于开发;在ubuntu下面安装软件,现在也是越来越方便了,有图形化的添加/删除界面,很是方便,惟一需要说明的是找一个合适的软件源,否则你会发现安装软件真是一件郁闷的事情,看着你的电脑以400Bps的速度从网络上面下载软件包时,估计你恨不得把网络给拆了,顺便把你的网络运营商给臭骂一通,其实这一切的根源在于你没有找到合适的软件源,我采用的是电信的ADSL线路,找的是lupa网络的源,也是电信的线路,速度不是一般的快,真的是很幸福,源地址为:deb https://www.360docs.net/doc/4717999892.html,/ubuntu intrepid main universe;如果你是教育网的网络或

Ubuntu linux驱动安装及3D桌面启用

系统需求 ?硬件及软件环境需求 启用3D桌面的硬件,显卡推荐使用Nvidia及ATI主流独立显卡,对于 Intel显卡、集成显卡、老旧显卡、以及最后刚新推出市场的新显卡,可能不适于使用本文的“最简便的驱动安装方法(经测试,Intel G965集成显卡3100在Ubuntu 8.04上会自动安装好显卡驱动,可以安装启用 Compiz 3D桌面效果)”,如果Ubuntu系统自带的"非受限驱动"安装不成功,请另行查找解决方案。CPU和内存自然是越高配置越好。 本文已在Ubuntu 8.04和8.10上测试通过,适用于i386,amd64及DVD 版本 ?网络环境 本文涉及到的软件需要系统联入互联网下载安装,请确保系统已联入网络 ?涉及到的软件清单 envyng-gtk compizconfig-settings-manager emerald fusion-icon RecordMyDesktop。 操作步骤 1.安装envyng辅助工具[Ubuntu 10.04及以后版本不支持] 让envyng这个傻瓜软件帮助你吧!用envyng安装驱动有个好处就是,有些需要卸载的冲突软件包它会自动帮你卸载,有些3D桌面需要安装的支持软件包它会自动帮你安装。例如,Nvidia的glx相关软件包等。这些软件之间的关联比较复杂,如果采用手工安装的方法很麻烦且容易出错。 首先,确保已经能连上网了,图形界面下,点击任务栏“系统”-“系统管理”-“软件源”在弹出的窗口中“下载自”的下拉菜单里,把默认的“中国的服务器”改选为“主服务器”。点击“关闭”然后会自动更新一些文件。 然后,点击任务栏“系统”-“系统管理”-“新立得软件包管理器”在菜单栏里点击“编辑”-“搜索”-输入envyng-gtk并勾选它,会提示安装envyng-core,勾选后点击“应用”即可自动下载安装(如果你的Ubuntu安装有KDE,还可以下载envyng-qt安装)。

Centos6.5下安装Apache_mysql_php源码包安装(LAMP环境搭建图文教程)

Centos6.5下安装Apache_mysql_php源码包安装(LAMP环境搭建图文教程) Centos6.5_Apache_mysql_php(LAMP环境搭建图文教程)安装内容详细介绍: 编译安装过程介绍 一、解压tar.gz为后缀的压缩软件包 二、在Centos系统中源代码包安装过程 配置(configure) 编译(make) 安装(make install) 各个软件编译安装顺序 搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按 Apache->MySQL->PHP顺序安装。但在安装PHP之前,应先安装PHP5需要的最新版本库文件,例如libxml2、libmcrypt以及GD2库等文件。安装GD2库是为了让PHP5支持GIF、PNG和JPEG图片格式,所以在安装GD2库之前还要先安装最新的zlib、libpng、freetype 和jpegsrc等库文件。而且中间还会穿插安装一些软件。读者可以按照本节提供的顺序安装 检查安装时使用的编译工具是否存在 Gcc -v 如果发现gcc没有安装。可用下面三种方式进行安装: Gcc安装方法1: yum -y install gcc yum -y install gcc-c++ yum install make Gcc安装方法2: -- 或者 yum groupinstall "Development Tools" 一般用这个就好 Gcc安装方法3: -- 或者 yum install gcc gcc-c++ kernel-devel 卸载默认的低版本环境 目前发行的Centos操作系统版本中,如果选择默认全部安装,就已经安装了LAMP环境,但是版本相对都比较低。我们可以再安装一个LAMP环境和原来的并存,但是这样做没有必要,因为同时只能开启一个LAMP环境。所要我们要在安装之前,先应检查一下系统中是否已经安装了低版本的环境,如果已经安装过了,停止原来的服务运行,或者把原来的环境卸载掉。 检查make gcc gcc-c++是否安装: [root@WebSrv tools]# rpm -q make make-3.81-20.el6.i686 [root@WebSrv tools]# rpm -q gcc package gcc is not installed

linux驱动环境配置

首先我的操作系统是Ubuntu 问题一: https://www.360docs.net/doc/4717999892.html,/Linux/2011-11/47481.htm 问题二: 我用得是USB 转串口,sudo minicom -s 把/dev/tty8/ttyUSB0改成/dev/ttyUSB0后save as dfl,直接输入minicom后 显示minicom:cannot open /dev/tty8/ttyUSB0: 不是一个目录 sudo vim /etc/minirc.dfl后把/dev/tty8/ttyUSB0改成/dev/ttyUSB0后:wq,出现同样的提示。 我怀疑是没有修改成功,再次sudo vim /etc/minirc.dfl 查看的确修改过来了,用ls -l 查看minirc.dfl 对于root是可读写的。 就是很郁闷为什么会出现这样的问题!? https://www.360docs.net/doc/4717999892.html,/viewtopic.php?p=891039 问题三: 错误信息已经很清楚的告诉你【404 Not Found】,意思是在这个“us”的【源】上找不到你需要下载的软件。 解决办法很简单,更换另一个源就行了。一般建议是使用国内的源。 更新管理器(update-manager),打开后按底下的“设置”->“ubuntu软件”->“下载自” 在“下载自”那里点“其他站点”,里面选一个源就是了。一般选中国的源。 或者新立得(synaptic),打开后点菜单“设置”->“软件库”,然后是同样的设置。 或者是直接打开在命令行上打开:software-properties-gtk 或者直接编辑/etc/apt/sources.list,输入新的源。 问题四: 在Ubuntu 系统中有两种设置环境变量PATH 的方法。第一种适用于为单一用户设置PA TH,第二种是为全局设置PATH。第三种方法适合于暂时修改,重新登录后失效 第一种方法: 在用户主目录下有一个.bashrc 文件,可以在此文件中加入PATH 的设置如下: export PA TH=”$PA TH:/your path1/:/your path2/…..” 注意:每一个path 之间要用“:“分隔。 注销重启X 就可以了。 第二种方法: 在/etc/profile中增加。 PATH="$PATH:/home/zhengb66/bin" export PA TH

从零开始搭建Linux驱动开发环境

参考: 韦东山视频第10课第一节内核启动流程分析之编译体验 第11课第三节构建根文件系统之busybox 第11课第四节构建根文件系统之构建根文件系统韦东山书籍《嵌入式linux应用开发完全手册》 其他《linux设备驱动程序》第三版 平台: JZ2440、mini2440或TQ2440 交叉网线和miniUSB PC机(windows系统和Vmware下的ubuntu12.04) 一、交叉编译环境的选型 具体的安装交叉编译工具,网上很多资料都有,我的那篇《arm-linux- gcc交叉环境相关知识》也有介绍,这里我只是想提示大家:构建跟文件系统中所用到的lib库一定要是本系统Ubuntu中的交叉编译环境arm-linux- gcc中的。即如果电脑ubuntu中的交叉编译环境为arm-linux-

二、主机、开发板和虚拟机要三者互通 w IP v2.0》一文中有详细的操作步骤,不再赘述。 linux 2.6.22.6_jz2440.patch组合而来,具体操作: 1. 解压缩内核和其补丁包 tar xjvf linux-2.6.22.6.tar.bz2 # 解压内核 tar xjvf linux-2.6.22.6_jz2440.tar.bz2 # 解压补丁

cd linux_2.6.22.6 patch –p1 < ../linux-2.6.22.6_jz2440.patch 3. 配置 在内核目录下执行make 2410_defconfig生成配置菜单,至于怎么配置,《嵌入式linux应用开发完全手册》有详细介绍。 4. 生成uImage make uImage 四、移植busybox 在我们的根文件系统中的/bin和/sbin目录下有各种命令的应用程序,而这些程序在嵌入式系统中都是通过busybox来构建的,每一个命令实际上都是一个指向bu sybox的链接,busybox通过传入的参数来决定进行何种命令操作。 1)配置busybox 解压busybox-1.7.0,然后进入该目录,使用make menuconfig进行配置。这里我们这配置两项 一是在编译选项选择动态库编译,当然你也可以选择静态,不过那样构建的根文件系统会比动态编译的的大。 ->Busybox Settings ->Build Options

linux如何搭建lamp服务环境(图文详解)

先简要概述下本文要点:(操作系统采用CentOS6.5 x64) 1.分别安装搭建lamp服务环境; 2.采用lamp一键安装包搭建环境; 3.在lamp环境中初步搭建起一个网站; 一、分别安装搭建lamp服务环境 准备工作: 1、配置防火墙,开启80端口、3306端口 vi /etc/sysconfig/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #允许80端口通过防火墙 -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT #允许3306端口通过防火墙 将以上内容添加到 -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 的下面 /etc/init.d/iptables restart #最后重启防火墙使配置生效 2、关闭SELINUX vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq #保存,关闭 shutdown -r now #重启系统 安装: 1、安装Apache 卸载自带httpd: yum remove httpd yum install httpd #根据提示,输入Y安装即可成功安装 /etc/init.d/httpd start #启动Apache

备注:Apache启动之后会提示错误: 正在启动 httpd:httpd: Could not reliably determine theserver’s fully qualif domain name, using ::1 for ServerName 解决办法: vi /etc/httpd/conf/httpd.conf #编辑 找到#ServerName https://www.360docs.net/doc/4717999892.html,:80 修改为ServerName https://www.360docs.net/doc/4717999892.html,:80 #这里设置为你自己的域名,如果没有域名,可以设置为localhost :wq! #保存退出 chkconfig httpd on #设为开机启动 /etc/init.d/httpd restart #重启Apache 2、安装MySQL 先卸载自带mysql: yum remove mysql mysql-server mysql-libs compat-mysql51 rm -rf /var/lib/mysql rm /etc/https://www.360docs.net/doc/4717999892.html,f 安装: yum install mysql mysql-server #询问是否要安装,输入Y即可自动安装,直到安装完成/etc/init.d/mysqld start #启动MySQL chkconfig mysqld on #设为开机启动 cp /usr/share/mysql/https://www.360docs.net/doc/4717999892.html,f /etc/https://www.360docs.net/doc/4717999892.html,f#拷贝配置文件(注意:如果/etc目录下面默认有一个https://www.360docs.net/doc/4717999892.html,f,直接覆盖即可) 为root账户设置密码: mysql_secure_installation 回车,根据提示输入Y 输入2次密码,回车 根据提示一路输入Y 最后出现:Thanks for using MySQL! MySql密码设置完成,重新启动 MySQL: /etc/init.d/mysqld restart #重启 /etc/init.d/mysqld stop #停止 /etc/init.d/mysqld start #启动

相关文档
最新文档