免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1231 | 回复: 0
打印 上一主题 下一主题

MY GENTOO NOTEBOOK [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-18 14:17 |只看该作者 |倒序浏览
MY GENTOO NOTEBOOK CONFIG
I still remembered the day I got the new Dell 700m, after I made sure that all parts worked properly on MS Windows, I formated the hd and started the journey of Gentoo without any hesitation.
This HOWTO is highly inspired by
HARDWARE Gentoo Acer Travelmate 803LCi Manual

ATTENTION: PLEASE BE AWARE I AM NOT RESPORNSIBLE FOR ANY DAMAGE TO YOUR SYSTEM, YOU TRY THIS AT YOUR OWN RISK !
Introduction
Technical specification of Dell 700m:

    Processors
    Intel PentiumTM M processors 725 (1.60GHz, 2MB Cache, 400MHz FSB)
    Intel 855GME chipset
    Memory
    256 MB shared3 DDR SDRAM standard, upgradable to 2 GB maximum
    SDRAM Configuration: 2 SoDIMM slots (one user-accessible)
    Displays
    12.1-inch Wide Screen crystal clear TFT XGA active-matrix display (1280 x 800 resolution)
    Graphics Cards
    Intel Extreme Graphics up to 64 MB shared memory
    Hard Drives
    30 GB3 Ultra ATA hard drive
    Optical Drives
    Combo Drive: 24x/10x/24x CD-RW and 8x DVD
    Sound Cards
    Integrated stereo sound
    Modems
    Internal 56K3 capable v.92 Fax modem
    Network Interface
    Integrated 10/100 Ethernet
    Wireless Networking
    Dell 1350 internal wireless solution (802.11b/g, 54 Mbps4)
    I/O Ports
    1394: Integrated IEEE 1394
    2-USB 2.0 (Universal Serial Bus) compliant 4-pin connectors
    Audio jacks: Line-out (external speakers/headphone) and external microphone
    Video: 15-pin monitor connector
    10/100 Ethernet LAN: RJ-45 connector
    S-Video/TV Out: 7-pin mini-DIN connector
    Memory: Secure Digital memory slot
    Modem: RJ-11 connector
    Slots
    Connectors: Supports (1) Type I or Type II card
    3.3 and 5 V cards supported

Here is the output of `lspci | cut -b 13-`
Code:
Host bridge: Intel Corp. 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
System peripheral: Intel Corp. 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
System peripheral: Intel Corp. 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
VGA compatible controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
Display controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)
PCI bridge: Intel Corp. 82801 Mobile PCI Bridge (rev 83)
ISA bridge: Intel Corp. 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)
IDE interface: Intel Corp. 82801DBM (ICH4-M) IDE Controller (rev 03)
SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
CardBus bridge: Texas Instruments PCI7420 CardBus Controller
CardBus bridge: Texas Instruments PCI7420 CardBus Controller
FireWire (IEEE 1394): Texas Instruments PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller
Unknown mass storage controller: Texas Instruments PCI7420/PCI7620 Dual Socket CardBus and Smart Card Cont. w/1394a-2000 OHCI Two-Port  PHY/Link-Layer Cont. an
Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)
Installing Gentoo: Stage 1 NPTL on a Stage 3 Tarball
is a good handbook for fresh Gentoo installation.
CFLAGS and USE
Gcc 3.3.4 does NOT support Pentium-M architecture, some users argue that Pentium-M is more or less like Pentium 4. As far as I know, Pentium-M is a brand new architecture designed specifically for laptop inspired by PIII-M. So I choose this CFLAGS for gcc 3.3.4:
Code:
CFLAGS="-march=pentium3 -O2 -fomit-frame-pointer -pipe"
For gcc 3.4.3
Code:
CFLAGS="-march=pentium-m -mtune=pentium-m -O2 -pipe -mmmx -msse -msse2 -mfpmath=sse -fomit-frame-pointer -fno-delayed-branch -fcaller-saves -freorder-blocks -freorder-functions -falign-jumps -finline-functions -frename-registers -fweb -fno-trapping-math -falign-functions=64"
LD_FLAGS is disabled since I've met several compilation fail if it is enabled.
Kernel
Everybody has his/her own flavor of kernel, I prefer nitro-sources,
2.6.10-nitro4: The Kernel Formerly Known As Hercules
.
ACPI
Code:
Power management options (ACPI, APM)  --->
    ACPI (Advanced Configuration and Power Interface) Support  --->
      
  • ACPI Support
          
  •    Sleep States (EXPERIMENTAL)
              AC Adapter
              Battery
              Button
              Fan
              Processor
                Thermal Zone
    If you would like as small a kernel as possbile, just like me, you need to add the following modules to /etc/modules.autoload/kernel-2.6:
    Code:
    # acpi
    button
    ac
    battery
    fan
    processor
    thermal
    Speedstep
    Kernelwise:
    Code:
        CPU Frequency scaling  --->
          
  • CPU Frequency scaling
              'powersave' governor                                
              'userspace' governor for userspace frequency scaling
          
  •      /proc/sys/cpu/ interface (2.4. / OLD)              
              'ondemand' cpufreq policy governor                  
              CPU frequency table helpers                          
           ---   CPUFreq processor drivers                           
            Intel Enhanced SpeedStep                              
          
  •    Use ACPI tables to decode valid frequency/voltage pairs         
    Add the following modules to /etc/modules.autoload/kernel-2.6:
    Code:
    # speedstep
    speedstep-centrino
    cpufreq_userspace
    cpufreq_ondemand
    Userspace daemon is speedfreq:
    Code:
    # emerge speedfreq
    # rc-update add speedfreq boot
    % cat /etc/conf.d/speedfreq
           SPEEDFREQ_SPEED="dynamic"
           SPEEDFREQ_USERS="yes"
    Software Suspend 2
    Kernelwise configuration:
    Code:
        Software Suspend 2 --->
               Swap Writer                     
           --- Page Transformers                    
               LZF image compression (Preferred)
           --- User Interface Options              
              Text mode console support         
           --- General Options                     
           (/dev/hda2)    Default resume device name
      [ ]    Allow Keep Image Mode            
    Code:emerge hibernate-script
    It takes quite a long time for me to hack the software suspend, then I found here is a little patch for the latest swsusp2:
    http://lists.berlios.de/pipermail/softwaresuspend-devel/2005-January/001458.html

    You need to apply this patch to the kernel, then format the swap partition for the sake of sanity, in my case, /dev/hda2 is the swap:
    Code: mkswap /dev/hda2
    We also need to edit the /etc/hibernate/hibernate.conf to meet your own need, Here is the mine:
    Code:
    $ cat /etc/hibernate/hibernate.conf  | grep ^[^#]
    UseSwsusp2 yes
    Reboot no
    EnableEscape yes
    DefaultConsoleLevel 1
    SuspendDevice swap:/dev/hda2
    PowerdownMethod 4
    Verbosity 0
    LogFile /var/log/hibernate.log
    LogVerbosity 1
    Bootsplash on
    SaveClock yes
    UnloadModules snd_intel8x0
    GentooModulesAutoload yes
    RestartServices alsasound local
    SwitchToTextMode yes
    Since snd_intel8x0 is incompatible with swsusp, YMMV, I need to stop alsasound and unload this module before do_swsusp2.
    SaveClock is another issue to address, you might run ntp-client service after the swsusp2, if your box are online all the time.
    Last edited by bookstack on Sun Jan 16, 2005 9:02 pm; edited 16 times in total
    Back to top





    bookstack
    Tux's lil' helper

    Joined: 27 Feb 2004
    Posts: 129

    Posted: Fri Jan 14, 2005 12:30 am    Post subject:

    FnKey
    Dell 700m supports FnKeys for users' convinience, most of them work out of box, except:
    Fn + Esc: Standby
    Fn + F5: Mute
    Fn + F6: VolumnDown
    Fn + F7: VolumnUp
    Fn + F11: PrintScrn/ SysRq
    Here is a small program,
    ESE Key Daemon
    , that supports multi-media keyboard, I just hacked a small patch to make it run more "gentoo-like":
    Here is the patch :
    >>>>>>>>>>>> CUT FROM HERE >>>>>>>>>>>>>>>>>
    Code:
    *** esekeyd-1.2.1/src/esekeyd.c 2004-05-15 05:43:34.000000000 -0400
    --- esekeyd-1.2.1-gentoo/src/esekeyd.c 2005-01-16 19:18:23.598101776 -0500
    ***************
    *** 12,19 ****
    --- 12,28 ----
       * Released under the GNU Public License.
       */
      
      #include "esekey.h"
    + #include
    +
    + FILE *funkey = NULL;
    + const char PID_FILE[] = "/var/run/esekeyd.pid";
    +
    + void cleanup();
    + void HandleSignals();
    + void CatchSignal(int x);
    +
      
      int
      main (int argc, char *argv[])
      {
    ***************
    *** 21,33 ****
        char device_name[strlen (EVENT_DEVICE)] = { 0 };
        unsigned int keycount = 0;
        struct esekey *keys = NULL;
        unsigned int i = 0;
    !   FILE *funkey = NULL;
        char *key = NULL;
        struct input_event ev;
      
    !   printf ("%s
    ", PACKAGE_STRING);
      
        if (argc
    Code:
    % cd esekeyd-1.2.1/src
    % patch esekeyd.c  path/to/the/patch
    % config --prefix=/usr/local
    % make
    % su
    % make install
    Then we need to create /etc/init.d/esekeyd and /etc/esekeyd.conf:
    Code:
    bookstack@getnoo esekeyd-1.2.1 $ cat /etc/init.d/esekeyd
    #!/sbin/runscript
    # Copyright 1999-2004 Gentoo Foundation
    # Distributed under the terms of the GNU General Public License v2
    depend() {
           need keymaps
    }
    start() {
            ebegin "Starting esekeyd"
            /usr/local/sbin/esekeyd /etc/esekeyd.conf /dev/input/event0
            eend $?
    }
    stop() {
            ebegin "Stopping esekeyd"
            if [ -e /var/run/esekeyd.pid ] ; then
                    local pid="$(& /dev/null
                    eend $? "Could not kill pid '${pid}'"
            else
                    eend 1 "Lost pid file :("
            fi
    }
    Code:
    bookstack@getnoo / $ cat /etc/esekeyd.conf
    #
    # ESE Key Deamon 1.2.1 config file
    #
    #
    # example: to run mutt in xterm we must set DISPLAY
    #          so the command line will be as follows:
    #MAIL:/bin/sh -c "DISPLAY=:0 xterm -e mutt"
    #
    SLEEP: /usr/sbin/hibernate
    MUTE: amixer set PCM toggle
    VOLUMEDOWN: amixer set PCM 10%-
    VOLUMEUP: amixer set PCM 10%+
    Now, you can lauch this daemon like this:
    Code: # /etc/init.d/esekeyd start
    you can also add it to default run-level:
    Code: # rc-update add esekeyd default
    If Fn+Fx are pressed in the console mode, an annoying symbol '~' wil appear, for the sake of sanity, we need to add the following keymap to the system:
    Code:
    bookstack@getnoo bookstack $ zcat /usr/share/keymaps/i386/include/fnkey.map.gz
    keycode 113 = nul
    keycode 114 = nul
    keycode 115 = nul
    keycode 223 = nul
    And add the following lines to /etc/rc.conf:
    Code:EXTENDED_KEYMAPS=fnkey
    The above Fn keys work well in both console and X, Fn+F11 needs more tricks, I will take care of that later.
    Last edited by bookstack on Sun Jan 16, 2005 9:00 pm; edited 7 times in total
    Back to top





    bookstack
    Tux's lil' helper

    Joined: 27 Feb 2004
    Posts: 129

    Posted: Fri Jan 14, 2005 12:30 am    Post subject:

    Video
    [TODO]
    In Dell 700m specification, this machince can be configured as 64 MB shared video memory. Anybody knows HOW?
    Framebuffer and Gensplash
    Please refer to
    this post
    :
    For Dell 700m users, we can use vesafb, vesafb-tng, intelfb or i810fb as well,
    Code:
    Intel 810/815 support (EXPERIMENTAL)
    Intel 830M/845G/852GM/855GM/865G support (EXPERIMENTAL)   
    And enable them when booting:
    Code:
    # cat /boot/grub/grub.conf
    root@getnoo bookstack # cat /boot/grub/grub.conf
    splashimage=(hd0,0)/grub/gentoo.xpm.gz
    # Default kernel
    title Gentoo 2.6.10-nitro4-unicon
    root (hd0,0)
    kernel /kernel-2.6.10-nitro4-unicon root=/dev/hda3  resume2=swap:/dev/hda2 video=intelfb:ywrap,mtrr,1024x768-24@75 vga=0x317 splash=verbose,theme:emergence
    initrd (hd0,0)/boot/fbsplash-emergence-1024x768
    If MPlayer is emerged with USE="directfb", we can play video in console mode:
    Code:mplayer -vo fbdev (or fbdev2 or directfb) foo.avi
    [TODO]
    However, I can not zoom the video to full screen. So it is with "links2 -g", any suggestion ?
    X
    We need run
    855resolution
    before X server lauch.
    Code:
    # cp ./855resolution /usr/local/sbin
    % cat /etc/conf.d/local.start
    #Tweak the 855GM resolution
    /usr/local/sbin/855resolution 4d 1280 800 1>&2 > /dev/null
    Since the VBIOS tweak would take effect until power off, so we need to add "RestartServices alsasound local " to /etc/hibernate/hibernate.conf.
    Here is the section of xorg.conf
    Code:
    Section "Device"
        Identifier  "ExtremeGraphics2"
        Driver      "i810"
        #VideoRam    16384
        # Insert Clocks lines here if appropriate
    EndSection
    Section "Screen"
        Identifier  "Screen 1"
        Device      "ExtremeGraphics2"
        Monitor     "LCD"
        DefaultDepth  24
        Subsection "Display"
            Depth       24
            Modes       "1280x800"
            ViewPort    0 0
        EndSubsection
    EndSection
    Section "Monitor"
         Identifier  "LCD"
          HorizSync   31.5 - 79.0
         VertRefresh 50-100
         Option  "DPMS"
         Modeline "1280x800" 101.92 1280 1312 1696 1728 800 816 825 841
    EndSection
    Section "ServerLayout"
        Screen "Screen 1"
        InputDevice "Keyboard1" "CoreKeyboard"
        InputDevice "TouchPad"  "USBMouse"
        Option "OffTime"            "20"
        Option "StandbyTime"        "5"
        Option "SuspendTime"        "10"
    EndSection
    Section "DRI"
        Mode 0666
    EndSection
    [TODO]
    How to enhance the performance of X server ?
    The DRI is enabled, but score of glxgears is so poor:
    Code:
    3330 frames in 5.0 seconds = 666.000 FPS # small window
    344 frames in 5.0 seconds = 68.800 FPS    # Full screen
    Any suggestions ?
    Last edited by bookstack on Wed Jan 19, 2005 12:50 pm; edited 7 times in total
    Back to top





    bookstack
    Tux's lil' helper

    Joined: 27 Feb 2004
    Posts: 129

    Posted: Fri Jan 14, 2005 12:31 am    Post subject:

    Audio
    Just follow
    this guide
    , and enable this option in kernel configuration:
    Code:
        Intel/SiS/nVidia/AMD/ALi AC97 Controller
    and edit /etc/modules.d/alsa:
    Code:alias snd-card-0 snd-intel8x0
    Network
    Enable this option in kernel configuration:
    Code:
        Broadcom 4400 ethernet support (EXPERIMENTAL)
    And add b44 to /etc/modules.autoload/kernel-2.6
    Wireless network
    Enable this option in kernel configuration:
    Code:
      
  • Wireless LAN drivers (non-hamradio) & Wireless Extensions  
    Then we need to Code:emerge ndiswrapper wireless-tools . Select the appropriate Windows driver
    here
    , then (I use TruMobile 1350):
    Code: # ndiswrapper -i bcmwl5a.inf
    And add ndiswrapper to /etc/modules.autoload/kernel-2.6.
    For ipw2210, ipw2200 users, please check ipw2210.sf.net and ipw2200.sf.net for more details.
    Last edited by bookstack on Mon Jan 17, 2005 7:52 pm; edited 6 times in total
    Back to top





    bookstack
    Tux's lil' helper

    Joined: 27 Feb 2004
    Posts: 129

    Posted: Fri Jan 14, 2005 12:31 am    Post subject:

    CRT out
    There are two programs here:
    i810switch
    ( in portage already)
    i855crt
    .
    For Dell 700m user, I suggests i855crt, just as the i810swtich developer says:" i855 users who have flickering problems may want to try the i855crt project to see if that works better."
    i855crt solves 3 problems that i810switch does not address:
    1 i855crt could setup the resolution of CRT.
    2 It eliminates flickering. Very interesting, the CRT works much better in higher resolution such as 1280x1024@75 than 640x480@60.
    3 It partially gets rid of the white rectangle in the left top corner of CRT screen. Partially means the "swcursor" sometimes works, somtimes not. I'll try cvs version, and report it later.
    We can video out in either X or console mode. In fact console mode looks very nice, since the screnn just squeeze from 1280x800 to 1024x768. However, in X mode, we have to make a decision between lost of contens or waster of screen.
    TODO:
    Anyone knows how to span the screen? For example, I could surf the web in LCD, and watch movie full screen in CRT? Does this video adapter support this feature ?
    S-Video out
    I could not test this feature right now. I can not afford the S-Video cable($15!) and the television so far.

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/154/showart_21931.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP