当前位置:首页 » 存储配置 » 如何将网卡配置写入内核

如何将网卡配置写入内核

发布时间: 2022-09-24 16:02:59

linux怎么编译进驱动进内核

一、 驱动程序编译进内核的步骤
在 linux 内核中增加程序需要完成以下三项工作:
1. 将编写的源代码复制到 Linux 内核源代码的相应目录;
2. 在目录的 Kconfig 文件中增加新源代码对应项目的编译配置选项;
3. 在目录的 Makefile 文件中增加对新源代码的编译条目。

bq27501驱动编译到内核中具体步骤如下:
1. 先将驱动代码bq27501文件夹复制到 ti-davinci/drivers/ 目录下。
确定bq27501驱动模块应在内核源代码树中处于何处。
设备驱动程序存放在内核源码树根目录 drivers/ 的子目录下,在其内部,设备驱动文件进一步按照类别,类型等有序地组织起来。
a. 字符设备存在于 drivers/char/ 目录下
b. 块设备存放在 drivers/block/ 目录下
c. USB 设备则存放在 drivers/usb/ 目录下。
注意:
(1) 此处的文件组织规则并非绝对不变,例如: USB 设备也属于字符设备,也可以存放在 drivers/usb/ 目录下。
(2) 在 drivers/char/ 目录下,在该目录下同时存在大量的 C 源代码文件和许多其他目录。所有对于仅仅只有一两个源文件的设备驱动程序,可以直接存放在该目录下,但如果驱动程序包含许多源文件和其他辅助文件,那么可以创建一个新子目录。
(3) bq27501的驱动是属于字符设备驱动类别,虽然驱动相关的文件只有两个,但是为了方面查看,将相关文件放在了bq27501的文件夹中。在drivers/char/目录下增加新的设备过程比较简单,但是在drivers/下直接添加新的设备稍微复杂点。所以下面首先给出在drivers/下添加bq27501驱动的过程,然后再简单说明在drivers/char/目录下添加的过程。

2. 在/bq27501下面新建一个Makefile文件。向里面添加代码:
obj-$(CONFIG_BQ27501)+=bq27501.o
此时,构建系统运行就将会进入 bq27501/ 目录下,并且将bq27501.c 编译为 bq27501.o
3. 在/bq27501下面新建Kconfig文件。添加代码:
menu "bq27501 driver"

config BQ27501
tristate"BQ27501"
default y
---help---
Say 'Y' here, it will be compiled into thekernel; If you choose 'M', it will be compiled into a mole named asbq27501.ko.
endmenu
注意:help中的文字不能加回车符,否则make menuconfig编译的时候会报错。
4. 修改/drivers目录下的Kconfig文件,在endmenu之前添加一条语句‘source drivers/bq27501/Kconfig’ 对于驱动程序,Kconfig 通常和源代码处于同一目录。 若建立了一个新的目录,而且也希望 Kconfig 文件存在于该目录中的话,那么就必须在一个已存在的 Kconfig 文件中将它引入,需要用上面的语句将其挂接在 drivers 目录中的Kconfig 中。

5. 修改/drivers目下Makefile文件,添加‘obj-$(CONFIG_BQ27501) +=bq27501/’。这行编译指令告诉模块构建系统在编译模块时需要进入 bq27501/ 子目录中。此时的驱动程序的编译取决于一个特殊配置 CONFIG_BQ27501 配置选项。

6. 修改arch/arm目录下的Kconfig文件,在menu "Device Drivers……endmenu"直接添加语句
source "drivers/bq27501/Kconfig"

❷ 急急急!!怎么设置网卡

正确设置网卡参数

许多使用宽带拨号上网的用户常常会遭遇到这样的麻烦,那就是系统每次开机运行后,打开Windows界面的速度倒是十分正常,可是等到Windows系统桌面中的所有内容显示出来后我们还需要等很长时间才能正常操作键盘和鼠标,其实在这个等待过程中系统正处于一种假死状态。事实上很少有人清楚,这个假死状态竟然是由网卡一手造成的;原来系统在每次运行过程中,网卡在缺省状态下会自动向DHCP服务器申请IP地址,不过我们由于使用的是宽带拨号方式,这种拨号方式一般不会为网卡自动分配IP地址的,这么一来网卡就会耗费很长的时间来反复申请地址,直到最后申请失败为止。

为了避免系统在启动过程中,网卡耗费太长的时间去申请IP地址,我们可以通过下面的两个方法来为网卡快速分配合适的IP地址:

第一种方法就是通过共享路由上网的方法,在使用该方法上网时,我们可以先打开IE浏览器,并在浏览窗口的地址栏中输入路由器默认的IP地址,打开该设备的后台登录界面,并正确输入原始登录帐号与密码,进入后台管理界面,然后在该界面中将路由器的DHCP功能正确启用起来,同时要将可供有效分配的IP地址池参数设置好,最后重新启动一下设置好参数的路由器设备,这么一来Windows系统日后启动时网卡就能很快从路由器内置的DHCP服务器中获得有用的IP地址了,那么系统启动过程中就不会出现假死等待状态了,那样的话启动速度自然就要比以前快了许多。

第二种方法是通过虚拟拨号的方法进行上网,在使用该方法上网时,可以先用鼠标右键单击系统桌面中的“网上邻居”图标,从弹出的右键菜单中执行“属性”命令,打开本地计算机系统的网络连接列表界面,选中该界面中的“本地连接”图标,再用鼠标右键单击该图标,然后执行快捷菜单中的“属性”命令,打开本地连接属性设置窗口;

单击该窗口中的“常规”标签,并在对应标签页面中双击其中的“Internet协议(TCP/IP)”项目,进入到如图2所示的设置对话框;选中该对话框中的“使用下面的IP地址”项目,同时为网卡分配一个与宽带“猫”IP地址同处一个网段的地址;例如,一般宽带“猫”IP地址为“192.168.0.1”,那么网卡IP地址就可以设置成“192.168.0.10”,子网掩码地址可以设置为“255.255.255.0”,网关地址可以设置成“192.168.0.1”;下面的再在DNS服务器地址处选择“使用下面的DNS服务器地址”,然后在对应的文本框中输入本地ISP提供的DNS地址,例如笔者在这里填写的是“202.102.11.141”,单击“确定”按钮,将上面的参数设置保存起来,最后重新启动一下Windows系统,相信这一次系统很快就能启动完毕。

图2

小提示:

网卡参数设置不当,不但会影响计算机系统的启动速度,而且还会影响共享访问速度。例如,要是相互通信的两台工作站网卡使用的工作模式不匹配的话,就会严重影响它们的数据传输速度;这不,当10M/100M自适应网卡与100M网卡相互通信时,一旦10M/100M自适应网卡工作模式被设置为10M全双工时,那么该网卡每次和100M网卡相互传输数据时,就需要耗费一定的时间来决定该使用什么大小的速度进行数据传输,那样的话两台工作站相互传输数据的速度就会受到很大影响。

为了防止网卡模式影响共享访问速度,我们必须根据实际情况来设置好网卡的工作模式。一般来说,当相互通信的网卡型号完全相同时,我们只要将它们的工作模式设置成相同就可以了;当一块网卡为10M/100M自适应的,另外一块网卡为100M的,那么它们在相互通信时,我们可以将10M/100M自适应网卡模式调整成100M全双工模式,而将100M网卡设置成默认工作模式就可以了;当一块网卡为10M/100M自适应的,另外一块网卡为10M的,那么它们在相互通信时,我们可以将10M/100M自适应网卡模式调整成10M全双工模式,而将10M网卡设置成默认工作模式就可以了;在具体调整网卡模式参数时,可以按照下面的操作步骤进行:

首先逐一单击“开始”、“设置”、“网络连接”命令,在其后弹出的网络连接列表界面中右击本地连接图标,执行右键菜单中的“属性”菜单命令,进入本地连接属性设置窗口;

单击该设置窗口中的“常规”标签,并在对应标签页面的“连接时使用”处,将安装在本地计算机中的目标网卡设备选中,同时单击右侧“配置”按钮,打开网卡设备属性设置窗口;

在该设置窗口的“高级”标签页面中,选中“属性”列表中的“Link Speed/Duplex Mode”选项(如图3所示),并在该选项的“值”下拉列表中,为网卡选择一个合适的工作模式,并单击“确定”按钮就可以了。

在开始之前,您应该知道您的网卡类型,它用的芯片和它是 PCI 还是 ISA 网卡。FreeBSD 支持很多种 PCI 和 ISA 网卡。 可以查看您的版本硬件兼容性列表以确定您的网卡被支持。

确认系统能够支持您的网卡之后, 您还需要为它选择合适的驱动程序。 /usr/src/sys/conf/NOTES 和 /usr/src/sys/arch/conf/NOTES 将为您提供所支持的一些网卡和芯片组的信息。 如果您怀疑驱动程序是否使所要找的那一个,请参考驱动程序的联机手册。 联机手册将提供关于所支持的硬件更详细的信息,甚至还包括可能发生的问题。

如果您的网卡很常见的话, 大多数时候您不需要为驱动浪费精力。 常用的网卡在 GENERIC 内核中已经支持了,所以您的网卡在启动时就会显示出来,像是:

dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38
000ff irq 15 at device 11.0 on pci0
dc0: Ethernet address: 00:a0:cc:da:da:da
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30
000ff irq 11 at device 12.0 on pci0
dc1: Ethernet address: 00:a0:cc:da:da:db
miibus1: <MII bus> on dc1
ukphy1: <Generic IEEE 802.3u media interface> on miibus1
ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
在这个例子中,我们看到有两块使用 dc(4) 驱动的网卡在系统中。

如果您的网卡没有出现在 GENERIC 中,则需要手工加载合适的驱动程序。 要完成这项工作可以使用下面两种方法之一:

最简单的办法是用 kldload(8) 加载网卡对应的内核模块。 除此之外, 通过在 /boot/loader.conf 文件中加入适当的设置, 也可以让系统在引导时自动加载这些模块。 不过,并不是所有的网卡都能够通过这种方法提供支持; ISA 网卡是比较典型的例子。

另外, 您也可以将网卡的支持静态联编进内核。 察看 /usr/src/sys/conf/NOTES, /usr/src/sys/arch/conf/NOTES 以及驱动程序的联机手册以了解需要在您的内核配置文件中加一些什么。要了解关于重新编译内核的进一步细节, 请参见 第 8 章。如果您的卡在引导时可以被内核 (GENERIC) 识别,您应该不需要编译新的内核。

11.8.1.1 使用 Windows® NDIS 驱动程序
不幸的是, 许多厂商由于认为驱动程序会涉及许多敏感的商业机密,至今仍不愿意将把驱动程序作为开放源代码形式发布列入他们的时间表。 因此, FreeBSD 和其他操作系统的开发者就只剩下了两种选择: 要么经历长时间的痛苦过程来对驱动进行逆向工程,要么使用现存的为 Microsoft® Windows 平台提供的预编译版本的驱动程序。 包括参与 FreeBSD 开发的绝大多数开发人员, 都选择了后一种方法。

得益于 Bill Paul (wpaul) 的工作, 从 FreeBSD 5.3-RELEASE 开始, 已经可以 “直接地” 支持 网络驱动接口标准 (NDIS, Network Driver Interface Specification) 了。 FreeBSD NDISulator (也被称为 Project Evil) 可以支持二进制形式的 Windows 驱动程序, 并让它相信正在运行的是 Windows。 由于 ndis(4) 驱动使用的是用于 Windows 的二进制形式的驱动, 因此它只能在 i386™ 和 amd64 系统上使用。

注意: ndis(4) 驱动在设计时主要提供了 PCI、 CardBus 和 PCMCIA 设备的支持, 而 USB 设备目前则没有提供支持。

要使用 NDISulator, 您需要三件东西:

内核的源代码

二进制形式的 Windows XP 驱动程序 (扩展名为 .SYS)

Windows XP 驱动程序配置文件 (扩展名为 .INF)

您需要找到用于您的卡的这些文件。 一般而言, 这些文件可以在随卡附送的 CD 或制造商的网站上找到。 在下面的例子中, 我们用 W32DRIVER.SYS 和 W32DRIVER.INF 来表示这些文件。

注意: 不能在 FreeBSD/amd64 上使用 Windows/i386 驱动程序。 必须使用 Windows/amd64 驱动才能在其上正常工作。

接下来的步骤是将二进制形式的驱动程序组装成内核模块。 要完成这一任务, 需要以 root 用户的身份执行 ndisgen(8):

# ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS
ndisgen(8) 是一个交互式的程序, 它会提示您输入所需的一些其他的额外信息; 这些工作完成之后,它会在当前目录生成一个内核模块文件, 这个文件可以通过下述命令来加载:

# kldload ./W32DRIVER.ko
除了刚刚生成的内核模块之外, 还必须加载 ndis.ko 和 if_ndis.ko 这两个内核模块, 在您加载需要 ndis(4) 的模块时,通常系统会自动完成这一操作。 如果希望手工加载它们, 则可以使用下列命令:

