Readme

Overview

This repo records my experience about gentoo usage.

Office Machine

Build a big kernel without modules.

Add nessency firmware.

Boot with The rEFInd Boot Manager

Steps

  1. copy config from a running linux distro.
zcat /proc/config.gz /usr/src/linux/.config
  1. Update current config converting local mods to core
make localyesconfig
  1. tuning drivers
  2. tuning cpu

References

Drivers

lspci -k
00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
	Subsystem: ASUSTeK Computer Inc. PRIME H310M-D
	Kernel driver in use: skl_uncore
00:02.0 VGA compatible controller: Intel Corporation CometLake-S GT2 [UHD Graphics 630]
	DeviceName:  Onboard IGD
	Subsystem: ASUSTeK Computer Inc. CometLake-S GT2 [UHD Graphics 630]
	Kernel driver in use: i915
00:14.0 USB controller: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller
	Subsystem: ASUSTeK Computer Inc. 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller
	Kernel driver in use: xhci_hcd
00:16.0 Communication controller: Intel Corporation 200 Series PCH CSME HECI #1
	Subsystem: ASUSTeK Computer Inc. 200 Series PCH CSME HECI
	Kernel driver in use: mei_me
00:17.0 SATA controller: Intel Corporation 200 Series PCH SATA controller [AHCI mode]
	Subsystem: ASUSTeK Computer Inc. 200 Series PCH SATA controller [AHCI mode]
	Kernel driver in use: ahci
00:1b.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #17 (rev f0)
	Kernel driver in use: pcieport
00:1c.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #1 (rev f0)
	Kernel driver in use: pcieport
00:1c.4 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #5 (rev f0)
	Kernel driver in use: pcieport
00:1d.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #9 (rev f0)
	Kernel driver in use: pcieport
00:1f.0 ISA bridge: Intel Corporation Z370 Chipset LPC/eSPI Controller
	Subsystem: ASUSTeK Computer Inc. Z370 Chipset LPC/eSPI Controller
00:1f.2 Memory controller: Intel Corporation 200 Series/Z370 Chipset Family Power Management Controller
	Subsystem: ASUSTeK Computer Inc. 200 Series/Z370 Chipset Family Power Management Controller
00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
	Subsystem: ASUSTeK Computer Inc. 200 Series PCH HD Audio
	Kernel driver in use: snd_hda_intel
00:1f.4 SMBus: Intel Corporation 200 Series/Z370 Chipset Family SMBus Controller
	Subsystem: ASUSTeK Computer Inc. 200 Series/Z370 Chipset Family SMBus Controller
	Kernel driver in use: i801_smbus
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V
	Subsystem: ASUSTeK Computer Inc. Ethernet Connection (2) I219-V
	Kernel driver in use: e1000e
03:00.0 USB controller: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller
	Subsystem: ASUSTeK Computer Inc. ASM2142 USB 3.1 Host Controller
	Kernel driver in use: xhci_hcd
lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0424:5744 Microchip Technology, Inc. (formerly SMSC) Hub
Bus 002 Device 002: ID 0bda:0409 Realtek Semiconductor Corp. 4-Port USB 3.0 Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0424:2744 Microchip Technology, Inc. (formerly SMSC) Hub
Bus 001 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 002: ID 0bda:5409 Realtek Semiconductor Corp. 4-Port USB 2.0 Hub
Bus 001 Device 006: ID 046d:c07f Logitech, Inc. Gaming Mouse G302
Bus 001 Device 005: ID 060b:7a03 Solid Year USB Keyboard
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lshw | grep -i driver | perl -pe 's/^.*driver=(\S+).*$/$1/g;' | sort -u
ahci
e1000e
i801_smbus
i915
mei_me
pcieport
rtc_cmos
serial
skl_uncore
snd_hda_intel
system
xhci_hcd

Intel i7-8700

Intel microcode - Gentoo Wiki intel - Gentoo Wiki

CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
CONFIG_EXTRA_FIRMWARE="intel-ucode/06-9e-0a i915/kbl_dmc_ver1_04.bin i915/kbl_guc_33.0.0.bin i915/kbl_huc_4.0.0.bin"

microcode

emerge --ask sys-kernel/linux-firmware
emerge --ask sys-firmware/intel-microcode
iucode_tool -S
iucode_tool -S -l /lib/firmware/intel-ucode/*

Docker support

/usr/share/docker/contrib/check-config.sh /usr/linux/src/.config
�[37minfo: reading kernel config from /proc/config.gz ...�[m

Generally Necessary:
- �[37mcgroup hierarchy�[m: �[32mcgroupv2�[m
- �[37mCONFIG_NAMESPACES�[m: �[32menabled�[m
- �[37mCONFIG_NET_NS�[m: �[32menabled�[m
- �[37mCONFIG_PID_NS�[m: �[32menabled�[m
- �[37mCONFIG_IPC_NS�[m: �[32menabled�[m
- �[37mCONFIG_UTS_NS�[m: �[32menabled�[m
- �[37mCONFIG_CGROUPS�[m: �[32menabled�[m
- �[37mCONFIG_CGROUP_CPUACCT�[m: �[32menabled�[m
- �[37mCONFIG_CGROUP_DEVICE�[m: �[32menabled�[m
- �[37mCONFIG_CGROUP_FREEZER�[m: �[32menabled�[m
- �[37mCONFIG_CGROUP_SCHED�[m: �[32menabled�[m
- �[37mCONFIG_CPUSETS�[m: �[32menabled�[m
- �[37mCONFIG_MEMCG�[m: �[32menabled�[m
- �[37mCONFIG_KEYS�[m: �[32menabled�[m
- �[37mCONFIG_VETH�[m: �[32menabled�[m
- �[37mCONFIG_BRIDGE�[m: �[32menabled�[m
- �[37mCONFIG_BRIDGE_NETFILTER�[m: �[32menabled�[m
- �[37mCONFIG_IP_NF_FILTER�[m: �[32menabled�[m
- �[37mCONFIG_IP_NF_TARGET_MASQUERADE�[m: �[32menabled�[m
- �[37mCONFIG_NETFILTER_XT_MATCH_ADDRTYPE�[m: �[32menabled�[m
- �[37mCONFIG_NETFILTER_XT_MATCH_CONNTRACK�[m: �[32menabled�[m
- �[37mCONFIG_NETFILTER_XT_MATCH_IPVS�[m: �[32menabled�[m
- �[37mCONFIG_NETFILTER_XT_MARK�[m: �[32menabled�[m
- �[37mCONFIG_IP_NF_NAT�[m: �[32menabled�[m
- �[37mCONFIG_NF_NAT�[m: �[32menabled�[m
- �[37mCONFIG_POSIX_MQUEUE�[m: �[32menabled�[m

Optional Features:
- �[37mCONFIG_USER_NS�[m: �[32menabled�[m
- �[37mCONFIG_SECCOMP�[m: �[32menabled�[m
- �[37mCONFIG_CGROUP_PIDS�[m: �[32menabled�[m
- �[37mCONFIG_MEMCG_SWAP�[m: �[32menabled�[m
    �[1;30m(cgroup swap accounting is currently enabled)�[m
- �[37mCONFIG_BLK_CGROUP�[m: �[32menabled�[m
- �[37mCONFIG_BLK_DEV_THROTTLING�[m: �[32menabled�[m
- �[37mCONFIG_CGROUP_PERF�[m: �[32menabled�[m
- �[37mCONFIG_CGROUP_HUGETLB�[m: �[32menabled�[m
- �[37mCONFIG_NET_CLS_CGROUP�[m: �[32menabled�[m
- �[37mCONFIG_CGROUP_NET_PRIO�[m: �[32menabled�[m
- �[37mCONFIG_CFS_BANDWIDTH�[m: �[32menabled�[m
- �[37mCONFIG_FAIR_GROUP_SCHED�[m: �[32menabled�[m
- �[37mCONFIG_RT_GROUP_SCHED�[m: �[32menabled�[m
- �[37mCONFIG_IP_NF_TARGET_REDIRECT�[m: �[32menabled�[m
- �[37mCONFIG_IP_VS�[m: �[32menabled�[m
- �[37mCONFIG_IP_VS_NFCT�[m: �[32menabled�[m
- �[37mCONFIG_IP_VS_PROTO_TCP�[m: �[32menabled�[m
- �[37mCONFIG_IP_VS_PROTO_UDP�[m: �[32menabled�[m
- �[37mCONFIG_IP_VS_RR�[m: �[32menabled�[m
- �[37mCONFIG_EXT4_FS�[m: �[32menabled�[m
- �[37mCONFIG_EXT4_FS_POSIX_ACL�[m: �[32menabled�[m
- �[37mCONFIG_EXT4_FS_SECURITY�[m: �[32menabled�[m
- Network Drivers:
  - "�[34moverlay�[m":
    - �[37mCONFIG_VXLAN�[m: �[32menabled�[m
    - �[37mCONFIG_BRIDGE_VLAN_FILTERING�[m: �[32menabled�[m
      Optional (for encrypted networks):
      - �[37mCONFIG_CRYPTO�[m: �[32menabled�[m
      - �[37mCONFIG_CRYPTO_AEAD�[m: �[32menabled�[m
      - �[37mCONFIG_CRYPTO_GCM�[m: �[32menabled�[m
      - �[37mCONFIG_CRYPTO_SEQIV�[m: �[32menabled�[m
      - �[37mCONFIG_CRYPTO_GHASH�[m: �[32menabled�[m
      - �[37mCONFIG_XFRM�[m: �[32menabled�[m
      - �[37mCONFIG_XFRM_USER�[m: �[32menabled�[m
      - �[37mCONFIG_XFRM_ALGO�[m: �[32menabled�[m
      - �[37mCONFIG_INET_ESP�[m: �[32menabled�[m
  - "�[34mipvlan�[m":
    - �[37mCONFIG_IPVLAN�[m: �[32menabled�[m
  - "�[34mmacvlan�[m":
    - �[37mCONFIG_MACVLAN�[m: �[32menabled�[m
    - �[37mCONFIG_DUMMY�[m: �[32menabled�[m
  - "�[34mftp,tftp client in container�[m":
    - �[37mCONFIG_NF_NAT_FTP�[m: �[32menabled�[m
    - �[37mCONFIG_NF_CONNTRACK_FTP�[m: �[32menabled�[m
    - �[37mCONFIG_NF_NAT_TFTP�[m: �[32menabled�[m
    - �[37mCONFIG_NF_CONNTRACK_TFTP�[m: �[32menabled�[m
- Storage Drivers:
  - "�[34maufs�[m":
    - �[1mCONFIG_AUFS_FS�[m: �[1;31mmissing�[m
  - "�[34mbtrfs�[m":
    - �[1mCONFIG_BTRFS_FS�[m: �[1;31mmissing�[m
    - �[1mCONFIG_BTRFS_FS_POSIX_ACL�[m: �[1;31mmissing�[m
  - "�[34mdevicemapper�[m":
    - �[37mCONFIG_BLK_DEV_DM�[m: �[32menabled�[m
    - �[37mCONFIG_DM_THIN_PROVISIONING�[m: �[32menabled�[m
  - "�[34moverlay�[m":
    - �[37mCONFIG_OVERLAY_FS�[m: �[32menabled�[m
  - "�[34mzfs�[m":
    - �[1m/dev/zfs�[m: �[1;31mmissing�[m
    - �[1mzfs command�[m: �[1;31mmissing�[m
    - �[1mzpool command�[m: �[1;31mmissing�[m

Limits:
�[37m- /proc/sys/kernel/keys/root_maxkeys�[m: �[32m1000000�[m

package list

#vaapi driver
sudo emerge -av libva-intel-media-driver gentoo

Tips