Frugalware Linux 1.7 on Panasonic Toughbook CF-T8 laptop


System specs
(Mine is a CF-T8 mk3 model)

Installation (base system)

Download the 64bits iso :
Dump the iso to an usb drive (WARNING! WILL ERASE EVERYTHING ON DESTINATION DRIVE!)
# dd if=frugalware*.iso of=/dev/sdX bs=1M
(replace sdX with your actual drive)
Boot from usb.
Unfortunately the GUI installer will not work, so we select a console installer (the vga fb version works best for me)
I chose the wired network interface (eth0) since the installer seems to only support WEP encryption for the wireless interface.

Partitioning

(backup your existing data if needed)
Up to you. I personnally chose to keep a dual boot with the Windows system which was pre-installed on the computer. (If you want to do this too you’ll have to resize your windows partition beforehand, PartedMagic and gparted will do the job perfectly).
IMPORTANT NOTE : There is a special trick with the sound card on this model.
Thus I highly suggest keeping your Windows partition (and install the Panasonic “Hotkey Appendix” utility if not already present) if you want to be able to unmute the sound.
I created a swap partition so that I can use hibernation (Use at least a partition size equal to the system’s memory size), and a root partition (No separate /home).

Package selection

Do not use “expert” mode.
We want a base system only (and we will add the rest later) so uncheck everything except “base”.

Bootloader

Install GRUB2 on the MBR.

Users

Create a regular user.
End of installation, reboot.

Post-installation configuration

Upon rebooting, you may notice that the splash screen does not disappear…(the splash screen can be disabled by removing the “splash” option in the bootloader’s kernel line). Nevermind, just use Ctrl-Alt-F2 to switch to another tty. Login as root.
TIP : if you need to reconfigure network, just run
# netconfig
then restart the network
# systemctl restart netconfig.service
(yes, Frugalware uses systemd)
First of all I need to install my favorite text editor, and some useful utilities
# pacman -S nano htop iptables
(pacman is a merely a symbolic link to /usr/bin/pacman-g2, Frugalware’s pacman version derived from Arch Linux)
NOTE : when iptables is installed, the firewall is will be started automatically at the next boot.

Configuring the sound

