LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 621|回复: 13

内核 和 声卡

[复制链接]
发表于 2009-12-13 14:02:24 | 显示全部楼层 |阅读模式
内核:

内核在哪个目录编译?

内核的编译应该不在portage管理范围吧?

是不是portage只管理内核的代码?但是内核的编译以及安装好是需要自己make?

在/usr/src/linux目录下面make clean是不是能清除上次编译的东西?

声卡:

现在还需要把声卡写到make.conf中去吗?
发表于 2009-12-13 15:00:35 | 显示全部楼层
如果装gentoo提供的内核直接emerge gentoo-sources是可以的,同时支持自动编译和安装。需要同时装多个版本可以用eselect kernel list/set来选择活动版本,其实是在/usr/src下创建了一个符号链接,指向活动内核版本。
如果要为多种配置手工调整核心配置,分别创建内核目标文件存放目录,比如我这里创建了/usr/src/kbuild_mips.2631,/usr/src/kbuild_armv9.2632和/usr/src/kbuild_k8.2632几个目标目录。当需要对其中一个进行配置时进入/usr/src/linux目录,然后执行make O=/usr/src/kbuild_k8.2632 menuconfig。配置好后执行make -j12 O=/usr/src/kbuild_k8.2632 bzImage modules编译内核以及模块,编译完成后make O=/usr/src/kbuild_k8.2632 modules_install安装模块,核心文件bzImage在kbuild_k8.2632/arch/x86/boot/bzImage,拷贝到boot loader加载目录后修改启动菜单或调用kexec直接激活。
这种方法将不同配置的内核目标文件分别存放,将来需要clean也比较方便,make O=/usr/src/kbuild_k8.2632 clean只会影响其中一个配置。
以后需要针对不同核心安装软件包(如kvm模块)记得在emerge前面加上KBUILD_OUTPUT=/usr/src/kbuild_k8.2632,不然会抱怨找不到内核config文件。
我这里声卡模块是启动时自动加载的,如果只有一块声卡似乎不需要特殊配置了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-13 19:53:34 | 显示全部楼层
关于内核的问题先感谢一下楼上的,

但是关于声卡还是有点疑问,

我看很多人的make.conf里面都写了一个ALSA_CARDS的变量,

但是看gentoo的文档中关于alsa的部分,没有找到相关描述,

man make.conf以及查看make.conf.example也没有找的这个变量的相关描述,

所以感觉比较奇怪,为什么会有人定义这个变量,

不过我刚刚编译过内核,参照了一下gentoo关于alsa的文档,

到目前为止,声卡工作一切正常,这个倒是挺爽的。
回复 支持 反对

使用道具 举报

发表于 2009-12-13 22:29:04 | 显示全部楼层
确实如此,以前make.conf里面总是有一行ALSA_CARDS,和VIDEO_CARDS两个并列。不过声卡和显卡不同,显卡涉及到用户层x11和mesa的相关driver,而现代的声卡用户层程序通常不需要特殊配置和驱动,印象中设置ALSA_CARDS="XXX"只是自动展开了一个alsa_cards_XXX的use定义而已,这个关键字具体在什么地方用到就不好说了(如果还有人用它的话)。
回复 支持 反对

使用道具 举报

发表于 2009-12-13 22:44:18 | 显示全部楼层
Post by lifc;2055626
确实如此,以前make.conf里面总是有一行ALSA_CARDS,和VIDEO_CARDS两个并列。不过声卡和显卡不同,显卡涉及到用户层x11和mesa的相关driver,而现代的声卡用户层程序通常不需要特殊配置和驱动,印象中设置ALSA_CARDS="XXX"只是自动展开了一个alsa_cards_XXX的use定义而已,这个关键字具体在什么地方用到就不好说了(如果还有人用它的话)。


这几个包含有ALSA_CARDS的这类USE。
  1. media-sound/alsa-driver
  2. media-sound/alsa-firmware
  3. media-sound/alsa-tools
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-13 22:52:25 | 显示全部楼层
Post by coderoar;2055637
这几个包含有ALSA_CARDS的这类USE。
  1. media-sound/alsa-driver
  2. media-sound/alsa-firmware
  3. media-sound/alsa-tools
复制代码

是不是说如果我不使用in-kernel的方式来配置声卡的时候,这几个包会读取make.conf中ALSA_CARDS这个变量,然后只编译相关驱动。

不过现在gentoo的已经不推荐或者说放弃使用in-kernel以外的声卡配置方式了,所以make.conf中也就不需要再定义这个变量了,

不知道理解的对不对。
回复 支持 反对

使用道具 举报

发表于 2009-12-13 23:04:52 | 显示全部楼层
Post by fender010;2055639
是不是说如果我不使用in-kernel的方式来配置声卡的时候,这几个包会读取make.conf中ALSA_CARDS这个变量,然后只编译相关驱动。

不过现在gentoo的已经不推荐或者说放弃使用in-kernel以外的声卡配置方式了,所以make.conf中也就不需要再定义这个变量了,

不知道理解的对不对。


应该如此,所以说现代的声卡多数不需要应用层配置。俺以前用过波表声卡和软声卡总要加载个firmware什么的,现在多数人都用整合卡了,如果需要配置最多是codec芯片可能存在不同,这种也是由内核的alsa驱动完成的,用户层似乎也帮不上什么忙。
还有一种就是支持多声道输出的声卡可能在应用层配置端口复用(比如mic in和某个声道切换共用),一个alsamixer基本都能搞定了。
我们做嵌入式开发如果遇到linux不认的新codec芯片通常装好vista驱动,然后用逻辑分析仪捉i2c或者ac97的命令,再写个小patch挂入kernel,同样不用用户层的配合,所以推断这个变量应该算是已经完成了它的历史使命:)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-13 23:10:14 | 显示全部楼层
哈哈,那就太好了,我的make.conf里面没有这个东西,

不过有什么办法能查出都有哪些包使用ALSA_CARDS这个变量吗?

我刚刚发现系统里面的alsa-lib这个包会接受一个叫ALSA_PCM_PLUGINS的变量。
回复 支持 反对

使用道具 举报

发表于 2009-12-13 23:13:01 | 显示全部楼层
Post by fender010;2055639
是不是说如果我不使用in-kernel的方式来配置声卡的时候,这几个包会读取make.conf中ALSA_CARDS这个变量,然后只编译相关驱动。

不过现在gentoo的已经不推荐或者说放弃使用in-kernel以外的声卡配置方式了,所以make.conf中也就不需要再定义这个变量了,

不知道理解的对不对。

上面的media-libs/alsa-lib,也就是ALSA的库,是需要这个定义的。

你在内核里选上了ALSA,仅仅是无需再装media-sound/alsa-driver这个内核驱动而已。
Post by lifc;2055644
应该如此,所以说现代的声卡多数不需要应用层配置。俺以前用过波表声卡和软声卡总要加载个firmware什么的,现在多数人都用整合卡了,如果需要配置最多是codec芯片可能存在不同,这种也是由内核的alsa驱动完成的,用户层似乎也帮不上什么忙。
还有一种就是支持多声道输出的声卡可能在应用层配置端口复用(比如mic in和某个声道切换共用),一个alsamixer基本都能搞定了。
我们做嵌入式开发如果遇到linux不认的新codec芯片通常装好vista驱动,然后用逻辑分析仪捉i2c或者ac97的命令,再写个小patch挂入kernel,同样不用用户层的配合,所以推断这个变量应该算是已经完成了它的历史使命:)

好乱啊,只说明了内核ALSA对于声卡支持的完善,根本没提ALSA库。
Post by fender010;2055649
不过有什么办法能查出都有哪些包使用ALSA_CARDS这个变量吗?

eix -U alsa_cards
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-13 23:34:16 | 显示全部楼层
我这边显示alsa-lib不需要alsa_cards,看样子你那边是显示需要,可能是我这几天没有emerge sync的原因,

但是alsa-lib需要alsa_pcm_plugins这个变量,可是我没有设置,

如果在没有设置的情况下,portage是不是就默认把所有可能的都编译进去了?

我到/usr/portage/profiles/des/下面看了看alsa_pcm_plugins的介绍,发现完全看不懂。 :yun:
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表