Skip to content

Installing Gentoo on Dell Inspiron 1420

March 26, 2008

Note: This post is depreciated as the things had changed quite a lot since then. You can find the updated info from gentoo-wiki.com here.

Its been a while since my last post. Again busy with real life stuff. :/ Things have started to settle down a bit, so I might have more time to spend on the blog. (hopefully)

This blog is about installing Gentoo on my new Dell Inspiron 1420, and meant to cover something else not mentioned in the Gentoo handbook. It seems the Gentoo documentation is not so complete and slightly outdated, so it leaves to us the user to close up the gap. 🙂

Before you start

Did anyone mentioned that the latest LiveCD on Gentoo website is 1 year old now? 🙂 This is why it doesnt support some of the hardware found in my shiny new laptop. Neither Intel Corporation PRO/Wireless 3945ABG (ipw3945) nor Broadcom NetLink Fast Ethernet Controller (BCM5906M) is supported, this means we do not have any access to the Internet ! We will need an alternative Gentoo-based LiveCD to install Gentoo. In this guide, I used iloog (http://www.ilug.gr/iloog/) as an example. Download the iso and burn it.

Time to install

I will point you to various sites for you to reference with. Its always helpful to know more about your hardware before you start. Another note, do not stress yourself with the long (and very possibly annoying) installation. Gentoo is not designed to work out of the box, and the documentation is not centralized. (so to say) Bits of useful information is only found using google here and there. You have been warned. 🙂

The official Gentoo installation guide is found here. Id suggest you to read through before you start so you can get a rough idea of the whole installation process. Also, info about Dell MediaDirect, Restore and other utility is found here and here. You might want to read through before you start partitioning your drive and messing up stuff. 😛

Proceed with the installation until the mirrorselect part. iloog doesnt have mirrorselect installed, so we have to emerge it manually. Skip that part and proceed with chroot-ing. After you chroot-ed to your new Gentoo, synchronize your portage tree, emerge mirrorselect and go back to the mirrorselect part.

~ $ emerge --sync
~ $ emerge mirrorselect
...
# proceed with the mirror select configuration

Configure your kernel (and hope it works)

Time to get to know your laptop well. This will *definitely* help when it comes to kernel configuration.

Now we will list out our processor attributes. Important entries are highlighted.

~ $ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Duo CPU     T5450  @ 1.66GHz
stepping        : 13
cpu MHz         : 1000.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl est tm2 ssse3 cx16 xtpr lahf_lm
bogomips        : 3327.07
clflush size    : 64

processor       : 1
vendor_id       : GenuineIntel
...
# duplicated entry
~ $

The same entry is duplicated twice because we have 2 cores. Its a Intel Core 2 Duo T5450 with clock speed 1.66GHz and supports MTRR (Memory Type Range Register), ACPI (Advanced Configuration and Power Interface), MMX, SSE, SSE2 and SSSE3. No hardware virtualization support though. 😦

Emerge pciutils and run lspci to list all your hardware connected to PCI bus.

~ $ emerge pciutils
~ $ lspci
00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation Mobile Integrated Graphics Controller (rev 0c)
00:02.1 Display controller: Intel Corporation Mobile Integrated Graphics Controller (rev 0c)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 02)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 02)
00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)
00:1f.0 ISA bridge: Intel Corporation Mobile LPC Interface Controller (rev 02)
00:1f.1 IDE interface: Intel Corporation Mobile IDE Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation Mobile SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)
03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
03:01.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
03:01.2 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
03:01.3 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)
09:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express (rev 02)
0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
~ $

We can see that our laptop (in specified order) is powered by Intel 82801H (ICH8) chipset and equipped with Intel GMA965M Graphics Card (aka Intel Graphics Media Accelerator X3100), USB 2.0, Intel HD audio controller, PCI Express, SATA AHCI controller, FireWire (IEEE1394), Ricoh memory card reader, Broadcom ethernet controller and Intel 3945abg wireless card. You can google up about your hardware (and I suggest you to do so) to know more about it.

Wait, what about Bluetooth and webcam? Okay both our device is connected to an internal USB hub (you will see when you rip open your laptop ;)) and therefore not listed in lspci. Now we need another tool to list USB devices.

~ $ emerge usbutils
~ $ lsusb -v | less
 Bus 002 Device 003: ID 05a9:2640 OmniVision Technologies, Inc.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x05a9 OmniVision Technologies, Inc.
  idProduct          0x2640
  bcdDevice            1.00
  iManufacturer           1 OmniVision Technologies, Inc. -2640-07.07.20.3
  iProduct                2 Laptop Integrated Webcam
  iSerial                 0
  bNumConfigurations      1
...
# very long list
...
Bus 003 Device 003: ID 413c:8126 Dell Computer Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          224 Wireless
  bDeviceSubClass         1 Radio Frequency
  bDeviceProtocol         1 Bluetooth
  bMaxPacketSize0        64
  idVendor           0x413c Dell Computer Corp.
  idProduct          0x8126
  bcdDevice            1.00
  iManufacturer           1 Broadcom Corp
  iProduct                2 BCM2045
  iSerial                 0
  bNumConfigurations      1
...
# press q to quit
~ $

Found our missing Bluetooth and camera. 🙂 So we now listed most parts of our laptop, now we can configure our kernel accordingly. Proceed with Gentoo handbook.

This is the guidelines for your kernel configuration. Kernel used is version 2.6.24-gentoo-r3, options maybe different for older and newer kernels. If you find some options is missing, skip that and proceed to other options. Some options are dependent of another options and are hidden until its ticked. Go back to check if its available now.

Processor : Intel Core 2 Duo with MTRR and ACPI support

Processor type and features  --->
    [*] Symmetric multi-processing support
    Processor family (Core 2/newer Xeon)  --->
    (2) Maximum number of CPUs (2-255)
    [*] SMT (Hyperthreading) scheduler support
    [*] Multi-core scheduler support
    [*] Machine Check Exception
        [*] check for P4 thermal throttling interrupt.
    <*> Dell laptop support

Also check out Gentoo’s Intel Core 2 Duo guide
http://gentoo-wiki.com/HARDWARE_Intel_Core2_Duo

ACPI and Power Management

Power management options  --->
    [*] Power Management support
	[*] ACPI (Advanced Configuration and Power Interface) Support  --->
    CPU Frequency scaling  --->
	[*] CPU Frequency scaling
            *** CPUFreq processor drivers ***
            <*>   ACPI Processor P-States driver

Refer to Gentoo wiki for more power saving kernel options.
http://gentoo-wiki.com/HARDWARE_Intel_G33%2C_Q35%2C_and_Q33_Chipsets

ISA, PCI Express and ICH8H chipset

Bus options (PCI etc.)  --->
    [*] PCI support
        PCI access mode (MMConfig)  --->
    [*] PCI Express support
    [*] Message Signaled Interrupts (MSI and MSI-X)
    [*] Interrupts on hypertransport devices
    [*] ISA support
 Device Drivers  --->
    -*- I2C support  --->
        <*>   I2C device interface
        I2C Algorithms  --->
            -*- I2C bit-banging interfaces
        I2C Hardware Bus support  --->
            <*> Intel 82801 (ICH)

SATA Drivers

Device Drivers  --->
    SCSI device support  --->
        -*- SCSI device support
        *** SCSI support type (disk, tape, CD-ROM) ***
        <*> SCSI disk support
        <*> SCSI CDROM support
    <*> Serial ATA (prod) and Parallel ATA (experimental) drivers  --->
        <*>   AHCI SATA support
        <*>   Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support

Network Drivers

Device Drivers  --->
    [*] Network device support  --->
        [*]   Ethernet (1000 Mbit)  --->
            <*>   Broadcom Tigon3 support

Graphics Drivers

