LinuxSir.cn,穿越时空的Linuxsir!

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

手动编译linux-2.6.19内核遇到的问题

[复制链接]
发表于 2006-12-2 16:10:40 | 显示全部楼层 |阅读模式
我的环境是Arch@x86_64
编译内核的动机是解决fuse的问题,因为更新ntfs-3g后就不能挂载ntfs分区了。当然,也有简化一下内核的想法。
本站一个朋友说更新用test里面的新kernel-2.6.19就行,可惜在源里x86_64版本的没有
手动下载了源码包,编译内核有几个小发现:
1,原来linux64位也跟windows一样,对32位软件兼容的,我在编译时候看到里面有单独的这个选项。
2,本人主板是nf4芯片组的,记得以前编译内核时候里面只有nforce,并没有细分,现在有S-ATA和P-ATA单独的选项了,在里面可以看到详细模块,不过用编译好的内核启动linux,lsmod发现系统默认还是使用以前的模块,尝试只编译后者,结果系统起不来。
3,grub里面有一行 initrd /kernel26.img 请问如何手动创建这个文件,因为我把我自己硬盘模块和ext3 xfs磁盘格式模块写入内核了(我的磁盘系统用了这两种格式,内核默认是作为模块加载的),所以现在不用定义这行也能启动,但是可能有其它硬件模块需要这个文件,所以还是想手动创建一个

4,新内核还是不能用ntfs-3g挂载,提示还是跟以前一样
[php]
[root@ccnu-blance blance]# ntfs-3g /dev/hda9 /mnt/hda9
fusermount: mount failed: No such device
Failed to create FUSE mount point.
Retry to create FUSE mount point ...
fusermount: mount failed: No such device
Failed to create FUSE mount point.
Unmounting /dev/hda9 (影音媒体)
[root@ccnu-blance blance]#   
[/php]
尝试吧fuse编译进内核,结果还是一样不能挂载ntfs-3g~去官方下载新版fuse编译,结果还是不行,看来也不光是fuse的问题!

PS:
1,用新编译的内核,启动和运行速度快了点,不过不是很明显(可能我机器性能强的问题,记得去年我用老机器可是提速明显喔),进入kde后内存占用少了很多,默认只有100MB左右,几乎比以前默认少了一半!!!
2,推荐用k8 Opetron / Athron64 系列CPU的朋友推荐也自己编译一下内核,个人以为k8 cpu内存控制器集成,所以针对cpu进行设置很有必要,同时这样可以开启cpu温度探测和powernow功能,发现linux对cpu运行频率是分三档智能调整的(windows是实时调整的),记得同时开启主板上的Cool and Quite功能喔~~
3,用ati显卡(具体型号>=R300 也就是9500 9550 9700之后的)的朋友注意了,显卡驱动有点麻烦,到目前为止还不知道如何加载驱动,不过还是可以进x就是
 楼主| 发表于 2006-12-2 23:48:15 | 显示全部楼层
正在从ati官方网站下载ati驱动,MMD,居然50多MB~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-3 00:41:14 | 显示全部楼层
郁闷,出问题了,look:

[blance@ccnu-blance Downloads]$ sh ./ati-driver-installer-8.31.5-x86.x86_64.run
Creating directory fglrx-install
Verifying archive integrity... All good.
Uncompressing ATI Proprietary Linux Driver-8.31.5.............
==================================================
ATI Technologies Linux Driver Installer/Packager
==================================================
Detected configuration:
Architecture: x86_64 (64-bit)
X Server: Unknown X Window
cp: 无法 stat “x710_64a/usr/X11R6/bin/*”: 没有那个文件或目录
find: install/usr/bin/fireglcontrolpanel: 没有那个文件或目录
Removing temporary directory: fglrx-install
[blance@ccnu-blance Downloads]$
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-3 12:12:26 | 显示全部楼层
唉,解决不了ati显卡的问题,手动编译的用arch源里面的驱动装不上
从ati网站下的又不能装~把以前内核包里面的fglrx模块复制出来又不能加载~~~
现在只有等arch更新内核了,白忙活一阵~~~真有点不甘心

PS:为什么以前内核里面的模块就不能复制到新内核中加载呢?(简单的)工作原理是什么?
回复 支持 反对

使用道具 举报

发表于 2006-12-3 18:08:56 | 显示全部楼层
自编了内核,我的nvidia卡也是装不上官方的驱动!pacman的驱动只是对应官方的内核。所以修改了abs里nvidia的PKGBUILD文件,编译适合新内核的驱动就行了,不知是否适用你的情况
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-3 21:26:06 | 显示全部楼层
如何修改?楼上的能介绍一下你的过程不?我看看能不能吸取一点经验~~~
回复 支持 反对

使用道具 举报

发表于 2006-12-3 22:11:49 | 显示全部楼层
用过abs吗?以我为例,编辑/var/abs/extra/nvidia/PKGBUILD,修改其中的内核相关信息,路径,名称的等(默认是不会安装到你自编的内核路径的),然后makepkg,pacman -A xxxx.pkg.tar.gz。
前提是要会abs

另外,内核里好像有一个可以使用不同版本模块的功能选项,不知是否可行,我没试过。但这种方法应该不是理想的
回复 支持 反对

使用道具 举报

发表于 2006-12-22 01:39:08 | 显示全部楼层
我也是一样的问题,其实应该是需要agp控制器的,我猜测是nvidia-agp.ko或者nvidia.ko
虽然用wajig whichpkg nvidia,ko可以查到2.6.18中包含了,不过包括从2.6.17到2.6.19的内核我都试过,根本没有这个模块。。。
见目录:
/lib/modules/2.6.*/kernel/drivers/char/agp
默认的只包含了intel-agp.ko,sis-agp.ko,via-agp.ko。。。

此外,提示没有这个文件应该是ld-linux.so.2这个是32位的,对应64位的ld文件应该是ld-linux-x86-64.so.2这个问题不知道怎么解决。我手工做过link,会提示访问了错误的模块```

64位的支持实在还有很多需要做的地方,唉
回复 支持 反对

使用道具 举报

发表于 2006-12-23 17:22:36 | 显示全部楼层
记得有官方wiki的,照上面的方法试试吧!
我最近一直在搞我的SB450中的声卡,郁闷的很!还是没有声音!
回复 支持 反对

使用道具 举报

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

本版积分规则

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