Installing Gentoo on an X240

From ThinkWiki
Revision as of 20:17, 22 April 2014 by Keba (Talk | contribs) (/etc/portage/make.conf)
Jump to: navigation, search

These notes refer to the installation of Gentoo on an X240 system. The notes are NOT step-by-step instructions, but they are supposed to provide the necessary information to simplify the installation (i.e. configuration files, etc).

/etc/portage/make.conf

The "core-avx" CFLAGS option optimises for the new Haswell instruction set:

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=core-avx2 -mavx2 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

source: Safe CFLAGS

Hardware information

lspci

00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0 (rev 04)
00:16.3 Serial controller: Intel Corporation Lynx Point-LP HECI KT (rev 04)
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I218-LM (rev 04)
00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 6 (rev e4)
00:1c.1 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 3 (rev e4)
00:1d.0 USB controller: Intel Corporation Lynx Point-LP USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation Lynx Point-LP SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01)
03:00.0 Network controller: Intel Corporation Wireless 7260 (rev 83)

This laptop features the Intel Lynx PCH chipset.

lsusb

Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 005: ID 04f2:b39a Chicony Electronics Co., Ltd 
Bus 002 Device 004: ID 8087:07dc Intel Corp. 
Bus 002 Device 003: ID 138a:0017 Validity Sensors, Inc. 
Bus 002 Device 002: ID 048d:1170 Integrated Technology Express, Inc. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8000 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Some of the USB devices are the fingerprint reader and the camera, they were not yet identified.

Configuration

Lan & Wlan

In order for the wireless chipset to work, it needs to be configured as a module (called iwlwifi). Otherwise it can not load the required firmware (package sys-kernel/linux-firmware OR sys-firmware/iwl7260-ucode) correctly.

Device Drivers  --->
 [*] Network device support  --->
   [*] Ethernet driver support  --->
     [*] Intel devices
       <*> Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support
   [*] Wireless LAN  --->
     <M> Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)
     <*> Intel Wireless WiFi MVM Firmware support

Then, load the module on boot without any parameters (note: the firmware has to be installed), and it will work (/etc/conf.d/modules):

modules="${modules} iwlwifi" 
module_iwlwifi_args=""

Sound

With a built-in sound driver (HDA-Intel), mixer settings don't work out of the box. The following page might have a solution: Gentoo forums. It suggests building the driver as a module and then loading it with a parameter:

Device Drivers  --->
 <*> Sound card support  --->
   <*> Advanced Linux Sound Architecture  --->
     [*] PCI sound devices  --->
       <M> Intel HD Audio  --->
         [*] Build HDMI/DisplayPort HD-audio codec support

/etc/conf.d/modules:

modules="snd_hda_intel" 
module_snd_hda_intel_args="index=1"

SD Card Reader

This is the Realtek device. It requires the sys-apps/pcsc-tools package to be installed.

Device Drivers  --->
 Multifunction device drivers  --->
   <*> Intel ICH LPC
   <*> Realtek PCI-E card reader

The Touchpad

The X240 has a new touchpad (or clickpad), for which only the left mouse button is recognised. The blog While In Linux explains how to get it to work. By adding the driver to /etc/portage/make.conf before emerging X11, the driver (x11-drivers/xf86-input-synaptics) should be installed automatically:

INPUT_DEVICES="mouse keyboard evdev synaptics"

Then, add these lines to the configuration file /usr/share/X11/xorg.conf.d/50-synaptics.conf:

# This option enables the bottom right corner to be a right button on
# non-synaptics clickpads.
# This option is only interpreted by clickpads.
Section "InputClass"
       Identifier "Default clickpad buttons"
       MatchDriver "synaptics"
       Option "SoftButtonAreas" "60% 0 0 5% 40% 60% 0 5%"
       Option "AreaTopEdge" "4%"
EndSection

Brightness Controls (F5 & F6)

From the Splitbrain blog: Turning up and down the screen brightness with FN+F5 and FN+F6 did not work correctly out of the box. It basically did nothing for a few keypresses and then dimmed the display to barely visible. This blog post brought the solution. Adjust the default boot parameters in /etc/default/grub like this:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux acpi_backlight=vendor i915.allow_pc8=1"

Note: i915.allow_pc8=1 enables powersaving for the GPU

Then run sudo update-grub and reboot.

Alternatively, edit the "kernel" line in /boot/grub/grub.cfg directly.

Resources

The Thinkpad T440p has similar hardware, therefore, it was helpful to look at its configuration: Gentoo Wiki on the T440p