Skip to content
June 20, 2006 / tninja1980msn

在Acer笔记本上安装ubuntu的经历

前天给一个向往linux的朋友安装ubuntu linux,也想像我一样装在移动硬盘上,无需对主硬盘写入任何东西,因此只好选用ubuntu 5.10,因为6.06似乎尚不支持装在移动硬盘上。她的电脑是acer的travelmate 3002WTCi(开始我在CMOS里面还没找到usb启动,误以为不支持,真是笨)刻盘以后发现居然光盘启动到booting linux kernel那一步就死掉了,把光盘取出,插上我自己装好的usb硬盘,同样启动到booting linux kernel那一步挂掉。这说明和光盘无关,acer的这台笔记本不能正常启动linux(不是和ubuntu的发行版冲突,而是和linux内核冲突,换其他发行版如redhat肯定会同样无法启动)
 
上论坛找呀找,发现有相同经历的人还真多,凡是acer的笔记本似乎装linux都有问题,找到一张帖子大体说明了原因和解决办法,作者是jczuo,感谢他一下:
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////
买了宏基的本本travelmate 3001想在上面装一个ubuntu,折腾了两天,终于成功了,下面把过程跟大家分享一下。

一.安装:用的是硬盘安装的方式,结果一启动到uncompress linux那就死掉了,在网上查了好长时间,原来是笔记本的ACPI不标准,把
kernel /vmlinuz root=/dev/ram ramdisk_size=256000 devfs=mount,dall
加上参数变成
kernel /vmlinuz root=/dev/ram ramdisk_size=256000 devfs=mount,dall pci=noacpi
就可以正常启动了,并且broadcom的网卡也可以正常使用了。
(有的网站上说加上什么noapic到是也可以启动,但网卡不管插不插网线都显示“未连接”)
二.声卡:安装完成后声卡没有声音,很多人以为是linux的intel AC97驱动有问题,其实还是acpi的问题,解决这个问题的方法,只有重新编译内核了。
1.下载编译内核用工具
apt-get install linux-source-2.6.12(内核源代码)
apt-get install libc6-dev (开发库)
apt-get install iniramfs-tools (生成initrd.img用)
从网上(或者其它源)找到gcc-3.4的包,安装上(因为ubuntu的内核是需要gcc-3.4来编译的,而光盘和源里都是gcc-4.0,
2.把附件里的io_apic.c和mpparse.c复制到/usr/src/linux-source-2.6.12/arch/i386/kernel
3.cp /boot/config-2.6.12-x-xxx /usr/src/linux-source-2.6.12/.config(使用当前配置编译内核)
4.把附件里的DSDT.aml复制到/etc/mkinitramfs(电源监测的修订)
5.开始编译内核
make
make_modules_install
mkinitamfs -o /boot/initrd.img 2.6.12 (这个一定和你编译的源代码的号一样,否则生成的initrd.img中的路径还是原来系统的内容,会出现加载内核错误)
cp System.map /boot/System.map
cp /usr/src/linux-source-2.6.12/arch/i386/boot/bzImage /boot/vmlinuz
6.修改grub的内容,对应我们复制过去的文件,什么pci=noacpi之类的东西都可以去掉了,
7.系统可以正常启动了,声卡也有声音了,电源显示也正确了,包括电池电量。

无线和IR没有条件去试,不知道结果怎样,不过无线网卡系统是认出来了。有条件的朋友可以测试一下。
/////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 问题的关键就在于acpi,我也懒得去硬盘安装了,因为我本来就想直接装在usb移动硬盘上,根本就不想改主硬盘上的任何内容。因此把他的策略稍作改动,这也得益于移动硬盘本身:

1、在我自己的Dell 510D上,外接这位朋友的usb移动硬盘,然后用装到usb移动硬盘上的方法安装,因为我的电脑不是Acer,所以一路畅通无阻(这里有个花絮,我的朋友的电脑是XP,用adsl上网,安装ubuntu时要求上网方式却不包括adsl,怎么办呢?用hub把两台笔记本连起来,我的朋友的acer用xp拨号连上adsl,设成dhcp主机,之后装ubuntu的我的DELL设置成dhcp(ip自动分配)就行了,呵呵);

2、把装好的usb移动硬盘插到我的朋友的acer之上,启动之时修改启动参数,在kernel那一行最后加入, acpi=off

3、把启动位置改成sda(这很奇怪,可能是acer Travelmate 3002WTCi bios的特殊性造成的,总之用sdb就说找不到)

4、成功进入ubuntu

因为时间不足,折腾了半个下午了,我就没有继续按照帖子的内容修改配置重新编译内核,虽然能够成功启动,现在还有下面的一些问题:

1、没有声卡驱动和电源电量报告,按照贴子里看和acpi有关

2、这台电脑是宽屏(1400×800),但我设了几次都只能用1024×768,委屈我的朋友先看扁的字体了,希望不要把眼睛看成扁的

3、主硬盘挂不上(在设备里根本就没有sdb),这可能跟启动时用了sda有关

只好以后有时间再去帮她想办法了。

ACPI 是 Advanced Configuration and Power Interface(高级配置与电源管理) 的缩写,是 Intel、Microsoft 和东芝共同开发的一种电源管理标准。ACPI 是 Windows 的一部分,它帮助操作系统控制划拨给每一件与计算机相连的设备的电量, 有了ACPI,操作系统就可以把不同的外设关闭。

看起来讯驰的自动降频功能也没得用了,怪不得那天觉得那么烫手…

大概的看法:

一方面,linux看来还没有对所有的硬件支持很好,需要用户自己手动调整;另一方面,acer之类笔记本厂商对linux的重视程度可能还不足够,首先它的acpi就不是标准的(不知道是何种原因),其次它的官方网站上并没有提到linux安装的问题(可以想象,如果是windows安装不上,acer不会不提的)。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: