georgealbert 发表于 2004-11-8 16:40:29

红旗4下编译2.6.9内核。

机器配置:
CPU:赛扬2 600 OC 900(100外频)。
主 板:微星6309 v1.0,VIA694X,南桥VT82686A。
内 存:2条128MB的SDRAM,三星原厂条。
显 卡:微星TNT2M64,16MB显存。
硬 盘:希捷U10,20G,5400转,UMD66。
显示器:三星15寸液晶,510N。

编译顺序:
# make mrproper
# make menuconfig
# make bzImage
# make modules
# make modules_install
# make install
编译完成!

配置内核时,我比较喜欢用:
# make menuconfig

不要按照README里面的做,把build的目录放到其他的地方,否则Nvidia的驱动就装不上了,Nvidia新的安装文件(5xxx以后的)不再使用想4396版用的
/lib/2.6.9/build这样的目录了,而是直接使用
/usr/src/linux-2.6.9这样的目录,就算在/lib/2.6.9/build里面有 symbol
link也不行,总有些文件找不到,如modversion.h这些文件,还是直接编到/usr/src/linux-2.6.9就可以了,就是直接执行命令什么都不要管。可能会有一些warning,但是不影响编译的成功。

device driver
选ram disk支持

去掉不用的network支持,
IPV6,ISDN,WAN,1394fire ware, WIRELESS, VLAN等,
只留下10/100mbit的网卡支持。否则编译真的很慢,我第一次编用了2个小时,后来把没有用的去了,30分钟搞定。

图形:
最好不要把nvidia的驱动编入内核,否则framebuffer就会工作不正常,我在grub.conf之中设置了 vga=791,显示1024x786,根本就不显示,只显示640x480,对我的三星lcd来说,太难看了。
要选择 framebuffer编入内核,就是那个选项前面有一个[*],否则在启动的时候就是黑屏!因为没有framebuffer,会默认用80x25的显示,而我的LCD显示不了80x25的分辨率,只有黑屏!那个时候只能盲打进入xwindows了,如果没有把nv的驱动编入内核的话,也进入不了 xwindows,整个系统就看不了了!更是bt!只有再编一次内核,把自带的nv驱动给编进去了。
nvidia的驱动比较bt,我试了5XXX,4396和6111的驱动,都没有办法安装,总是报 __VMALLOC_的symbol不存在,在网上查了一下,说是要打patch,就可以编译,我实在是懒得打,只好忍受640x480的命令行了,否则就不能进入xwindows了(没有编译nvidia的驱动进入内核的话,就不要用xwindows了,可是我要用FVWM和XMMS来听MP3和 APE,只好放弃命令行的分辨率是1024x768了。)等nvidia把支持2.6.9内核的驱动搞出来才行了,
注意:那个时候就不要把nvidia的驱动(就是那个nvidia riva的选项就是把nvidia的驱动编入内核)编入内核,也要相应的改/etc/X11/XFree86Config-4 用nvidia的驱动了。这样命令行应该就可以1024x768了。
用linux系统自己的nv驱动是没有图形加速功能的,而且会使屏幕的图象偏移,所以最好还是用nvidia的驱动,还是等nvidia出新的再安装吧。

文件系统:
最好把msdos,fat和ntfs都编入内核,ntfs要把那个write的选项也选上,免得写不了ntfs分区。
注意:关于vfat 也就是fat32,要看清楚是哪个是默认的native language encoding,默认是cp437,一定要把这个编码和8859-1编入内核,当然还有cp936(除非是不要中文),否则mount vfat的时候会出错,提示找不到 cp437的编码,当然如果编了module,也可以用的时候:
# modprobe cp437
把简体中文编码load入系统内核,之后再

# mount -t vfat /dev/sda5 /mnt/usb
就可以mount上 windows fat32分区了。如果有问题可以看看

# dmesg |less
看看哪个地方出错了。那个mount不了fat32分区时,就会有提示,经常看看能发现错在哪里。

SOUND:
把声卡的支持编入内核。
这个地方我一直没有明白我的系统到底怎么了,为什么总是提示我 cann't connect to aRrt sound server.
等我用root启动kde以后,用控制面板的声卡,让系统给我找声卡,弹出后选alsa不要选内核支持,然后就看见音量和听到测试的声音,以后就可以听见 xmms有声音了,我的fvwm(我用另一个帐户登陆系统,一般不用root,那个帐户起的窗口管理器是FVWM)下的xmms也可以用了,
请高手指点怎么办!!!在没有用root登陆进入kde之前,我这个时候已经可以用

# cat /proc/asound/cards
看见有via之类的找到声卡的提示了。为什么还是起不了alsa的service?怎么启动alsa的服务?


OK! 编译完了,居然每次在
# make install
就会看见有error,但是因为用的时候没有什么影响,我就不管了。

# cd /boot/grub.conf
# vim grub.conf
看看在执行了
# make install
之后grub.conf有没有改变,应该会在最前面加入一个启动选项,那个选项是从第一个linux的启动选项copy过来的,而红旗4的第一个默认启动选项时没有设置framebuffer的,可以加上vga=791,让它以1024x768显示。再把那个什么 console=???的那个给去掉。
acpi也关了吧,我反正是没有用。

移动硬盘的使用:
原来在2.4.20-8的内核要

# modprobe usb-storage

之后才能

# mount -t vfat /dev/sda5 /mnt/usb

现在只要:

# /sbin/fdisk -l /dev/sda

看看是哪个具体的分区,再选一个,比如:

# mount -t vfat /dev/sda5 /mnt/usb

就可以了,比较舒服。

llc 发表于 2004-11-9 11:47:25

呵呵,恭喜你成功了

georgealbert 发表于 2004-11-9 12:07:15

谢谢!
革命尚未成功!
等待nv的驱动和声卡的问题?
请问,我如何启动alsa的service?

2。halt的时候有问题,无法halt,我用
# poweroff
无法关机。
看了别人的修改,里面和红旗4的halt的那个不太一样,没有敢改。

cnhnln 发表于 2004-11-9 13:42:00

nv的6629已经支持2.6.9了,不需补丁

如果内核编入nvidia riva的禎缓冲驱动的话就不能使用nvidia的官方驱动了
nvidia驱动的readme
Q: My system hangs when vt-switching if I have rivafb enabled.

A: Using both rivafb and the NVIDIA kernel module at the same time is
   currently broken.In general, using two independent software drivers
   to drive the same piece of hardware is a bad idea.
想用禎缓冲又想有nvidia的opgl加速,就只能选vesa禎缓冲了。或者把rivafb编译成模块,在必要时装载或者移除

/etc/init.d/alsasound start

halt -p行不?

georgealbert 发表于 2004-11-10 14:25:01

谢谢!
你的意思是说,我要用framebuffer的话,就不要把riva的驱动编入内核?
而是把vega的编进去了?
vega的是那个啊?还有一个是vega16bit的那个,我是都编了。
我回家试一下新的6629。

georgealbert 发表于 2004-11-10 14:25:46

halt -p行不?
我不改rc.sysint也可以?

Axin 发表于 2004-11-10 14:54:18

rivafb与nvidia 冲突

开不了机?还是不能掉电?高级电源管理?

声卡可以看看公社技术文档相关介绍,大致是先rmmod相关mod,然后编译配置。

(BTW:核心带的声卡驱动好像还不错)

georgealbert 发表于 2004-11-10 15:58:22

关不了,
poweroff的时候,无法关。

2。rivafb与nvidia
我还没有编nvidia的驱动,暂时没有事。

suowei1979 发表于 2004-11-11 12:02:25

Cons~
页: [1]
查看完整版本: 红旗4下编译2.6.9内核。