# kldload ndis
# kldload if_ndis
第一个命令会加载 NDIS 袖珍端口驱动封装模块,而第二条命令则加载实际的网络接口。

现在请查看 dmesg(8) 来了解是否发生了错误。 如果一切正常, 您会看到类似下面的输出:

ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1
ndis0: NDIS API version: 5.0
ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5
ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps
这之后, 就可以像使用其它网络接口 (例如 dc0) 一样来使用 ndis0 设备了。

与任何其它模块一样, 您也可以配置系统, 令其在启动时自动加载 NDIS 模块。 首先,将生成的模块 W32DRIVER.ko 复制到 /boot/moles 目录中。 接下来, 在 /boot/loader.conf 中加入:

W32DRIVER_load="YES"
11.8.2 配置网卡
现在正确的网卡驱动程序已经装载,那么就应该配置它了。跟其他配置一样,网卡可以在安装时用 sysinstall 来配置。

要显示您系统上的网络接口的配置,输入下列命令:

% ifconfig
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:a0:cc:da:da:da
media: Ethernet autoselect (100baseTX <full-plex>)
status: active
dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
ether 00:a0:cc:da:da:db
media: Ethernet 10baseT/UTP
status: no carrier
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
注意: 老版本的 FreeBSD 可能需要在 ifconfig(8) 后面接 -a 选项,需要了解更多的 ifconfig(8) 语法请查阅使用手册。注意所有关于 IPv6 (inet6 等等) 的记录在这个例子里都被忽略了。

在这个例子中,显示出了下列设备:

dc0: 第一个以太网接口

dc1: 第二个以太网接口

lp0: 并行端口网络接口

lo0: 回环设备

tun0: ppp使用的隧道设备

FreeBSD 使用内核引导时检测到的网卡驱动顺序来命名网卡。例如 sis2 是系统中使用 sis(4) 驱动的第三块网卡。

在这个例子中,dc0 设备启用了。主要表现在:

UP 表示这块网卡已经配置完成准备工作。

这块网卡有一个 Internet (inet) 地址 (这个例子中是 192.168.1.3)。

它有一个有效的子网掩码 (netmask; 0xffffff00 等同于 255.255.255.0)。

它有一个有效的广播地址 (这个例子中是 192.168.1.255)。

网卡的 MAC (ether) 地址是 00:a0:cc:da:da:da

物理传输媒介模式处于自动选择状态 (media: Ethernet autoselect (100baseTX <full-plex>))。我们看到 dc1 被配置成运行在 10baseT/UTP 模式下。要了解驱动媒介类型的更多信息, 请查阅它们的使用手册。

连接状态 (status)是 active,也就是说连接信号被检测到了。对于 dc1,我们看到 status: no carrier。这通常是网线没有插好。

如果 ifconfig(8) 的输出显示了类似于:

dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:a0:cc:da:da:da
的信息,那么就是还没有配置网卡。

要配置网卡,您需要 root 权限。 网卡配置可以通过使用 ifconfig(8) 命令行方式来完成, 但是这样每次启动都要做一遍。放置网卡配置信息的文件是 /etc/rc.conf。

用您自己喜欢的编辑器打开 /etc/rc.conf。并且您需要为每一块系统中存在的网卡添加一行, 在我们的例子中,添加如下几行:

ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0"
ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"
用自己正确的设备名和地址来替换例子中的 dc0,dc1 等内容。您应该应该查阅网卡驱动和 ifconfig(8) 的手册页来了解各选项,也要查看一下 rc.conf(5) 帮助页来了解 /etc/rc.conf 的语法。

如果在安装的时候配置了网络,关于网卡的一些行可能已经存在了。所以在添加新行前仔细检查一下 /etc/rc.conf。

您也可能需要编辑 /etc/hosts 来添加局域网中不同的机器名称和 IP 地址,如果它们不存在,查看 hosts(5) 帮助和 /usr/share/examples/etc/hosts 以获得更多信息。

11.8.3 测试和调试
对 /etc/rc.conf 做了必要的修改之后应该重启系统以应用对接口的修改,并且确认系统重启后没有任何配置错误。

系统重启后就应该测试网络接口了。

11.8.3.1 测试以太网卡
为了确认网卡被正确的配置了,在这里我们要做两件事情。首先, ping 自己的网络接口,接着 ping 局域网内的其他机器。

首先测试本地接口:

% ping -c5 192.168.1.3
PING 192.168.1.3 (192.168.1.3): 56 data bytes
64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.082 ms
64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 ms
64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 ms
64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076 ms

--- 192.168.1.3 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 ms
现在我们应该 ping 局域网内的其他机器:

% ping -c5 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.726 ms
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 ms
64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704 ms

--- 192.168.1.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms
您如果您设置了 /etc/hosts 文件,也可以用机器名来替换 192.168.1.2。

11.8.3.2 调试
调试硬件和软件配置一直是一件头痛的事情, 从最简单的开始可以减轻一些痛苦。例如网线是否插好了?是否配置好了网络服务?防火墙配置正确吗? 是否使用了被 FreeBSD 支持的网卡? 在发送错误报告之前您应该查看一下硬件说明, 升级 FreeBSD 到最新的 STABLE 版本, 看一下邮件列表或者在 Internet 上搜索一下。

如果网卡工作了, 但性能低下,应该好好阅读一下 tuning(7) 联机手册。您也可以检查一下网络配置, 不正确的设置会导致慢速的网络连接。

一些用户可能会在一些网卡上经历一到两次 “device timeouts”, 这通常是正常现象。 如果经常这样甚至引起麻烦,则应确定一下它跟其他设备没有冲突。 仔细检查网线连接, 或者换一块网卡。

有时用户会看到少量 “watchdog timeout” 错误。这种情况要做的第一件事就是检查线缆连接。 一些网卡需要支持总线控制的 PCI 插槽。在一些老的主板上,只有一个 PCI 插槽支持 (一般是 slot 0)。检查网卡和主板说明书来确定是不是这个问题。

“No route to host” 通常发生在如果系统不能发送一个路由到目的主机的包的时候。这在没有指定默认路由或者网线没有插上时会发生。 检查 netstat -rn 的输出并确认有一个有效的路由能到达相应的主机。 如果没有,请查阅 第 27 章。

“ping: sendto: Permission denied” 错误信息经常由防火墙的配置错误引起。 如果 ipfw 在内核中启用了但是没有定义规则, 那么默认的规则就是拒绝所有通讯,甚至 ping 请求! 查阅 第 26 章 以了解更多信息。

有时网卡性能低下或者低于平均水平, 这种情况最好把传输媒介模式从 autoselect 改变为正确的传输介质模式。 这通常对大多数硬件有用,但可能不会解决所有人的问题。 接着,检查所有网络设置,并且阅读 tuning(7) 手册页。

❸ 如何在linux系统下配置无线网卡

vmware三种模式onlyhost、NAT、bridge模式否选虚拟硬件否添加线网卡

❹ 如何将驱动添加进内核

一、 驱动程序编译进内核的步骤 在 linux 内核中增加程序需要完成以下三项工作: 1. 将编写的源代码复制到 Linux 内核源代码的相应目录; 2. 在目录的 Kconfig 文件中增加新源代码对应项目的编译配置选项; 3. 在目录的 Makefile 文件中增加对新源代码的编译条目。 bq27501驱动编译到内核中具体步骤如下: 1. 先将驱动代码bq27501文件夹复制到 ti-davinci/drivers/ 目录下。 确定bq27501驱动模块应在内核源代码树中处于何处。 设备驱动程序存放在内核源码树根目录 drivers/ 的子目录下,在其内部,设备驱动文件进一步按照类别,类型等有序地组织起来。 a. 字符设备存在于 drivers/char/ 目录下 b. 块设备存放在 drivers/block/ 目录下 c. USB 设备则存放在 drivers/usb/ 目录下。 注意: (1) 此处的文件组织规则并非绝对不变,例如: USB 设备也属于字符设备,也可以存放在 drivers/usb/ 目录下。 (2) 在 drivers/char/ 目录下,在该目录下同时存在大量的 C 源代码文件和许多其他目录。所有对于仅仅只有一两个源文件的设备驱动程序,可以直接存放在该目录下,但如果驱动程序包含许多源文件和其他辅助文件,那么可以创建一个新子目录。 (3) bq27501的驱动是属于字符设备驱动类别,虽然驱动相关的文件只有两个,但是为了方面查看,将相关文件放在了bq27501的文件夹中。在drivers/char/目录下增加新的设备过程比较简单,但是在drivers/下直接添加新的设备稍微复杂点。所以下面首先给出在drivers/下添加bq27501驱动的过程,然后再简单说明在drivers/char/目录下添加的过程。 2. 在/bq27501下面新建一个Makefile文件。向里面添加代码: obj-$(CONFIG_BQ27501)+=bq27501.o 此时,构建系统运行就将会进入 bq27501/ 目录下,并且将bq27501.c 编译为 bq27501.o 3. 在/bq27501下面新建Kconfig文件。添加代码: menu "bq27501 driver" config BQ27501 tristate"BQ27501" default y ---help--- Say 'Y' here, it will be compiled into thekernel; If you choose 'M', it will be compiled into a mole named asbq27501.ko. endmenu 注意:help中的文字不能加回车符,否则make menuconfig编译的时候会报错。 4. 修改/drivers目录下的Kconfig文件,在endmenu之前添加一条语句‘source drivers/bq27501/Kconfig’ 对于驱动程序,Kconfig 通常和源代码处于同一目录。 若建立了一个新的目录,而且也希望 Kconfig 文件存在于该目录中的话,那么就必须在一个已存在的 Kconfig 文件中将它引入,需要用上面的语句将其挂接在 drivers 目录中的Kconfig 中。 5. 修改/drivers目下Makefile文件,添加‘obj-$(CONFIG_BQ27501) +=bq27501/’。这行编译指令告诉模块构建系统在编译模块时需要进入 bq27501/ 子目录中。此时的驱动程序的编译取决于一个特殊配置 CONFIG_BQ27501 配置选项。 6. 修改arch/arm目录下的Kconfig文件,在menu "Device Drivers……endmenu"直接添加语句 source "drivers/bq27501/Kconfig"

