当前位置:首页 » 操作系统 » linuxpcisat

linuxpcisat

发布时间: 2023-06-10 12:24:42

‘壹’ 怎么让linux重新枚举pci设备

lspci(8) Linux PCI Utilities lspci(8)
NAME
lspci - 列出所有PCI设备
总览 SYNOPSIS
lspci [options]
描述 DESCRIPTION
lspci 是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具。
为了能使用这个命令所有功能,你需要有 linux 2.1.82 或以上版本,支持 /proc/bus/pci
接口的内核。在旧版本内核中,PCI工具必须使用只有root才能执行的直接硬件访问,而且总是出现竞争状况以及其他问题。
如果你要报告 PCI 设备驱动中,或者是 lspci 自身的 bugs,请在报告中包含 "lspci -vvx" 的输出。
以上信息来自centos7 使用命令 man lscpi 可看到。
setpci(8) The PCI Utilities setpci(8)
NAME
setpci - configure PCI devices
SYNOPSIS
setpci [options] devices operations...
DESCRIPTION
setpci is a utility for querying and configuring PCI devices.
这个是setpci

‘贰’ linux 如何查看硬盘大小,内存大小等系统信息及硬件信息

一、linux CPU大小x0dx0a[root@idc ~]# cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id"x0dx0amodel name: Intel(R) Xeon(TM) CPU 2.80GHzx0dx0amodel name: Intel(R) Xeon(TM) CPU 2.80GHzx0dx0amodel name: Intel(R) Xeon(TM) CPU 2.80GHzx0dx0amodel name: Intel(R) Xeon(TM) CPU 2.80GHzx0dx0aphysical id : 0x0dx0aphysical id : 0x0dx0aphysical id : 3x0dx0aphysical id : 3x0dx0a[root@idc ~]#x0dx0ax0dx0a说明:Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。x0dx0a其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可以查看physical id 的值,相同则为同一个物理CPUx0dx0a可以看到上面,这台机器有两个双核的CPU,ID分别是0和3,大小是2.8G。x0dx0a二、内存大小x0dx0a[root@xbidc ~]# cat /proc/meminfo |grep MemTotalx0dx0aMemTotal: 1034612 kBx0dx0a[root@xbidc ~]# x0dx0ax0dx0a三、硬盘大小x0dx0a[root@xbidc ~]# fdisk -l |grep Diskx0dx0aDisk /dev/sda: 300.0 GB, 300000000000 bytesx0dx0a[root@xbidc ~]#x0dx0ax0dx0a四、 更多查看linux硬件信息的方法x0dx0auname -a # 查看内核/操作系统/CPU信息的linux系统信息命令x0dx0ahead -n 1 /etc/issue # 查看操作系统版本,是数字1不是字母Lx0dx0acat /proc/cpuinfo # 查看CPU信息的linux系统信息命令x0dx0ahostname # 查看计算机名的linux系统信息命令x0dx0alspci -tv # 列出所有PCI设备x0dx0alsusb -tv # 列出所有USB设备的linux系统信息命令x0dx0alsmod # 列出加载的内核模块x0dx0aenv # 查看环境变量资源x0dx0afree -m # 查看内存使用量和交换区使用量x0dx0adf -h # 查看各分区使用情况x0dx0a -sh # 查看指定目录的大小x0dx0agrep MemTotal /proc/meminfo # 查看内存总量x0dx0agrep MemFree /proc/meminfo # 查看空闲内存量x0dx0auptime # 查看系统运行时间、用户数、负载x0dx0acat /proc/loadavg # 查看系统负载磁盘和分区x0dx0amount | column -t # 查看挂接的分区状态x0dx0afdisk -l # 查看所有分区x0dx0aswapon -s # 查看所有交换分区x0dx0ahdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)x0dx0admesg | grep IDE # 查看启动时IDE设备检测状况网络x0dx0aifconfig # 查看所有网络接口的属性x0dx0aiptables -L # 查看防火墙设置x0dx0aroute -n # 查看路由表x0dx0anetstat -lntp # 查看所有监听端口x0dx0anetstat -antp # 查看所有已经建立的连接x0dx0anetstat -s # 查看网络统计信息进程x0dx0aps -ef # 查看所有进程x0dx0atop # 实时显示进程状态用户x0dx0aw # 查看活动用户x0dx0aid # 查看指定用户信息x0dx0alast # 查看用户登录日志x0dx0acut -d: -f1 /etc/passwd # 查看系统所有用户x0dx0acut -d: -f1 /etc/group # 查看系统所有组x0dx0acrontab -l # 查看当前用户的计划任务服务x0dx0achkconfig _list # 列出所有系统服务x0dx0achkconfig _list | grep on # 列出所有启动的系统服务程序x0dx0arpm -qa # 查看所有安装的软件包x0dx0acat /proc/cpuinfo :查看CPU相关参数的linux系统命令x0dx0acat /proc/partitions :查看linux硬盘和分区信息的系统信息命令x0dx0acat /proc/meminfo :查看linux系统内存信息的linux系统命令x0dx0acat /proc/version :查看版本,类似uname -rx0dx0acat /proc/ioports :查看设备io端口x0dx0acat /proc/interrupts :查看中断x0dx0acat /proc/pci :查看pci设备的信息x0dx0acat /proc/swaps :查看所有swap分区的信息

‘叁’ linux内核认识sata磁盘

早就能用了。只要是用新版本就可以了。不过有的机器硬件太新或者功能特强,还需要用老版没对应驱动的系统。比如服务器的 SAS ,装 RHEL 4.x 系列,一般才需要另找驱动。

