Search:  
Gentoo Wiki

Lenovo_3000_G410

This article is still a Stub. You can help Gentoo-Wiki by expanding it.

Contents

Hardware

Configuration may vary. Spec for G410M-MM model:

Intel Celeron M540 @ 1.86GHz
Intel Mobile GL960 (GMA X3100)
Intel High Definition Audio 82801HBM ICH8M (Realtek ALC862)
Intel USB UCHI (x4)
Intel USB EHCI
Intel 82801HBM (ICH8) SATA storage 
Broadcom BCM4311 802.11g wifi
Broadcom NetLink BCM5906M 10/100MBit wired
Optiarc AD-7560A ATA DVD-RW
Hitachi HTS541680J9SA00 (80GB SATA)
Unknown Card Reader

Kernel Config and Working hardware

Works with zen-sources-2.6.26-r21:

Speed stepping

According to Intel, the Celeron M 5xx do not support speed stepping but they can be clocked down with the p4-clockmod driver using cpufreq. You need to patch the kernel because the CPU ID is not supported officially yet.

Note: This patch also works for kernel 2.6.26 even though it was originally written for 2.6.24.

Kernel

Code: Patching the kernel for cpufreq
cd /usr/src/linux
wget http://ecarux.de/files/misc/cpufreq-celeron-2.6.24.patch
patch -p1 < cpufreq-celeron-2.6.24.patch

Recompile your kernel with these options enabled:

Linux Kernel Configuration: CPU Frequency scaling
Power management options --->
 [*] CPU Frequency scaling
   [ ]   Enable CPUfreq debugging
   <*>   CPU frequency translation statistics
   [*]     CPU frequency translation statistics details
   Default CPUFreq governor (performance)  --->
     -*-   'performance' governor
       <*>   'powersave' governor
        <*>   'userspace' governor for userspace frequency scaling
        -*-   'ondemand' cpufreq policy governor
        <*>   'conservative' cpufreq governor
   *** CPUFreq processor drivers ***
        <*>   ACPI Processor P-States driver
        < >   AMD Opteron/Athlon64 PowerNow!
        < >   Cyrix MediaGX/NatSemi Geode Suspend Modulation
        < >   Intel Enhanced SpeedStep (deprecated)
        <*>   Intel Pentium 4 clock modulation

If you'll execute cpufreq-info, you should be getting something like this:

Code: cpufreq-info
cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
  driver: p4-clockmod
  CPUs which need to switch frequency at the same time: 0
  hardware limits: 233 MHz - 1.86 GHz
  available frequency steps: 233 MHz, 467 MHz, 700 MHz, 933 MHz, 1.17 GHz, 1.40 GHz, 1.63 GHz, 1.87 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 233 MHz and 1.87 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 1.87 GHz (asserted by call to hardware).

Framebuffer

There are two ways to get native resolution in fb. Easy way is to use uvesafb (see Fbsplash for details)

Second way is to use intelfb with some tricks. Intelfb is rather stupid and can't use anything except VBE modes. For X.Org it isn't a problem now - there is 915resolution (driver in ~arch don't need even it). But what can we do with framebuffer? Is there a way to load 915resolution before intelfb? Yes there is. Some eeePC entusiasts discoverd a way to load it before kernel. Unfortuantly it needs patched grub-1.96 (2.0 alpha) to be installed. If you is afraid of using alpha version of a bootloader - the only way to get native resolution is to use uvesafb.

Grub

Warning: 1-st Sep. 2008: Grub-1.96 from portage is currently broken! Be careful! It won't install any modules
Code: Patching grub-1.96
cd ~
wget ftp://alpha.gnu.org/gnu/grub/grub-1.96.tar.gz
wget http://www.nathancoulson.com/proj/eee/grub-1.96-915resolution-0.5.2-2.patch
tar -xf grub-1.96.tar.gz
patch -p1 < grub-1.96-915resolution-0.5.2-2.patch
Warning: You'll need to manualy modify patch from /usr/portage/sys-apps/915resolution to add missing support of GM965! The only modification it needs is to change strcmp to grub_strcmp
Code: Making grub
cd grub-1.96
./configure --prefix=/usr/local/
make && make install

Now you'll need to install new grub.

Code: Installing grub
/usr/local/grub-1.96/sbin/grub-install /dev/hda
Warning: /dev/hda is your hdd. For me it was /dev/sda becouse of libata's driver

Grub's config have changed slightly since version 0.9x. Here are some important changes: 1) Config is now stored in /boot/grub/grub.cfg not in /boot/grub/grub.conf. 2) You'll need to use "set timeout=10" instead of "timeout 10" 3) TODO: add later all changes in grub.cfg.

Code: Example of grub.cfg
set timeout=10
set default=1

insmod linux
insmod terminal
insmod boot
insmod 915resolution

915resolution 30 1280 800
915resolution 41 1280 800
915resolution 50 1280 800
915resolution 34 1280 800
915resolution 45 1280 800
915resolution 54 1280 800
915resolution 32 1280 800
915resolution 43 1280 800
915resolution 52 1280 800

insmod font
font /boot/grub/unifont.pff
insmod gfxterm
insmod vbe
set gfxmode=1280x800
insmod png
background_image (hd0,1)/bg.png

terminal gfxterm

partition
menuentry "Gentoo Linux Current" {
    set root=(hd0,1)
    linux /boot/kernel root=/dev/ram0 real_root=/dev/system/slash dolvm udev real_resume=/dev/sda5 video=uvesafb:1280x800-24 usbcore.autosuspend=1 resume=swap:/dev/sda2 nmi_watchdog=0 splash=silent,theme:livecd-2007.0 console=tty1
    initrd (hd0,1)/initramfs
}

menuentry "Gentoo Linux IntelFB" {
    set root=(hd0,1)
    linux (hd0,1)/kernel root=/dev/ram0 real_root=/dev/system/slash dolvm udev real_resume=/dev/sda5 video=intelfb:vga=318,vram=4,accel,hwcursor=0,mtrr usbcore.autosuspend=1 resume=swap:/dev/sda2 nmi_watchdog=0 splash=silent,theme:livecd-2007.0 console=tty1
    initrd (hd0,1)/initramfs
}

insmod is used to load grub's modules. all those 915resolution lines is need to replace ALL resolutions to 1280x800. It seems that current gl960 tries to fallback to previos resolution in some cases.


Kernel

Recompile your kernel with these options enabled:

Code: To be done later. See Fbsplash for more info about intelfb for now
{{{2}}}
Retrieved from "http://www.gentoo-wiki.info/Lenovo_3000_G410"

Last modified: Wed, 10 Sep 2008 04:33:00 +0000 Hits: 1,307