Gentooとの戦い

ThinkPad X240にGentoo Linuxをインストールして、ひととおり環境を作ってみました。

インストール

GentooそのもののインストールはGentooハンドブックの通りにやれば良いです。X240はUEFI機であることを念頭においておきましょう。

カーネル

WikiのT440sX250の設定を参考にしました。

おおむねT440sのコンフィグをなぞれば大丈夫です。ただしiwlwifiまわりは後々ちょっと面倒なのでカーネルには組込まず、モジュールとしてコンパイルします。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Processor type and features  --->
Processor family (Intel Core AVX2)
<*> CPU microcode loading support
[*] Intel microcode loading support
Power management and ACPI options --->
[*] ACPI (Advanced Configuration and Power Interface) Support --->
<*> Battery
<*> Video
CPU Frequency scaling --->
Default CPUFreq governor (performance)
<*> 'performance' governor
x86 CPU frequency scaling drivers --->
[*] Intel P state control
[*] Networking support --->
<*> Bluetooth subsystem support --->
Bluetooth device drivers --->
<*> HCI USB driver
<*> Wireless --->
<*> cfg80211 - wireless configuration API
<*> Generic IEEE 802.11 Networking Stack (mac80211)
<*> RF switch subsystem support
Device Drivers --->
Misc devices --->
<*> Intel Management Engine Interface
<*> ME Enabled Intel Chipsets
SCSI device support --->
<*> SCSI disk support
[*] Probe all LUNs on each SCSI device
<*> Serial ATA and Parallel ATA drivers --->
<*> AHCI SATA support
[*] Network device support --->
[*] Ethernet driver support --->
[*] Intel devices
<*> Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support
[M] Wireless LAN --->
<M> Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)
<*> Intel Wireless WiFi MVM Firmware support
<*> I2C support --->
I2C Hardware Bus support --->
<*> Intel 82801 (ICH/PCH)
<*> Hardware Monitoring support --->
<*> Intel Core/Core2/Atom temperature sensor
[*] Watchdog Timer Support --->
<*> Intel TCO Timer/Watchdog
Multifunction device drivers --->
<*> Intel ICH LPC
<*> Realtek PCI-E card reader
<*> Multimedia support --->
[*] Media USB Adapters --->
<*> USB Video Class (UVC)
Graphics support --->
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
<*> Intel 8xx/9xx/G3x/G4x/HD Graphics
[*] Enable modesetting on intel by default
[*] Enable legacy fbdev support for the modesettting intel driver
Console display driver support --->
<*> Framebuffer Console support
<*> Sound card support --->
<*> Advanced Linux Sound Architecture --->
[*] PCI sound devices --->
<*> Intel HD Audio --->
[*] Build HDMI/DisplayPort HD-audio codec support
[*] USB support --->
<*> xHCI HCD (USB 3.0) support
<*> EHCI HCD (USB 2.0) support
<*> MMC/SD/SDIO card support
<*> Realtek PCI-E SD/MMC Card Interface Driver
[*] X86 Platform Specific Device Drivers --->
<*> ThinkPad ACPI Laptop Extras
[*] IOMMU Hardware Support --->
[*] Support for Intel IOMMU using DMA Remapping Devices
[*] Enable Intel DMA Remapping Devices by default
[*] Support for Interrupt Remapping
[*] Cryptographic API --->
<*> AES cipher algorithms (AES-NI)

TPMサポートを有効にしないとサスペンドから戻ってこられなくなります。X250の設定を参考にしているのはここだけですね。

1
2
3
4
Device Drivers ->
Character devices ->
<*> TPM Hardware Support ->
<*> TPM Interface Specification 1.2 Interface / TPM 2.0 FIFO Interface

Wi-Fi

IntelのWi-Fiはファームウェアを要求してきます。インストールしておきましょう。

1
$ sudo emerge -a sys-kernel/linux-firmware

Arch LinuxのnetctlのようなものはないのでNetworkManagerを使うのが楽です。

電源管理

TLPはportageツリーに入っていないので、外部のリポジトリを使います

ノートPCの蓋をした時の挙動の管理などはしてくれないので、xfce4-power-managerも入れて動かしておきます。

1
$ sudo emerge -a xfce-extra/xfce4-power-manager

GTKテーマとカスタムリポジトリ

GTKのテーマはArcを使っていますが、portageツリーに入っているArcテーマはバージョンが古いものになっています。

ebuildを書いたのでこれを適当なフォルダに配置して、カスタムリポジトリのガイドを参考にローカルのリポジトリのx11-themes/arc-themeに入れます。emergeすると新しいバージョンのテーマが入ります。

テーマ側のバージョンが上がったらファイル名を変更して同じように配置し、更新するだけです。楽々ですね。

感想

  • Portageのいちいちパッケージをコンパイルする性質から生まれる柔軟なパッケージ管理が素晴らしい
  • とは言っても環境構築が大変なので、構築済みカーネルとかがあるだけでもすごく楽になりそう(カーネル以外にビルドに時間のかかるWebブラウザはGoogle Chromeのバイナリパッケージがある)
  • Arch Linuxが使えているならカーネル辺りの知識をつければ普通に使えると思うので、怖がらずに挑戦してほしい
  • 大変だけど構築は楽しい