当前位置:操作系统 > Unix/Linux >>

在Dell Inspiron 700m笔记本电脑上安装Slackware

从打算买笔记本电脑开始,就留意哪些牌子和型号对Linux的支持比较好,在网上搜索了一些文章,结合自己的喜好,最终选择了Dell Inspiron 700m。

Dell采取的是直销模式,所以订购是在网上和电话上进行的。选好型号和配置,把钱转账到Dell的账号,把进帐回单和经过确认的定单传真给Dell,4天之后,机器就通过邮政快递送过来了。

我选择的主要配置是:Pentium M 1.6G CPU,512M内存,12.1" 1280x800宽屏LCD,40G硬盘,DVD/CD-RW Combo,支持802.11b/g的无线网卡。lspci的结果如下:

00:00.0 Host bridge: Intel Corp. 82852/855GM Host Bridge (rev 02)
00:00.1 System peripheral: Intel Corp. 855GM/GME GMCH Memory I/O Control Registers (rev 02)
00:00.3 System peripheral: Intel Corp. 855GM/GME GMCH Configuration Process Registers (rev 02)
00:02.0 VGA compatible controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
00:02.1 Display controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
00:1d.0 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #1 (rev 03)
00:1d.1 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #2 (rev 03)
00:1d.2 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #3 (rev 03)
00:1d.7 USB Controller: Intel Corp. 82801DB (ICH4) USB2 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 83)
00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 03)
00:1f.3 SMBus: Intel Corp. 82801DB/DBM (ICH4) SMBus Controller (rev 03)
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB (ICH4) AC'97 Audio Controller (rev 03)
00:1f.6 Modem: Intel Corp. 82801DB (ICH4) AC'97 Modem Controller (rev 03)
02:01.0 Network controller: Intel Corp.: Unknown device 4220 (rev 05)
02:04.0 CardBus bridge: Texas Instruments: Unknown device ac8e
02:04.1 CardBus bridge: Texas Instruments: Unknown device ac8e
02:04.2 FireWire (IEEE 1394): Texas Instruments: Unknown device 802e
02:04.3 Unknown mass storage controller: Texas Instruments: Unknown device ac8f
02:05.0 Ethernet controller: Broadcom Corporation: Unknown device 170c (rev 02)

我购买时特地选择了不安装Windows的机型,所以机器来的时候硬盘里面什么也没有。我有现成的Slackware 10.0光盘,打算先安装10.0版,然后用swaret升级到10.1版。

  1. 系统安装

    安装过程很简单也很顺利,用安装光盘启动,以root登录,运行cfdisk对硬盘进行分区。注意:假如希望使用suspend to disk功能,swap分区需要比内存大30%以上。分区之后用setup命令进行安装,不赘。

    安装完重新启动,发现默认的2.4.26内核不支持机器上的Broadcom 4400网卡。从Broadcom网站下载了网卡的Linux驱动,用一个U盘做中介cp到700m的硬盘,按照说明文件进行编译,得到bcm4400.o文件,用make install命令安装。在/etc/rc.d/rc.modules 里面增加 /sbin/modprobe bcm4400 一行,再重新启动,系统顺利地认出了网卡。

    接下来用swaret升级到10.1版,也很顺利。

  2. 安装无线网卡驱动

    Intel提供了Intel® PRO/Wireless 2200BG 无线网卡的驱动程序和firmware,都可以在http://ipw2200.sourceforge.net/下载到。这个驱动要求2.6.x版内核,于是我从Slackware的下载站下载了2.6.10版内核、内核源码(kernel-source)和内核头文件(kernel-header),按README.initrd文件进行升级。

    升级内核之后,发现内核提供的b44模块本身即支持Broadcom网卡并能自动加载,不必再另外编译安装网卡驱动。

    无线网卡驱动的安装方法在下载的文件里说得很清楚。需要注意的是,根据 /etc/hotplug/firmware.agent 中的设置,FIRMWARE_DIR=/lib/firmware,因此下载的firmware文件(我下载的是ipw2200-fw-2.2.tgz)需要解压到 /lib/firmware/ 目录中。网卡驱动(我下载的是ipw2200-1.0.0.tgz)的编译安装也很简单,解开源码之后先make,然后用root权限make install即可。

  3. 无线网络参数设置

    Slackware从10.0开始提供了启动无线网卡的脚本 /etc/rc.d/rc.wireless,而无线网卡的参数在 /etc/rc.d/rc.wireless.conf 文件里设置。我的rc.wireless.conf的内容是:

        INFO="home network"
        # ESSID (extended network name) : My Network, any
        ESSID="myhome"
        # NWID/Domain (cell identifier) : 89AB, 100, off
        NWID=""
        # Operation mode : Ad-Hoc, Managed, Master, Repeater, Secondary, auto
        MODE="Managed"
        # Frequency or channel : 1, 2, 3 (channel) ; 2.422G, 2.46G (frequency)
        FREQ=""
        CHANNEL="6"
        # Sensitivity (cell size + roaming speed) : 1, 2, 3 ; -70 (dBm)
        SENS=""
        # Bit rate : auto, 1M, 11M
        RATE=""
        # Encryption key : 4567-89AB-CD, s:password
        KEY="s:catch restricted"
        # RTS threshold : off, 500
        RTS=""
        # Fragmentation threshold : off, 1000
        FRAG=""
        # Other iwconfig parameters : power off, ap 01:23:45:67:89:AB
        IWCONFIG=""
        # iwspy parameters : + 01:23:45:67:89:AB
        IWSPY=""
        # iwpriv parameters : set_port 2, set_histo 50 60
        IWPRIV=""

    简单说明一下:

    INFO
    对网络的描述,可以随便填
    ESSID
    这是无线网络的名称,同一个无线网络中的设备必须有同样的名称才能相互通信。我这里的设置和无线路由器中的设置一致。
    MODE
    无线连接方式,我选择的是Managed
    CHANNEL
    设置无线连接的信道。我这里的“6”和无线路由器中的设置一致。
    KEY
    WEP方式的加密密钥,必须和无线路由器中的设置一致。“s:”表明密钥是字符串,我用的是“catch”,restricted指明使用加密模式

    其它参数是否需要设置,要视每个网络的具体要求而定,我这里设置好上面几个参数就可以工作了。
    如果想更深入了解各个参数的详情,请 man iwconfig 。

  4. xorg设置

    这里下载适用于2.6.10内核的Intel显卡驱动。按照这篇文档的说明安装。

    然后,需要下载一个叫做855resolution的小工具来设置1280x800的分辨率。下载源码,根据README文件的说明编译安装,然后在 /etc/rc.d/rc.local 里面添加启动时运行855resolution的命令以及必要的参数,例如我加的是: /usr/sbin/855resolution 5c 1280 800

    我用xorgconfig命令设置xorg.conf文件,设置时显卡驱动选择i810,鼠标用默认设备/dev/mouse,协议选PS/2,分辨率设置成1280x800。
    完成后,微调一下 /etc/X11/xorg.conf文件,将 Load "dri" 前面的注释号去掉以加载dri,启动3D加速。

    触摸板用默认的鼠标驱动就能实现直接在板上的单击和双击功能。一些参考资料提到可以用synaptics驱动来实现在触摸板边缘拖动滚动条的功能,但是我没法实现,每次试图加载synaptics都无法进入X,而且鼠标和键盘都会锁死,最终只得放弃。[page_break]

  5. ACPI设置

    使用ACPI功能,需要用到button和battery模块。button模块监视电源开关键(power button)、屏幕开合状态键(lid button)和休眠键(sleep button)的状态,并根据状态的变化运行设定的程序;battery则让用户可以监视电池的状态。Slackware启动时没有加载加载这两个模块,需要手工在 /etc/rc.d/rc.modules 里面增加 /sbin/modprobe/button 和 /sbin/modprobe battery 。

    加载button之后,按照默认设定,可以实现按电源开关键自动关机的功能。

    下面介绍一下通过屏幕开合状态键(lid button)实现suspend to RAM的做法(系统采用的是slackware 10.1 的testing目录中编译好的2.6.10版内核及内核模块):

    首先,控制台(console)需要使用640x480的分辨率,即在lilo.conf里面不要设置 vga=xxx 这个选项,原因稍后再提。

    第二,从suspend状态“醒来”的时候,需要一个叫做video_post的小

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,