AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1094508
Accepted
Goktug
Goktug
Asked: 2018-11-21 04:30:46 +0800 CST2018-11-21 04:30:46 +0800 CST 2018-11-21 04:30:46 +0800 CST

Linux 内核源代码是否包含设备驱动程序?

  • 772

我对内核开发感兴趣已经有一段时间了。我想知道内核源代码是否包含有关硬件组件的任何代码。

换句话说,设备驱动程序是内核源代码的一部分吗?

如果它们是内核源代码的一部分,那怎么可能呢?

通过使用虚拟机或双启动,我们可以在任何计算机上设置 Linux。Linus Torvalds 如何编写它以兼容所有计算机及其硬件组件?

我认为设备驱动程序不是内核的一部分。

drivers kernel
  • 2 2 个回答
  • 1278 Views

2 个回答

  • Voted
  1. Best Answer
    Zanna
    2018-11-22T03:41:04+08:002018-11-22T03:41:04+08:00

    设备驱动程序在内核中。

    Linus 自己编写了最初的 Linux 内核,并且一直参与其中(反正我上次听说过),但现在有成千上万的人在为 Linux 内核开发。这些人包括英特尔等公司的员工,他们为他们的设备编写 Linux 内核驱动程序(并为此获得报酬)。

    请注意,一个驱动程序可以适用于许多不同的设备。例如,i915 是内核的 Intel CPU 驱动程序。不需要为每个不同的 Intel CPU 提供驱动程序。

    粗略地描述,Linux 内核开发是一个巨大的、广泛分布的项目,由 Linus 和其他核心开发人员监督,人们作为他们的全职工作、工作的一部分、作为爱好或项目做出贡献,所有这些都通过邮件列表进行通信。任何人都可以为内核编写补丁,给内核打补丁,并使用和分发他们打补丁的内核。但是,如果您的补丁非常棒,它应该默认在内核中,并在其他人的一些反馈和帮助下,它可能会被合并到未来的内核版本中。这种开放和分散的开发模型,对工作有很多想法和观点,在一定程度上解释了 Linux 内核如何设法支持如此广泛的硬件。这是内核开发的文档。

    正如chili555 指出的那样,您可以下载内核源代码并找到设备驱动程序。为此,请启用源存储库,在您的家中创建一个目录并输入它,然后从那里运行(sudo不需要):

    apt source linux
    
    • 3
  2. user164485
    2022-03-30T19:03:12+08:002022-03-30T19:03:12+08:00

    你可以从linux内核源代码中得到它,和ubuntu一样

    $ find linux-3.10.0-1127.el7/drivers/net/ethernet/broadcom/ -iname Kconfig | xargs grep -i support
        tristate "Broadcom 440x/47xx ethernet support"
        # Auto-select SSB PCI-HOST support, if possible
        tristate "Broadcom 63xx internal mac support"
          This driver supports the ethernet MACs in the Broadcom 63xx
        tristate "QLogic bnx2 support"
          This driver supports QLogic bnx2 gigabit Ethernet cards.
        tristate "QLogic CNIC support"
          This driver supports offload features of QLogic bnx2 gigabit
        tristate "SB1250 Gigabit Ethernet support"
          This driver supports Gigabit Ethernet interfaces based on the
        tristate "Broadcom Tigon3 support"
          This driver supports Broadcom Tigon3 based gigabit Ethernet cards.
        bool "Broadcom Tigon3 HWMON support"
        tristate "Broadcom NetXtremeII 10Gb support"
          This driver supports Broadcom NetXtremeII 10 gigabit Ethernet cards.
        bool "Broadcom 578xx and 57712 SR-IOV support"
          Virtualization support in the 578xx and 57712 products. This
        tristate "BCMA bus GBit core support"
          This driver supports GBit MAC and BCM4706 GBit MAC cores on BCMA bus.
        tristate "Broadcom NetXtreme-C/E support"
          This driver supports Broadcom NetXtreme-C/E 10/25/40/50 gigabit
        bool "Broadcom NetXtreme-C/E SR-IOV support"
          Virtualization support in the NetXtreme-C/E products. This
        bool "TC Flower offload support for NetXtreme-C/E"
        bool "Data Center Bridging (DCB) Support"
        bool "Broadcom NetXtreme-C/E HWMON support"
    

    谢谢大卫,如何找到源代码?Debian 和 ubuntu 都有搜索网页。CentOS 可以解压 src.rpm 来获取源代码

    例如:转到https://packages.ubuntu.com/hirsute/linux-image-5.11.0-49-generic 你可以在右侧看到 linux-signed_5.11.0-49.55.tar.xz。

    1. ubuntu

    2. Debian

    3. centos解压src.rpm

    centos: http: //ftp.riken.jp/Linux/cern/centos/7/os/Sources/SPackages/kernel-3.10.0-1160.el7.src.rpm

    • 0

相关问题

  • 如何让我的电脑中的风扇在暂停时关闭?[关闭]

  • 类似于 Eyefinity 的东西?

  • Ubuntu 是否支持与 SSD 一起使用的 TRIM 命令?

  • 使用 apt-get upgrade 时如何强制安装内核更新?

  • 在哪里可以找到 Brother HL-2170W 64 位打印机驱动程序?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve