First thing after the installation has completed is to finish the SSD configuration and disks layout. You’ll need to shrink the Windows partition (or may be even deleted) to allow partitions like HOME and VAR. How you’ll do it is up to you – I’ve used gparted and shrinked the Windows part to 80GB like this:
All free space was used for and LVM partition, with an exception of a small 1GB part which was designated for a BOOT partition (it is not used currently, but you never know :-). Out of the 200GB LVM I’ve carved 4GB for /var/log, 4GB for swap and 140GB for /home, so the final layout of all volumes is:
[root@yggdrasil ~]# lvdisplay | egrep '(LV|VG) (Name|Size)' LV Name /dev/vg_ssd/fc16_root VG Name vg_ssd LV Size 20.00 GiB LV Name /dev/vg_hdd/home VG Name vg_hdd LV Size 140.00 GiB LV Name /dev/vg_hdd/swap VG Name vg_hdd LV Size 4.00 GiB LV Name /dev/vg_hdd/fc16_log VG Name vg_hdd LV Size 4.00 GiB
Why I moved that partitions there?
- /var/log – to minimize the SSD writes
- swap – to minimize the SSD writes (it is not used any way so I don’t care about the performance)
- /home – this is the place where I keep all my data, so it cannot be accommodated on the SSD anyway, minimizing writing on the SSD is also a factor here
To further minimize the write operations on the SSD /tmp was moved into RAM with simple modification of /etc/fstab:
[root@yggdrasil ~]# cat /etc/fstab /dev/mapper/vg_ssd-fc16_root / ext4 defaults,relatime,discard 1 1 /dev/mapper/vg_hdd-fc16_log /var/log ext4 defaults 1 2 UUID=bcbe3b92-71bb-4587-a0e4-7615b06cf637 /boot ext4 defaults,relatime,discard 1 2 UUID=3731-23C5 /boot/efi vfat umask=0077,shortname=winnt 0 0 /dev/mapper/vg_hdd-home /home ext4 defaults 1 2 /dev/mapper/vg_hdd-swap swap swap defaults 0 0 tmpfs /tmp tmpfs defaults,relatime,nodev,nosuid,mode=1777 0 0
This leads to one more thing that should be added to that file – the relatime and discard options for the filesystems formated on the SSD.
- discard – this allows the filesystem to inform which disk blocks are freed and not used – for SSD that translates to the so called TRIM command
- relatime – this instructs the filesystem to update the access time of each file only after it was modified or changed, otherwise by default every time a file is read, its access time is modified which results into writes onto the SSD disk
How are the partitions moved?
- /var/log – switch to console terminal and login as root
telinit 1 mkdir /mnt/log mkfs.ext4 /dev/mapper/vg_hdd-fc16_log mount /dev/mapper/vg_hdd-fc16_log /mnt/log mv /var/log/* /mnt/log umount /mnt/log mount /dev/mapper/vg_hdd-fc16_log /var/log restorecon /var/log telinit 5
swapoff -a mkswap /dev/mapper/vg_hdd-swap swapon /dev/mapper/vg_hdd-swap
- /home – logoff from your X session again switch to console terminal
mkdir /mnt/home mkfs.ext4 /dev/mapper/vg_hdd-home mount /dev/mapper/vg_hdd-home /mnt/home mv /home/* /mnt/home umount /mnt/home mount /dev/mapper/vg_hdd-home /home restorecon /home
2. Fedora repositories
This is quite straight forward. Just a list of repositories and why I’ve added them
- Adobe repositories – the 32bit one I’ve added because of Acrobat Reader that I occasionally happen to use (when I really Adobe’s PDF reader – usually I’m OK with Okular) and the 64bit is added because of 64bit flash-plugin
[adobe-linux-i386] name=Adobe Systems Incorporated baseurl=http://linuxdownload.adobe.com/linux/i386/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux [adobe-linux-x86_64] name=Adobe Systems Incorporated baseurl=http://linuxdownload.adobe.com/linux/x86_64/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
- RPM Fusion repository (both free and non-free) – this is the main third party repository for Fedora that I’m using containing many, many of packages that are not included by default in Fedora repos because of copyright/licensing.
- Infinality repo – this is one of the well kept secret repo that every fedora user should enable. This one ships modified versions of freetype library packages and the difference in font rendering is unbelievable. There are tons of options that you could modify its behaviour and how the fonts are rendered, but I’ll not comment them here. Just install this package to enable it.
So I think this is it for the initial installation. There are of course more topics that must be added to make this install more “perfect” (not that it is possible to achieve that state :-). I’ll just list them here for now and later when I have articles on them I’ll link them here. The things that I’ve already worked on are:
- Powersaving – this can make a huge difference in battery life
- Docking Station – seamlessly docking and undocking the laptop, regardless of the state of the OS – powered off, suspended or working and getting what is expected – switching of the user interface on the correct display, whether there is a user logged in or not and we are at the login screen – this is something that deserves a separate post.
- Thinkpad / X220 specific configuration – getting most of your Thinkpad obviously requires additional software and efforts
- Desktop config / Eyecandy – this is mostly a matter of personal taste, so I’ll just share mine 🙂