❺ 如何配置Linux网卡

linux下配置网络步骤方法:

配置动态IP

1、在终端命令窗口中输入setup,就会弹出如下窗口。
[root@wgods ~]# setup

拓展资料

1、网卡上面装有处理器和存储器(包括RAM和ROM)。网卡和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的。而网卡和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行。因此,网卡的一个重要功能就是要进行串行/并行转换。由于网络上的数据率和计算机总线上的数据率并不相同,因此在网卡中必须装有对数据进行缓存的存储芯片。

2、在安装网卡时必须将管理网卡的设备驱动程序安装在计算机的操作系统中。这个驱动程序以后就会告诉网卡,应当从存储器的什么位置上将局域网传送过来的数据块存储下来。网卡还要能够实现以太网协议。

3、网卡并不是独立的自治单元,因为网卡本身不带电源而是必须使用所插入的计算机的电源,并受该计算机的控制。因此网卡可看成为一个半自治的单元。当网卡收到一个有差错的帧时,它就将这个帧丢弃而不必通知它所插入的计算机。当网卡收到一个正确的帧时,它就使用中断来通知该计算机并交付给协议栈中的网络层。当计算机要发送一个IP数据包时,它就由协议栈向下交给网卡组装成帧后发送到局域网。

4、随着集成度的不断提高,网卡上的芯片的个数不断的减少,虽然各个厂家生产的网卡种类繁多,但其功能大同小异。

参考资料:网络:网卡

❻ centos 7.1无线网卡怎么设置配置文件

centos7的网卡设置和以前的版本设置有所不同,设置方法如下:

1.安装好后,网卡是以eno1677736命名的

❼ 如何在linux系统下配置无线网卡

工作的大体思路如下:
用iwconfig开启无线网卡的电源,并查找区域内的无线网络
连接到相应的无线网络
通过ifconfig启用无线网卡,并获取IP(如果使用DHCP的话)

注意:
假设无线被识别为wlan0,如果您的网卡没有被识别为wlan0,可以在操作时做相应的修改。
具体过程
1. 打开无线网卡电源
iwconfig wlan0 txpower on
无线网络的信号灯应该亮了。
2. 列出区域内的无线网络
iwlist wlan0 scan
3. 假设要连接到网络MyHome(即essid为MyHome的网络),那么输入命令
iwconfig wlan0 essid "MyHome"
如果网络是加密的,密码是0123456789,那么就输入命令
iwconfig wlan0 essid "MyHome" key 0123-4567-89
4. 如果正常的话,输入
iwconfig wlan0
就可以看到连接正常的各项参数了。
5. 启用无线网卡
ifconfig wlan0 up
6. 如果是用DHCP获取IP的,那么用dhclient 或dhcpcd获取ip
dhclient wlan0

dhcpcd wlan0
7. 现在无线网卡应该可以正常使用了。

❽ 如何配置linux内核

在做Virtualization这段时间,编译过多次Linux kernel,编译Kernel过程中配置config这一步是相对来说比较复杂的。对编译内核过程中的配置这一步做详细的说明吧,总结一下,多数内容源于网上的多篇文章。

首发在我的博客:http://renyongjie668.blog.163.com/blog/static/1600531201143010295156/

首先,配置时可能出现的选项,对其选择先来个说明吧。
Typically, your choices for each option are shown in the format [Y/m/n/?] The capitalized letter is the default, and can be selected by just pressing the Enter key. The four choices are:
y Build directly into the kernel.
n Leave entirely out of the kernel.
m Build as a mole, to be loaded if needed.
? Print a brief descriptive message and repeat the prompt.
y表示是(相应功能将直接编译进内核),m表示模块(相应功能将编译为一个模块,在需要时加载),以及n表示否(相应功能不会包含进内核)。?则(对该配置项)打印出简要的描述信息并重复刚才的选择提示。
其次,我使用的最多的两个配置命令分别是:make muneconfig和make oldconfig
make oldconfig和make config类似,但是它的作用是在现有的内核设置文件基础上建立一个新的设置文件,只会向用户提供有关新内核特性的问题,在新内核升级的过程 中,make oldconfig非常有用,用户将现有的配置文件.config复制到新内核的源码中,执行make oldconfig,此时,用户只需要回答那些针对新增特性的问题。
make menuconfig基于终端的一种配置方式,提供了文本模式的图形用户界面,用户可以通过光标移动来浏览所支持的各种特性。使用这用配置方式时,系统中必须安装有ncurese库。

在内核树的根目录中,有一个.config文件,它记录了内核的配置选项,可直接对它进行修改,再运行。在.config文件中,每个配置和选项的值只能为”y”和”m”两者之一,如果不需要这个特性不再支持她,那么可以将对应的选项用”#”注释掉。实际上,如果你手头有合适的.config文件,可以运行make oldconfig 直接按.config的内容来配置$ sudo make oldconfig
对内核的配置都是围绕.config来展开的. 即便开始.config文件不存在,进行配置后会创造它.
一般来说,内核配置保存于/usr/src/linux-*/.config文件中。在/boot/config-<版本>有其备份。请保留它以备后用。

常见的几种配置方式:
为了完成内核的配置,必须切换到root用户,然后转入内核源码目录(就是你下载新内核的目录):
#cd /usr/src/linux/linux-2.6.38
然后执行下面命令之一:
#make config
#make oldconfig
#make menuconfig
#make gconfig
#make defconfig
#make allyesconfig
#make allmodconfig

1.make config
基于文本的最为传统的也是最为枯草的一种配置方式,但是它可以使用任何情况,这种方式会为每一个内核支持的特性向用户提问,如果用户回答“y”,则把特性编译进内核;回答“m”,则它特性作为模块进行编译;回答“n”,则表示不对该特性提供支持
如果回答每个问题前,必须考虑清楚,如果在配置过程中犯了错误给了错误的回答,就只能按“ctcl+c”强行退出了

2.make oldconfig
make oldconfig和make config类似,但是它的作用是在现有的内核设置文件基础上建立一个新的设置文件,只会向用户提供有关新内核特性的问题,在新内核升级的过程 中,make oldconfig非常有用,用户将现有的配置文件.config复制到新内核的源码中,执行make oldconfig,此时,用户只需要回答那些针对新增特性的问题
make silentoldconfig : Like above, but avoids cluttering the screen with questions already answered.和上面oldconfig一样,但在屏幕上不再出现已在.config中配置好的选项。

3.make menuconfig
基于终端的一种配置方式,提供了文本模式的图形用户界面,用户可以通过光标移动来浏览所支持的各种特性。使用这用配置方式时,系统中必须安装有ncurese库,否则会显示“Unable to find the Ncurses libraies”的错误提示

4.make xoncifg
基 于X Winodws的一种配置方式,提供了漂亮的配置窗口,不过只有能够在X Server上使用root用户欲行X应用程序时,才能够使用,它依赖于QT,如果系统中没有安装QT库,则会出现“Unable to find the QT installation”的错误提示

5.make gconfig
与make xocnifg类似,不同的是make gconfig依赖于GTK库

