该系统是我擦干净的备用戴尔 2400,安装了 Ubuntu 10.4。更新管理器拥有最新的一切,而且我并没有对驱动程序或棘手的系统设置感到厌烦。事实上,它一直是一个稳定且易于安装和使用的系统。
所以想象一下,当我浏览http://element-14.com/(一个对电子工程类型有用的社区网站)时,我会惊讶地看到一两个重定向,然后是黑屏,然后我开始调整粉红色的朦胧烟雾,没有任何进一步的工作。键盘严重崩溃,Alt-SysRq键组合不起作用。
不仅仅是 firefox 和 X 服务器正在崩溃。我在打开 SSH 会话的情况下重复了崩溃,不仅连接被断开,而且它不再响应尝试获取新连接的尝试。
我尝试启用 Appport,希望它会注意到某些事情并帮助确定罪魁祸首,但它似乎没有注意到崩溃。
每次,我都不得不依靠电源按钮重新启动。
谷歌搜索暗示在其主板上提供 VGA 的特定英特尔芯片组存在问题。
我正在寻找有关如何继续调试这种崩溃的建议。有任何想法吗?
更新:我尝试按照建议尝试设置netconsole
内核模块和匹配的 netcat 实例来接收日志。我在我的 XP 机器上设置了 netcat,用来Alt验证它可以接收内核消息,然后浏览到该站点。只记录了两个:SysRqSprintk()
[251728.009794] i915:未知参数“modset” [251728.051420] i915:未知参数“modset”
唔。也许我的视频驱动程序配置错误?dmesg
特别是因为我在启动后的输出中看到了这些相同的消息。
至少这次我在故意使系统崩溃之前明确地同步了我的磁盘。
为了记录,lspci -nn | grep VGA
说:
00:02.0 VGA 兼容控制器 [0300]:英特尔公司 82845G/GL[Brookdale-G]/GE 芯片组集成图形设备 [8086:2562](rev 01)
更新:解决了!!!
使用的提示netconsole
导致顿悟。谷歌搜索“i915 unknown parameter modset”这句话突然让我绊倒了根本原因。
i915 驱动程序的选项名称是modeset而不是modset。
我更改了 /etc/modprobe.d/i915.conf 以具有正确的拼写,重新启动,现在我可以访问 element-14 (并且可能其他站点会执行 element-14 触发视频中错误的任何操作驱动程序)没有令人不快的强制重启。
这留下了(显然众所周知的)i915 驱动程序缺乏质量的问题,尤其是在较旧的芯片组上。显然,内核模式设置功能特别不足。如果该选项拼写不正确,则默认为启用 KMS,并且还会崩溃。如果拼写正确,KMS 将被禁用,并且驱动程序可以在任何触发崩溃的内容中幸存下来。
此外,启动板和其他社区站点上的许多错误页面的选项名称拼写错误。我强烈怀疑这是我得到我使用的拼写的地方。
编辑:我已将相关解决方案复制到实际答案中,并在此处改进了对它的描述。
假设它是内核崩溃,您需要捕获内核转储信息,您可以尝试使用内核网络控制台:https ://wiki.ubuntu.com/Kernel/Netconsole
几乎可以肯定是图形芯片驱动程序或芯片错误,因为根据我的经验,几乎没有其他东西可以破坏这样的系统。如果您真的想对没有引起太多关注的内部驱动程序感到厌烦,请尽情享受。
Intel提供应用说明、设备文档和代码。就我个人而言,我愿意花 30-40 美元买最好的 PCI 显卡(是的,你确实为传统硬件支付了溢价)并完成了它。四处打听,你可能会发现有人用类似的老式机器免费提供这样的卡。前一周我刚刚为朋友回收了这样一台机器。
João Pinto对 netconsole 的暗示让他顿悟了。谷歌搜索“i915 unknown parameter modset”这句话突然让我绊倒了根本原因。
i915 驱动程序的选项名称拼写为“modeset”而不是“modset”。
我更改了 /etc/modprobe.d/i915.conf 以具有正确的拼写,重新启动,现在我无需重新启动即可访问 element-14。