bootloader 阶段使用 BIOS 功能,所有的 SATA 默认都有一个简单的 BIOS 读写兼容功能提供支持。也就是说开了 AHCI ,BIOS 依然会提供兼容模式。不过现在的操作系统在内核启动后就会绕过 BIOS 直接操作硬件。这个时候如果开启了 AHCI 模式,那么 IDE 兼容部分的硬件接口模拟就没了,不过 BIOS 自己提供的读写功能虽然继续提供,但系统已然不用了。所以 bootloader 可以读写硬盘并不代表 linux 内核可以读写硬盘。

linux 的驱动有两种存放状态,编入内核或者编成模块。
initrd 里面的就是模块,会被 bootloader 在读取内核时一起读取进入内存。一般内核模块只在需要时载入,可以节省内核的运行体积。但现在新版 linux 内核的 sata 驱动已经高度集成了,所以很多发行版的 SATA 驱动都直接进入内核不需要模块载入方式了。当然这要看系统的设计,有的系统既然 initrd 必然会提供,那么编入内核确实没意义。不过需要另外找驱动的硬件,都是模块方式存在,他们在系统启动时必须存在于 initrd 里面,不然内核自己没法集成,也不能从硬盘里面读取(没驱动没法读盘,没法读盘就没法读驱动)。

BIOS 的 INT13 功能太简单了。限制也特别多,现在都是能不用就不用的。所以这东西现在只有 bootloader 才会用。

‘肆’ 虚拟机中的linux系统能否识别主机中的PCI插槽设备

虚拟机的LINUX对应的硬件平台是虚拟出来的硬件,PCI插槽设备是物理机硬件,是实实在在的硬件,在虚拟机下是不能识别物理机的硬件的,所有的虚拟机下的系统识别的都只是虚拟机软件虚拟出来的硬件.

‘伍’ 如何配置linux内核支持sata

(1)首先,用内核的 allnoconfig 配置目标,得到一个最最基本的内核配置。即,执行下面的命令:
make allnoconfig
内核的 allnoconfig 配置目标会把所有的内核选项都设置为no,也就是把它们既不编译进内核,也不编译成模块。
有了这个最基本的配置,我们再添加必须的配置项:再执行
make menuconfig
命令,按下面的步骤添加其他的配置——
(2)把 Executable file formats 下的ELF 和 emulations for 32bit ELF 选项编译进内核。
(3)在 Processor type and features 下面,选择合适的CPU类型。
(4)选择PCI/PCI-Express支持,位于Bus options (PCI, PCMCIA, EISA, MCA, ISA) 配置目录下。
(5)加入对根文件系统所在磁盘控制器的驱动:
Device Driver
|---->SCSI device support
|---->SCSI disk support
|----->SCSI low-level drivers
|---->Serial ATA (SATA) support
|---->intel PIIX/ICH SATA support
(6)加入Ext2文件系统的支持:在 File systems 配置目录下,选择 Second extended fs support。如果根文件系统是Ext3,则选择 Ext3 journalling file system support。
(7)为了是 Udev 正常工作,需要内核支持 Unix domain sockets。此配置选项位于 Networking 配置目录中的 Networking support ---> Networking options 下。
(8)使内核支持 /proc 虚拟文件系统和 tmpfs 文件系统:
File systems ---> Pseudo filesystems ---> /proc file system support / Virtual memory file system support (former shm fs)
(9)支持 swap 分区:
General setup ---> Support for paging of anonymous memory (swap)
(10)支持 RTC 设备:
Device Drivers ---> Character devices ---> Enhanced Real Time Clock Support
(11)为了充分发挥我的双核CPU的能力,我又加入了对SMP的支持:
Processor type and features ---> Symmetric multi-processing support。

‘陆’ Linux中的PCI驱动总结

l Pci驱动注册

Pci_register_driver(struct pci_driver *drv)

Static struct pci_driver pci_driver= {

.name = DRV_NAME,

.id_table = pci_pci_tbl,

.probe = pci_init_one,

.remove = _devexit_p(pci_remove_one),

};

l Pci配置空间

Pci_read_config_byte/word/dword(struct pci_dev *pdev,int offset,int *value)

Pci_write_config_byte/word/dword(struct pci_dev *pdev,int offset,int *value)

l Pci的I/O和内存空间

Pci_resource_start(struct pci_dev *dev,int bar) bar的范围0-5;功能:从配置区相应寄存器得到I/O区域的基址

Pci_resource_length(struct pci_dev *dev,int bar)bar的范围0-5;功能:从配置区相应寄存器得到I/O区域的内存区域长度

Request_mem_fegion(io_base,length,name)申请I/O端口

Request_mem_region(io_base,length,name)释放I/O端口

Pci_enable_device启用设备的I/O

Pci_set_master设定设备工作在总线主设备模式

热点内容
C4D清空已缓存的内存 发布:2025-04-07 03:44:54 浏览:462
php递归算法经典实例 发布:2025-04-07 03:31:13 浏览:458
字卦的算法 发布:2025-04-07 03:31:11 浏览:698
中国年鉴数据库 发布:2025-04-07 03:11:26 浏览:328
短信发送android 发布:2025-04-07 03:11:19 浏览:399
thinkphp上传多张图片 发布:2025-04-07 03:09:50 浏览:828
12位密码最多猜多少次 发布:2025-04-07 03:08:30 浏览:552
三消的算法 发布:2025-04-07 02:56:27 浏览:823
安卓手机在哪里下载特斯拉 发布:2025-04-07 02:55:41 浏览:63
linux命令启动服务 发布:2025-04-07 02:22:27 浏览:68