Device Drivers  --->
    Character devices  --->
        -*- Virtual terminal
        <*> Enhanced Real Time Clock Support
    Graphics support  --->
        -*- /dev/agpgart (AGP Support)  --->
            -*-   Intel 440LX/BX/GX, I8xx and E7x05 chipset support
        <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  --->
            <*>   Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver)  --->
        <*> Support for frame buffer devices  --->
            -*-   Enable Video Mode Handling Helpers
            *** Frame buffer hardware drivers ***
            <*>   Userspace VESA VGA graphics support					# for uvesafb
            <*>   Intel 830M/845G/852GM/855GM/865G/915G/945G support (EXPERIMENTAL)
                [*]     DDC/I2C for Intel framebuffer support

USB Drivers

You can follow this guide for its sound and USB kernel config.
http://gentoo-wiki.com/HARDWARE_Intel_G33%2C_Q35%2C_and_Q33_Chipsets

Sound Card

Device Drivers  --->
    Sound  --->
        <*> Sound card support
        Advanced Linux Sound Architecture  --->
            <M> Advanced Linux Sound Architecture
            <M>   Sequencer support
            PCI devices  --->
                <M> Intel HD Audio
                [*]   Enable generic HD-audio codec parser
                [*]   Aggressive power-saving on HD-audio
                (1)     Default time-out for HD-audio power-save mode
                <M> Intel/SiS/nVidia/AMD/ALi AC97 Controller
                [*] AC97 Power-Saving Mode
                (1)   Default time-out for AC97 power-save mode

In /etc/make.conf, tell ALSA we are using Intel HD Audio driver.

ALSA_CARDS="hda-intel"

Follow the Gentoo ALSA guide to setup your sound card.

Bluetooth

You can follow this guide for its bluetooth kernel config.
http://www.gentoo.org/doc/en/bluetooth-guide.xml

MMC/SD/MSPro Card Reader

I havent tested. You can refer to guide here
http://gentoo-wiki.com/HOWTO_SD_and_MMC_card_readers

Laptop Intergrated Camera

I havent tested. You can refer to these guides.
http://gentoo-wiki.com/HARDWARE_Dell_XPS_M1210

http://gentoo-wiki.com/Dell_XPS_M1330

Wireless

Available here
http://gentoo-wiki.com/HARDWARE_ipw3945

I would suggest you stick to ipw3945 unless you have a good reason to switch to iwl3945, its very buggy currently.
Proceed with Gentoo handbook. If everything goes well, you should end up in your new Gentoo with login prompt. If not, check out the troubleshooting section.

Troubleshooting

kernel panic – not syncing :VFS: unable to mount root fs on unknown block (0,0)

If you are getting this message, it could be 2 causes. It could be due to /dev not populated with devices. This is a bug I think, because after I gave the root maintance password and run the following command it gives this wierd output.

~ $ ls /dev

~ $

Scroll up the console and you should find something about udev error. If thats the case, reboot with LiveCD and proceed with chroot.

~ $ mkdir /mnt/gentoo
~ $ mount /dev/sda3 /mnt/gentoo
~ $ mount /dev/sda1 /mnt/gentoo/boot
~ $ mount -t proc none /mnt/gentoo/proc
~ $ mount -o bind /dev /mnt/gentoo/dev
~ $ chroot /mnt/gentoo /bin/bash
~ $ env-update && source /etc/profile
>> Regenerating /etc/ld.so.cache...
~ $ export PS1="(chroot) $PS1"

Now follow this guide to emerge udev.
http://www.gentoo.org/doc/en/udev-guide.xml

Reboot. Everything should be working now.

If its still not working, reboot into LiveCD, do the chroot-ing and check your kernel config. You might be missing some important hard disk controller (note: SATA is SCSI) or filesystem support. All filesystem support must be compiled-in and cannot be compiled as modules. Reboot and recheck. If its not, proceed with the vicious cycle. 😉 Good luck.

More configuration !

Finish everything in Gentoo handbook before you continue with system configuration. Most of these configuration is covered in other guides.

CFLAGS and USE flags

Although you included supports for your shiny new harware features, the packages wont be using them unless you tell them to. In /etc/make.conf, include these flags.

VIDEO_CARDS="i810"
ALSA_CARDS="hda-intel"
USE="
xcomposite dell wifi mmap dvdr bluetooth ipw3945 ieee1394 usb
mmx sse sse2 ssse3 pae
"

