linux移植驱动,linux编译安装软件

大家好,今天小编来为大家解答以下的问题,关于linux移植驱动,linux编译安装软件这个很多人还不知道,现在让我们一起来看看吧!

linux的驱动在哪个文件里linux的驱动

富士施乐linux驱动?

1、网上下载富士施乐打印机驱动,然后先解压,解压之后我们找到并运行“Dpinst.exe”进行安装。

2、到这里开始安装驱动,点击下一步。

3、驱动会自动检测打印机,然后安装驱动,出现Windows安全这里点“安装”。

4、这时打印机驱动安装完成,点“完成”即可

linux如何加载驱动?

linux操作系统下,加载驱动的方式有两种方法:

静态加载驱动。通过将驱动程序编译到内核而进行的一系列配置操作。动态加载驱动。是内核注册设备信息,从而在kernel启动后,再通过insmod指令,关联好主、次设备号,从而以模块的形式进行加载。

linux发行版哪个驱动最全?

大多数Linux上的软件在各种Linux发行版上都能通用的,因为Linux不同发行版并没有本质的区别,即便有软件打包机制的不同,软件也大多会同时提供不同发行版上的不同格式的软件包,比如同时通过deb包和rpm包。不过如果说哪种Linux发行版的软件最多,应该要算Ubuntu吧,别的不说,很多Linux上面的游戏就只提供Ubuntu版本,比如steam的Linux版就只提供Ubuntu安装程序(最起码steam官方只支持Ubuntu);还有,Ubuntu的软件源提供的软件种类也是最丰富的,有一些其他发行版没有的、比较冷门的软件。

linux不需要驱动吗?

linux也是需要驱动程序的。

驱动程序是操作系统操作控制特定硬件的一个中间层,他给和操作系统对接来控制具体的硬件。因为不同的硬件是由不同的厂商开发的,里面的实现细节各不相同,但是操作系统只是按照一定的标准进行,涉及没有考虑到每一个具体的硬件的情况,所以这个时候就需要凭借驱动程序来操作不同类型的硬件。

linux下驱动移植?

概念比较模糊,首先有一点,驱动是内核的一部分,内核代码中大部分代码就是驱动代码。

驱动就是让硬件工作起来(通俗的讲),但现实中,硬件种类特别多,比如触摸屏,有不同的硬件可以实现触摸屏功能。你的产品或者开发板电路上用的是什么硬件芯片,就得有相应的驱动。为什么要驱动移植呢?因为linux内核里不可能有世界上所有的硬件驱动(一般有常见的驱动),这时候,如果你的硬件电路板上的硬件正好在内核里有相应的驱动,那么正好可以用。但如果没有的话,你就得自己想办法写个驱动,但是写驱动的代价也是挺大的,所以目前大部分硬件芯片厂商已经将驱动程序写好了,你要做的,就到它的官网上把驱动源代码下载下来(或者其他方式),然后将其加入到linux内核中,必要时,可能还要根据实际情况,还要修改一些代码(但相比自己写,容易的很)。

linux驱动和android有区别吗

大家都知道Android是基于Linux内核的操作系统,也曾经和Linux基金会因为内核问题产生过分歧,本文将开始对Android的内核进行剖析,主要介绍Android和Linux之间的关系,后续还会讲到Android系统在Linux系统之上扩展的部分功能和驱动。

虽然Android基于Linux内核,但是它与Linux之间还是有很大的差别,比如Android在Linux内核的基础上添加了自己所特有的驱动程序。下面我们就来分析一下它们之间究竟有什么关系?

android是否能称为一种新的操作系统呢?至少我自己认为不算是,它最多算作一个新的应用程序罢了。

一、Android为什么会选择Linux

成熟的操作系统有很多,但是Android为什么选择采用Linux内核呢?这就与Linux的一些特性有关了,比如:

1、强大的内存管理和进程管理方案

2、基于权限的安全模式

3、支持共享库

4、经过认证的驱动模型

5、Linux本身就是开源项目

更多关于上述特性的信息可以参考Linux 2.6版内核的官方文档,这便于我们在后面的学习中更好地理解Android所特有的功能特性。接下来分析Android与Linux的关系。

二、Android不是Linux

看到这个标题大家可能会有些迷惑,前面不是一直说Android是基于Linux内核的吗,怎么现在又不是Linux了?迷惑也是正常的,请先看下面几个要点,然后我们将对每一个要点进行分析,看完后你就会觉得Android不是Linux了。

因为它没有本地窗口系统,没有glibc的支持,而且并不包括一整套标准的Linux使用程序,同时增强了Linux以支持其特有的驱动。

1.它没有本地窗口系统

什么是本地窗口系统呢?本地窗口系统是指GNU/Linux上的X窗口系统,或者Mac OX X的Quartz等。不同的操作系统的窗口系统可能不一样,Android并没有使用(也不需要使用)Linux的X窗口系统,这是Android不是Linux的一个基本原因。

我很奇怪的是linux的Xwindow并不是其核心程序,你可以看到很多嵌入式linux根本不会用到这个图形界面系统,而手机上的android不使用Xwindow不是很正常吗?我们学习的时候用QT难道就不叫做linux系统了么?

2.它没有glibc支持

由于Android最初用于一些便携的移动设备上,所以,可能出于效率等方面的考虑,Android并没有采用glibc作为C库,而是Google自己开发了一套Bionic Libc来代替glibc。

库文件不同,好吧,因为移植显然是要修改库文件和头文件的吧,求指教

3.它并不包括一整套标准的Linux使用程序

Android并没有完全照搬Liunx系统的内核,除了修正部分Liunx的Bug之外,还增加了不少内容,比如:它基于ARM构架增加的Gold-Fish平台,以及yaffs2 FLASH文件系统等。

4.Android专有的驱动程序

除了上面这些不同点之外,Android还对Linux设备驱动进行了增强,主要如下所示。

1)Android Binder基于OpenBinder框架的一个驱动,用于提供 Android平台的进程间通信(InterProcess Communication,IPC)功能。源代码位于drivers/staging/android/binder.c。

2)Android电源管理(PM)一个基于标准Linux电源管理系统的轻量级Android电源管理驱动,针对嵌入式设备做了很多优化。源代码位于:

kernel/power/earlysuspend.c

kernel/power/consoleearlysuspend.c

kernel/power/fbearlysuspend.c

kernel/power/wakelock.c

kernel/power/userwakelock.c

如果给内核添加驱动也可以称之为不同的话?

3)低内存管理器(Low Memory Killer)比Linux的标准的OOM(Out Of Memory)机制更加灵活,它可以根据需要杀死进程以释放需要的内存。源代码位于 drivers/staging/ android/lowmemorykiller.c。

4)匿名共享内存(Ashmem)为进程间提供大块共享内存,同时为内核提供回收和管理这个内存的机制。源代码位于mm/ashmem.c。

5)Android PMEM(Physical) PMEM用于向用户空间提供连续的物理内存区域,DSP和某些设备只能工作在连续的物理内存上。源代码位于drivers/misc/pmem.c。

6)Android Logger一个轻量级的日志设备,用于抓取Android系统的各种日志。源代码位于drivers/staging/android/logger.c。

7)Android Alarm提供了一个定时器,用于把设备从睡眠状态唤醒,同时它还提供了一个即使在设备睡眠时也会运行的时钟基准。源代码位于drivers/rtc/alarm.c。

8)USB Gadget驱动一个基于标准 Linux USB gadget驱动框架的设备驱动,Android的USB驱动是基于gaeget框架的。源代码位于drivers/usb/gadget/。

9)Android Ram Console为了提供调试功能,Android允许将调试日志信息写入一个被称为RAM Console的设备里,它是一个基于RAM的Buffer。源代码位于drivers/staging/android/ ram_console.c。

10)Android timed device提供了对设备进行定时控制的功能,目前支持vibrator和LED设备。源代码位于drivers/staging/android/timed_output.c(timed_gpio.c)。

11)Yaffs2文件系统 Android采用Yaffs2作为MTD nand flash文件系统,源代码位于fs/yaffs2/目录下。Yaffs2是一个快速稳定的应用于NAND和NOR Flash的跨平台的嵌入式设备文件系统,同其他Flash文件系统相比,Yaffs2能使用更小的内存来保存其运行状态,因此它占用内存小。Yaffs2的垃圾回收非常简单而且快速,因此能表现出更好的性能。Yaffs2在大容量的NAND Flash上的性能表现尤为突出,非常适合大容量的Flash存储。

linuxvga驱动linuxvga

linux登录黑屏?

答解决方法如下

1、在启动时,GRUB上GRUB引导命令后面加上一个VGA=791,这样进去屏幕分辩率就是1024*768。

kernel(hd0,0)/linuxroot=/dev/ramramdisk_size=65536devfs=mount,allvga=791

initrd(hd0,0)/initrd

boot

2、在黑屏时。按Ctrl+Alt+F2进入另一个shell,运行yast,选择hardware-GraphicsandMonitor,里面有两个选项,第一个是text模式,第二个是图形模式,还有change和reprobe选项,但change选项是用不了的(如果你能用就最好不过了。直接更改属性,把分辨率调低点,accept,退出重启就行了),这时候先切换成为text模式,退出重启;重启后应该还是用不了的,再次按Ctrl+Alt+F2进入控制台,运行yast,此时再在上述的选项处进行change就OK了

3、在黑屏时,按ctrl+alt+F2进入控制台。直接输入init3。然后输入init5

4、GRUB4DOS

好多人多系统启动SUSE喜欢用它引导SUSE。

编辑menu.lst

kernel(hdx,y)/linuxvga=791

initrd(hdx,y)/initrd

boot

5、修改xorg.conf

按ctrl+alt+F2进入shell

#vi/etc/x11/xorg.conf

section“Monitor”

HorizSync31.5-70.0

VertRefresh50.0-100.0

Linux系统的图形界面的形式有哪几种?

1.XWindowXWindow是由麻省理工学院(MIT)推出的窗口系统,简称X,它旨在建立不依赖于特定硬件系统的图形和文字显示窗口系统的标准。

1987年9月,MIT推出了X系统的11版,称为X11,它的出现标志着计算机工作站的一个新时代的到来。现在几乎所有的工作站都采用了X窗口的标准,几乎所有的工作站上的应用软件都采用了基于XWindow的软件平台。同时,微机的X系统也日益增多。X窗口系统之所以能受到人们的广泛青睐,是与其优越的特点分不开的。首先,它不依赖与硬件系统的特点,使我们在任意一种计算机上用X系统开发的图形软件,可以不需任何修改或只需极少改动就能移植到几十种其它类型的计算机上。其次,X是一种基于网络的窗口系统,采用X的应用软件可以在由不同机器组成的网络上运行。我们能方便地在远程计算机上运行软件,而将结果显示到本机上。2.SVGALibSVGALib是Linux上底层的图形库,也是Linux系统中最早出现的非X图形支持库,它支持标准的VGA图形模式和一些其他的模式,SVGALib的缺点是程序必须以root权限登录,并且它是基于图形卡的,所以不是所有的硬件都支持它。自从framebuffer这个孪生姐妹诞生后,许多软件由只支持SVGALib改变为同时支持两者,甚至一些流行的高层函数库如QT和GTK只支持Framebuffer,作为一个老的图形支持库,SVGALib目前的应用范围越来越小,尤其是在Linux内核增加了FrameBuffer驱动支持之后。3.FrameBufferFrameBuffer是出现在2.2.xx内核当中的一种驱动程序接口。这种接口将显示设备抽象为帧缓冲区。用户可以将它看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反映在屏幕上。该驱动程序的设备文件一般是/dev/fb0、/dev/fb1等等。4.LibGGIGGI,即GeneralGraphicsInterface,是新一代的图形支持库。GGI的主要功能特性有:可在FrameBuffer,SVGALib,X等设备上运行,在这些设备上是二进制兼容的;在所有平台上提供了一致的输入设备接口,比如鼠标和键盘;与LinuxThreads线程库兼容,接口线程安全;提供异步绘制模式,可提高屏幕刷新速度;提供良好的颜色处理接口;接口简单易用;采用共享库机制,实现底层支持库的动态装载;GGI的主要不足在于安装和配置较为复杂。

小红帽LINUX系统的分辨率怎么调?

XWindow分辨率,开始菜单里“系统设置”——“显示”,先设置“硬件”里的显示器型号,如果没有与实际一致的,就选一个相近的,然后更改分辨率字符控制台更改分辨率:修改/boot/grub/grub.conf,在kernel后加上vga=ask重启后会提示选择显示模式:比如想选择800*600*32的显示模式,输入u回车即可如果以后都想使用此模式,修改/boot/grub/grub.conf,将kernel后的vga=ask改为vga=0x343

如何在Linux系统安装显卡驱动?

给你总结一下吧!

1.先看硬件列表,用lspci,找到VGA那一行,确定型号2.网上找相应型号的驱动并下载3.安装之前,要禁掉X-serveri:方法为:vim/etc/X11/xorg.conf禁掉其中device部分4.重启系统,以root登录5.找到驱动文件,执行:sudosh./*.run(或其他格式)

6.startx启动X-server

阅读剩余
THE END