# pacman -S alsa-utils
# alsactl init
# alsamixer
(be sure to keep the annoying 'beep' volume low, or even mute!)
# alsactl store
# aplay /usr/share/sounds/alsa/Noise.wav
Damn, no sound… Wait, there’s a workaround (thanks to http://ubuntuforums.org/showthread.php?t=1138892 ) :
# echo >/etc/modprobe.d/alsa-base.conf 'options snd-hda-intel model=thinkpad'
Reboot again, sound should now be working!
Still no sound? Reboot into your Windows system and make sure the Panasonic “Hotkey Appendix” utility is installed.

Power Management

Make sure the laptop mode tools are installed, and some more useful tools as well
# pacman -S laptop-mode-tools cpupower powertop acpi
Enable laptop mode tools
# systemctl start laptop-mode-tools.service
# systemctl enable laptop-mode-tools.service
Test laptop mode tools
# laptop_mode
Should tell “enabled, not active”
Unplug power chord
# laptop_mode
Should tell “enabled, active”
While on battery, run at least powertop once to see if everything is OK
# powertop
I like laptop mode tools to control the LCD brightness
# nano /etc/laptop-mode/conf.d/lcd-brightness.conf
CONTROL_BRIGHTNESS=1
TODO : some more changes needed for this to work
Use the acpi command to display useful battery info
# acpi
Test suspend to ram
# pm-suspend
Test suspend to disk
# pm-hibernate
Both are working🙂
Test what happens when the lid is closed
(close the lid)
The laptop is not put to sleep, see
# tail /var/log/messages
“ACPI action lid is not defined”
We could change that by editing /etc/apci/acpi_handler.sh
But since I intend to use the XFCE desktop environment, I will define ACPI actions in XFCE’s power manager.
Hardware sensors
# sensors-detect

Installing the XFCE desktop environment

# pacman -S xfce4 xscreensaver gst-plugins-base-alsa
This will install xfce and its dependencies (including the X.Org system). The desktop session manager is LightDM.
Before starting xfce, make sure the intel X.Org video driver is installed. We install the synaptics touchpad driver as well.
# pacman -S xf86-video-intel xf86-input-synaptics
Reboot your system, LightDM should now appear. Log in to XFCE.
TIP : if you don’t want graphical login by default
# rm /etc/systemd/system/default.target
# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
And vice-versa, to enable graphical login again :
# rm /etc/systemd/system/default.target
# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

Wireless network connection management

(The intel wifi 5100 wireless card is supported out of the box)
I like Wicd
# pacman -S wicd
# systemctl disable netconfig.service
# systemctl enable wicd.service
Now wicd will also handle wired network connections as well.

Installing some desktop programs

Open a terminal, switch to root
$ su
Let’s install some web browsers and email client
# pacman -S chromium-browser firefox thunderbird
Some multimedia programs (your mileage may vary)
# pacman -S multimedia xmultimedia audacious radiotray
NOTE : vlc is part of the multimedia package group
TODO : radiotray can’t replay sound (gst error)

XFCE session management

Now, you will notice that when exiting XFCE, you only can disconnect your session. Reboot/Poweroff and sleep modes are grayed out!
This has to do with polkit (PolicyKit) and consolekit.
Install consolekit
# pacman -S consolekit consolekit-x11
(polkit should be installed already)
Polkit needs to be configured to allow regular users to reboot/shutdown
# cat >/etc/polkit-1/localauthority/50-local.d/40-power.pkla <<EOF
[Local restart]
Identity=unix-group:users
Action=org.freedesktop.consolekit.system.restart
ResultAny=yes
ResultInactive=no
ResultActive=yes
[Local shutdown]
Identity=unix-group:users
Action=org.freedesktop.consolekit.system.stop
ResultAny=yes
ResultInactive=no
ResultActive=yes
[Local restart - multiple]
Identity=unix-group:users
Action=org.freedesktop.consolekit.system.restart-multiple-users
ResultAny=yes
ResultInactive=no
ResultActive=yes
[Local shutdown - multiple]
Identity=unix-group:users
Action=org.freedesktop.consolekit.system.stop-multiple-users
ResultAny=yes
ResultInactive=no
ResultActive=yes
[Local suspend]
Identity=unix-group:users
Action=org.freedesktop.upower.suspend
ResultAny=yes
ResultInactive=no
ResultActive=yes
[Local hibernate]
Identity=unix-group:users
Action=org.freedesktop.upower.hibernate
ResultAny=yes
ResultInactive=no
ResultActive=yes
EOF

Restart XFCE if needed.

Now you are able to configure XFCE’s power manager events (Go to Settings>Power Manager)
NOTE : the screen can be automatically locked when suspending/hibernating (XFCE will use xscreensaver. Remember to select a blank screensaver to save battery).

Laptop special keys

The screen brightness up/down keys work out of the box (both under X and in console mode)
The volume up/down and mute hotkeys are working (XFCE)
The “show battery status”/suspend/hibernate hotkeys work (XFCE).

Touchscreen

This laptop is equiped with a Fujitsu USB Touchscreen device. It works out of the box (thanks to X.Org evdev input driver), but it needs to be calibrated.
xinput_calibrator would be the right tool to use, but it isn’t in frugalware’s repository, and I wasn’t able to compile it from the tarball (an error occurs with ./autogen.sh).
So, I compiled it on my main computer running Arch Linux, from the AUR ( http://aur.archlinux.org/packages.php?ID=35031 )
Download the executable xinput_calibrator program here : xinput_calibrator.bin (this is a 64 bit executable!), rename it “xinput_calibrator” and copy it to /usr/bin (as root).
We still need to install some dependencies before running it
# pacman -S gtkmm2
then run (as a regular user)
$ xinput_calibrator
Then create (as root) the /etc/X11/xorg.conf.d/99-calibration.conf file with the output content. Restart X. Touchscreen calibrated!
TODO : reboot/shutdown in lightdm
TODO : fstab optimization (/tmp in tmpfs, noatime…)

References

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