Difference between revisions of "FreeBSD on X1 Carbon (Gen 6)"

From Run Your Own
Jump to: navigation, search
(Optional)
(Optional)
Line 97: Line 97:
 
* xorg.conf
 
* xorg.conf
 
<pre>
 
<pre>
 
+
# All non-default X11 font directories must specified manually because
 +
# the X server does not search directories recursively...
 +
# Also, check /var/log/Xorg.0.log for missing fonts.dir files
 +
# Most likely some directories will miss theirs, in which case you need
 +
# to cd there and run mkfontdir...
 +
Section "Files"
 +
  FontPath "/usr/local/share/fonts/Caladea/"
 +
  FontPath "/usr/local/share/fonts/Carlito/"
 +
  FontPath "/usr/local/share/fonts/GentiumBasic/"
 +
  FontPath "/usr/local/share/fonts/Liberation/"
 +
  FontPath "/usr/local/share/fonts/LinLibertineG/"
 +
  FontPath "/usr/local/share/fonts/TerminusTTF/"
 +
  FontPath "/usr/local/share/fonts/Type1/"
 +
  FontPath "/usr/local/share/fonts/cyrillic/"
 +
  FontPath "/usr/local/share/fonts/dejavu/"
 +
  FontPath "/usr/local/share/fonts/encodings/"
 +
  FontPath "/usr/local/share/fonts/terminus-font/"
 +
  FontPath "/usr/local/share/fonts/twemoji-color-font-ttf/"
 +
  FontPath "/usr/local/share/fonts/util/"
 +
EndSection
 
</pre>
 
</pre>
 
* Don't want some options, /etc/make.conf
 
* Don't want some options, /etc/make.conf

Revision as of 22:00, 30 November 2018

Base Installation

  • grab ISO
  • encryption info goes here

Tracking FreeBSD-STABLE 12

/etc/src/conf - source build options

WITHOUT_ASSERT_DEBUG=true # compile without the assert(3) checks.
WITHOUT_AUDIT=true # Set to not build audit support into system programs.
WITHOUT_BSNMP=true # Set to not build or install bsnmpd(1)
WITHOUT_CALENDAR=true # Set to not build calendar(1)
#WITHOUT_LIB32=true
WITHOUT_TESTS=true # Set to not build nor install the FreeBSD Test Suite
WITHOUT_INET6=true
#WITHOUT_CROSS_COMPILER=true
#WITHOUT_KERBEROS=true # some pkgs do not like to have it without
WITHOUT_MAIL=true
WITHOUT_QUOTAS=true
WITHOUT_DEBUG_FILES=true
WITH_SVN=true # Set to install svnlite(1) as svn(1).

/etc/make.conf - system build information

CPUTYPE?=skylake           # no kabylake yet?

FreeBSD source and installation

rm -rf /usr/src/*
svnlite checkout https://svn0.eu.FreeBSD.org/base/stable/12 /usr/src

Hardware Specific config

BIOS Updates

  • Get latest BIOS update from Lenovo as bootable CD ISO file.
  • Convert the ISO to something that you can boot from USB
sudo portmaster -i sysutils/geteltorito
geteltorito -o usb-bios-update.img n23ur13w.is
  • Write the image to your USB device
sudo dd if=usb-bios-update.img of=/dev/daX bs=10M
  • plug USB in X1, (re)boot
  • Press enter, then F12 to choose temporary startup device
  • Choose your USB device (USB HDD)
  • Follow instructions from BIOS update utility

WiFi

  • in /etc/rc.conf
# Wireless
wlans_iwm0="wlan0"
background_dhclient="YES"
ifconfig_wlan0="WPA DHCP country NL"

GPU

DRM Next Kernel Module

  • Install the port
portmaster -i graphics/drm-next-kmod
  • in /etc/rc.conf
# drm-next-kmod port
kld_list="/boot/modules/i915kms.ko"
  • add your main user to video group
pw usermod ${USERNAME} -G video
  • reboot
shutdown -r now

Xorg

  • /etc/X11/xorg.conf
Section "Device"
  Identifier  "Intel Graphics"
  Driver      "intel"
  Option      "TearFree" "true"
EndSection

Note: These days all the useful options are enabled by default so no need to add too many extra parameters.

Thinkpad drivers

Used for LCD control, suspend, etc...

  • in /boot/loader.conf
# Thinkpad stuff
acpi_video_load="YES"
acpi_ibm_load="YES"

Sleep

  • You need at least BIOS 1.30 (see BIOS section to know how to update BIOS)
  • In BIOS change sleep state mode to Linux
  • when you want to suspend to RAM:
sudo zzz

Note: I see the disk not super happy when resuming, with system hanging for a couple secs and lots of:

nvme0: aborting outstanding i/o
nvme0: WRITE sqid:7 cid:67 nsid:1 lba:9792488 len:64
nvme0: ABORTED - BY REQUEST (00/07) sqid:7 cid:67 cdw0:0

Not sure if this should be a concern... There is an issue open about that https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230722

Another Note: See optional config bits below for sleeping when closing lid.

Optional

  • xorg.conf
# All non-default X11 font directories must specified manually because
# the X server does not search directories recursively...
# Also, check /var/log/Xorg.0.log for missing fonts.dir files
# Most likely some directories will miss theirs, in which case you need
# to cd there and run mkfontdir...
Section "Files"
  FontPath "/usr/local/share/fonts/Caladea/"
  FontPath "/usr/local/share/fonts/Carlito/"
  FontPath "/usr/local/share/fonts/GentiumBasic/"
  FontPath "/usr/local/share/fonts/Liberation/"
  FontPath "/usr/local/share/fonts/LinLibertineG/"
  FontPath "/usr/local/share/fonts/TerminusTTF/"
  FontPath "/usr/local/share/fonts/Type1/"
  FontPath "/usr/local/share/fonts/cyrillic/"
  FontPath "/usr/local/share/fonts/dejavu/"
  FontPath "/usr/local/share/fonts/encodings/"
  FontPath "/usr/local/share/fonts/terminus-font/"
  FontPath "/usr/local/share/fonts/twemoji-color-font-ttf/"
  FontPath "/usr/local/share/fonts/util/"
EndSection
  • Don't want some options, /etc/make.conf
OPTIONS_SET+=SNDIO      # BSD specific sound system
 
OPTIONS_UNSET+=DOCS     # I only install specific ones
OPTIONS_UNSET+=EXAMPLES # Same
OPTIONS_UNSET+=IPV6     # IPV6 free laptop already saved the day twice
  • Keyboard rate
xset rate r rate 250 34
kbdcontrol -r fast
  • in /etc/sysctl.conf
# No BEEPS!
hw.syscons.bell=0
kern.vt.enable_bell=0

# Suspend to RAM when closing lid (for laptop with a working S3)
hw.acpi.lid_switch_state=S3
  • If you don't like the touchpad and only use the emblematic Thinkpad pointing stick, you can disable the touchpad entirely in the BIOS (hurray!)
  • in ~/.login.conf
me:\
        :charset=UTF-8:\
        :lang=en_GB.UTF-8:\
        :setenv=LC_COLLATE=C:
  • in /etc/rc.conf
dbus_enable="YES"       # Enable DBUS
dumpdev="NO"            # Disable crash dumps

References