DO NOT use the CFLAGS, FFLAGS and LDFLAGS flags found in the Intel G33, Q35 and Q35 Chipsets guide, this will cause problems when compiling certain packages. Just stick to the “vanilla” CFLAGS.

CFLAGS="-O2 -march=prescott -pipe -fomit-frame-pointer -msse3"

Power Saving/Power Management / CPU Frequency Scaling
http://gentoo-wiki.com/HARDWARE_Intel_G33%2C_Q35%2C_and_Q33_Chipsets
http://gentoo-wiki.com/HARDWARE_Intel_Core2_Duo

Graphics Card
http://gentoo-wiki.com/HARDWARE_Intel_G33%2C_Q35%2C_and_Q33_Chipsets

In /etc/X11/xorg.conf, remove Option “PageFlip” “true”. Its not working on my laptop for some reasons.

gensplash/fbsplash

Use uvesafb instead of vesafb/i810fb. They dont work on my laptop either.
http://dev.gentoo.org/~spock/projects/uvesafb/

Sound Card
http://www.gentoo.org/doc/en/alsa-guide.xml

———————————————————————————————————————————–

That is all. I guess you would be very tired of reading, tweaking and compiling now. Welcome to Gentoo. 🙂 I have spent a week trying to get Gentoo working, and still tweaking here and there to get the most out of it. I will update when I found some interesting tweaks and fixes. For now, let me get some rest lol.

Best regards,
opcode0x90

Advertisements

From → Gentoo, Linux

7 Comments
  1. Jason permalink

    Would you be willing to post your make.conf? I am a little confused about the USE flags.

  2. USE=”
    automount wxwindows vnc subversion sockets samba ftp cvs
    firefox rss geoip jabber yahoo msn
    xcomposite dell wifi mmap lm_sensors fbcon fbcondecor dvdr bluetooth ipw3945 ieee1394 usb mmx sse sse2 ssse3 pae
    -gtk -gnome”

    There you go. USE flags depends on what you want your Gentoo to have. The third line is to tell the package to include support for my current processor and hardwares specs. The first two lines is
    to include support for samba (Windows File Sharing), firefox, rss, etc. Since I am using KDE, in the last line I tell Gentoo to exclude support for Gnome and its libraries.

    Full list of USE flags can be found here.
    http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=2

    Also, take note that your profile comes with some predefined USE flags. It might already include most of the useful flags, so you dont have to include them again. To check for current portage USE flags and other configurations, just use this command.

    emerge –info

    To check if you have included firefox as your USE flags,

    emerge –info | grep firefox

  3. mimosinnet permalink

    Thanks very much for your detailed explanation. I also have a:
    # cat /proc/cpuinfo
    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 15
    model name : Intel(R) Core(TM)2 Duo CPU T5450 @ 1.66GHz

    And I am getting this message on boot:
    ACPI Exception (processor_core-0816): AE_NOT_FOUND, Processor Device is not present [20070126]

    I was wondering if you are getting the same message.

    Thanks!

  4. Mind posting your processor flags? I never get this message. You can try to disable the ACPI options in your kernel and recompile.

  5. Ivo Calado permalink

    Hi opcode0x90, very thanks for your tutorial. I tried to install the gentoo in a Dell 1525 e for many things your tutorial could be applied. Thanks! 😀
    However, I have a problem in the video and I want to know if you could help me.
    My laptop has a X3100 graphical card. I followed your tutorial since this card is the same which of your tutorial.
    The screen sometimes (when I press the tab button for auto-complete, for instance) presents a weird behavior; The screen blinks. To me, it seems like a frame buffer problem but I’m unsure.
    Do you happen to know what can I do to fix it?!

    Thanks in advance,

    best regards 😀

  6. albsat permalink

    Great tutorial. I wonder and I know I will sound lazy if you could make a Gentoo live cd remaster for Inspiron 1420?

    It would simply great.Thanks for your understading.

  7. Someone necessarily help to make severely posts I might state. That is the very first time I frequented your website page and thus far? I amazed with the analysis you made to create this particular publish amazing. Magnificent activity!

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: