分类: BSD
2008-03-20 17:27:01
这是官方的文档的翻译,关于在上安装freebsd的一些说明,文档是针对freebsd4.x和5.x的,6.x和7.x应该会更好些了,大家可以参考一下。我英文不好,翻译的可能不够准确,大家凑合着看看吧。
FreeBSD我们一般都认为它是服务器才用的操作系统,其实在桌面上它照样工作的很好,并且你可以享受到如下好处:系统的规划,简单的管理和升级,ports/packages体系来增加软件,等等(还有很多其他好处,比如稳定性,网络性能,高负载下的性能,当然在笔记本上并不明显)。但是,在笔记本上freebsd经常会遇到一些在台式机上遇到的问题(笔记本、尤其是台式机在设计上更倾向于)。这篇文章我们来讨论这些问题。很多人已经在freebsd文档之外的网页上发布了他们在特定的笔记本型号上安装freebsd的经历,您可以通过您的笔记本型号和freebsd作为关键字在搜索引擎里面找到一些信息,另外有个freebsd在线数据库提供笔记本硬件方面的信息:.
如果您想跟其他freebsd笔记本用户交流,可以订阅列表,也可以在.上增加您关于这方面的信息。
近来的Xorg支持大多数笔记本的显卡,显卡加速可能还不被支持,但是通用的SVGA配置是可以工作的。
查看一下笔记本的说明书看您的显卡型号,看看Xorg的文档看它是否被支持了,如果没有就使用通用的设备(不要去找一个名字相似的),然后试试Xorg –configure命令,它能自动检测并做出许多相应的设置。
最常见的问题是配置显示器,现有的信息一般都是针对CRT显示器的,获得一个合适的modelin对于LCD显示器来说是需要点谋略的。您可能是幸运的,根本就不需要制定modeline,仅仅需要指定HorizSync和VertRefresh范围就可以了,如果这样不行,最好的办法是在网上找关于在笔记本上配置X的文章(可能它们都是些linux方面的网站,不过那不要紧,他们都使用的是Xorg),然后拷贝一份跟您的硬件最相似的型号的modeline配置。
多数笔记本的定点设备只有两个键,在X下是有问题的(因为中键一般是用来粘贴文本的),我们可以设置左右键同时按下来代替中键的功能,需要在X的配置里面加入如下一行设置:
Option "Emulate3Buttons"
具体是在xorg.conf的InputDevice section段里面。
笔记本上一般都是内置的modem,不幸的是,这些modem大多都是“winmodesm”,它的功能都是软件实现的,只有windows的驱动才支持(现在已经有一些在其他系统上的驱动了,例如,你的modem是郎迅的LT芯片,那么可以安装comms/ltmdm port来支持它)。如果您的笔记本上不是那样的modem,那么你需要买一个外置的modem,最合适的是一块PCMCIA modem,下面我们会讨论到,不过一个串口或usb口的modem可能更加便宜。一般地,正常的modem(非winmodem)都可以正常工作的。
多数的笔记本都有PCMCIA(也叫PC Card)插槽,它可以被freebsd很好的支持,查看一下启动信息(用命令),看它们是否被检测到(它们应该被检测为pccard0,pccard1等等)
Freebsd 4.x支持16位的PCMCIA卡,5.x支持16位和32位的。在文件/etc/defaults/pccard.conf里面列出了所有支持的卡。要购买在那个文件中列出的卡,当然没有被列出的卡,也可能以“generic”设备而正常工作,特别的,多数16位的modem可以正常工作,如果它们不是winmodems(即使是PC Cards,也可能是winmodem,所以购买时要当心)。如果你的卡被识别为generic modem,要注意在默认的pccard.conf文件里面指定了一个10秒钟的延迟时间(为了避免在这些modem上的冻结),这可能有点过于小心了,因此你可以减少它或者干脆将它彻底删掉。
Pccard.conf有些部分可能需要编辑,检查irq的部分,去掉那些已经被使用的数字,一般地,如果你有一个内置的声卡,去掉irq 5(否则的话当你插入卡的时候会当机)。检查可用的插槽,如果你的卡没有被检测到,更换为一个可用的值(在的man里面列出)。
如果还没有运行,那么就启动(为了在启动时enable它,在/etc/rc.conf里面加入pccard_enable="YES”)。
现在你的卡在插入和拔出时都将被检测到,启用它之后你可以看到更多的信息。
Freebsd4.4之后,pccard方面的代码有了很大的变化(包括ISA路由的中断,因为freebsd没法用PCI BIOS),如果你遇到了问题,试试升级你的系统。
不幸地是,电源管理不能可靠的被freebsd支持,如果你运气好,那么函数会被可靠的运行,或者很不幸,它们根本就不工作。
电源管理有两种标准:APM和ACPI,使得事情更加的复杂,后者紧接着前者,包含了更多的特性,但是仍然有很多问题。
许多笔记本同时支持APM和ACPI(某种程度上),其他的仅仅支持一种,因此您的机会来了,可以对这两种进行实验,使您的笔记本有一个可靠的电源管理。
注意:你不能同时启用APM和ACPI,即使你的笔记本都支持。
APM(高级电源管理)BIOS支持不同的电源管理特性,比如挂起,延迟,休眠,CPU时钟减慢等等,APM在freebsd 4.x和5.x中被支持。
为了启用APM,你需要重新编译内核来支持它(在freebsd 4.x里是device apm0,freebsd 5.x里是device apm)。Freebsd 5.x下有针对APM的内核模块,要在启动的时候载入APM内核模块,在/boot/loader.conf里面加入一行:apm_load=”YES”。Freebsd 5.x下,也可以在/boot/device.hints里面加入hint.apm.0.disabled=”
可以通过在/etc/rc.conf里面加入apm_enable=”YES”在启动时候载入APM。也可以在/etc/rc.conf里面加入apmd_enable=”YES”来启动APM守护进程,它可以关注各种发送给BIOS的APM事件,因此你可以通过敲击一些键或者关掉/打开盖子来让你的笔记本挂起或恢复。
APM的命令在帮助页里面列出。例如,apm –b告诉你电池的状态(如果不支持就返回255),apm –Z使笔记本在备用状态,apm –z(或zzz)挂起它。要关掉机器,用shutdown –p,再次说明一下,一些命令不会正常工作甚至所有的都不会。
你会发现笔记本挂起/备用工作在控制台模式下,不能在X下(因为屏幕不会再亮了);如果你在用freebsd 5.x,一个解决办法就是在内核配置文件里面加入options SC_NO_SUSPEND_VTYSWITCH并且重新编译内核。另外一个办法是切换到一个虚拟控制台(使用Ctrl+Alt+F1或其他组合键)执行,你可以通过设置让系统自动执行这些,编辑/etc/apmd.conf,修改为如下内容:
apm_event SUSPENDREQ {
exec "vidcontrol -s 1 < /dev/console";
exec "/etc/rc.suspend";
}
apm_event USERSUSPENDREQ {
exec "vidcontrol -s 1 < /dev/console";
exec "sync && sync && sync";
exec "sleep 1";
exec "apm -z";
}
apm_event NORMRESUME, STANDBYRESUME {
exec "/etc/rc.resume";
exec "vidcontrol -s 9 < /dev/console";
}
ACPI(高级配置和电源管理接口)支持电源管理和硬件发现平台(取代PnP和PCI BIOS),ACPI只在freebsd 5.x下被支持,并且是默认的设置,因此我们不用做任何事情就可以让它运行,可以通过acpiconf(8)来控制ACPI的行动。
不幸地是,生产厂商经常让他们的笔记本运行在有问题的ACPI实现上,因此有时候使用ACPI带来的问题比它带来的便利更多,简单的说,在有些机器上开启了ACPI的支持甚至都不能启动freebsd。
如果ACPI遇到了问题,你应该先检查一下你的笔记本生产厂商是否发布了更新的BIOS版本去消除这些bug,freebsd的ACPI实现也是一个不断改进的代码,你也应该升级你的系统,也许你的问题就会被解决。
如果你想禁用ACPI,那么在/boot/device.hints里面加入hint.acpi.0.disabled="1",你也可以在启动载入时临时禁用ACPI,freebsd 5.1-release以后的系统都有一个启动时菜单可以控制freebsd是如何启动的,其中一个选项就是关闭ACPI,可以选择在菜单里面选择2. FreeBSD with ACPI disabled。