6.make defconfig
按照默认的配置文件arch/i386/defconfig对内核进行配置,生成.config可以用作初始化配置,然后再使用make menuconfig进行定制化配置

7.make allyesconfig
尽量多地使用“y”设置内核选项值,生成的配置中包含了全部的内核特性
make allnoconfig :除必须的选项外,其它选项一律不选. (常用于嵌入式系统).

8.make allmodconfig
尽可能多的使用“m”设置内核选项值来生成配置文件

下载好Linux内核源代码后,在源代码的根目录执行
make localyesconfig或者make localmodconfig
然后系统就会根据你的硬件自动生成一个适应你的硬件的.config (内核的配置文件)
make localmodconfig会执行lsmod命令查看当前系统中加载了哪些模块(Moles),并最后将原来的.config中不需要的模块去掉,仅保留前面lsmod出来的这些模块,从而简化了内核的配置过程。
这样做确实方便了很多,但是也有个缺点:该方法仅能使编译出的内核支持当前内核已经加载的模块。因为该方法使用的是lsmod的结果,如果有的模块当前没有加载,那么就不会编到新的内核中。
There’s an additional “make localyesconfig” target, in case you don’t want to use moles and/or initrds.

几条好的建议:
除非您使用初始化ramdisk (initrd),否则绝不要把挂载根文件系统必需的驱动程序(硬件驱动以及文件系统驱动)编译成模块!而如果您确实使用初始化ramdisk,请为ext2FS支持选项选择Y,因为ramdisk使用该文件系统。您还需要initrd支持。
如果您系统中有网卡,将它们的驱动编译成模块。这样,您就能够在/etc/moles.conf中用别名定义哪一块网卡第一,哪一块第二,等等。如果您将驱动程序编译进了内核,它们加载的顺序将取决于当初它们链接进内核的顺序,而这不一定是您想要的。
最后,如果您不清楚某个选项的含义,请阅读其帮助!而如果该帮助信息依然不能解决您的困惑,请保留该选项原来的样子。(在config和oldconfig中可以按?键访问帮助。)
配置最终结束后,请保存您的配置并退出。

参考资料:

http://www.cnmaizi.com/tech/elebuild/simplify-linux-kernel-config-rapid-compile-method-collect/

http://man.ddvip.com/linux/Mandrakelinuxref/compiling-conf.html

http://www.huomo.cn/os/article-5d18.html

编译 Linux2.6 内核总结: http://www.cublog.cn/u/13991/showart.php?id=79823

编译内核:http://my.chinaunix.net/space.php?uid=25806768&do=blog&id=302764

内核_.config 内核配置及Makefile:http://www.cnblogs.com/parrynee/archive/2010/05/13/1734689.html

❾ 请教一个问题怎么把无线网卡编译到内核中去

编译为驱动模块.ko,然后insmod就可以呀。

❿ linux无线网卡配置

先去确认所在的区域有无wi-fi覆盖,并且得到相应的wi-fi登录密码
打开linux终端,登录root用户,用【lsusb】命令检查是否检测到网卡。
检查模块与对应的网卡代号,看看是否正确加载到内核。采用【modinfo】与【iwconfig】命令。如果出现wlan0之类的网卡才是捕捉到。
如果没有加载正确的驱动程序,那就要下载正确的驱动程序,可以用【rpm】命令下载相关的驱动程序。
网卡检测到,并且加载正确的驱动程序。下面就是开始配置网卡配置文件。【cd】进入【etc/sysconfig/network-scripts】目录,再用【vim】打开相应的网卡配置文件进行配置。
配置好之后,检测网络是否联通,可采用【ping】命令。

热点内容
余额宝如何加密 发布:2024-05-09 07:28:54 浏览:51
王洋java 发布:2024-05-09 07:28:11 浏览:2
小雄压缩机 发布:2024-05-09 07:28:04 浏览:359
电脑做存储服务器 发布:2024-05-09 07:23:40 浏览:187
安卓手机怎么不用开机就刷机 发布:2024-05-09 07:23:09 浏览:223
李逵捕鱼脚本 发布:2024-05-09 07:18:55 浏览:7
如何搭建邮局服务器 发布:2024-05-09 07:15:08 浏览:130
jsp文件上传和下载 发布:2024-05-09 07:09:16 浏览:410
我的世界连接不到服务器为什么 发布:2024-05-09 07:09:15 浏览:226
cf手游透视脚本 发布:2024-05-09 06:53:35 浏览:709