This will take you through the process I went through, as best as I can convey it, from Windows 8 to Gnome 3.8 running on Arch linux.
System Specs
I am just going to do a raw dump of my order confirmation email here most of it is the same as every other Vaio pro
Product: | US-SVP132190X-LBOM |
---|---|
Component: | Kaspersky® Internet Security (30-day trial) |
Component: | 128GB (128GB x1) PCIe solid state drive |
Component: | 8GB (8GB fixed onboard x1) DDR3L-1600MHz |
Component: | Internal lithium polymer battery (4740mAh) |
Component: | No Trusted Platform Module |
Component: | No VGA display adapter |
Component: | Intel® HD Graphics 4400 |
Component: | 4th gen Intel® Core™ i7-4500U (1.80GHz / 3.00GHz with Turbo Boost) |
Component: | Touch screen |
Component: | Windows 8 64-bit |
Component: | Microsoft® Office 2013 trial version |
Component: | No Fresh Start |
Component: | Carbon Black |
Component: | 13.3" Full HD TRILUMINOS for Mobile IPS touch display (1920 x 1080) |
Prep for install
This is based on the state of the world at 30/8/2013. It begins with a brand new, custom built, fresh from China System.
-
Mark as mine (using pen or something)
-
Register with Sony
-
Write Recovery Image to USB (13.5 GB) using Sony’s recovery software (Not the windows recovery stuff though this may not be any different)
-
Download and Write Arch ISO to USB (<1 GB)
-
Update Firmware (this should be doable in linux also)
-
Shut Down and say goodbye to Windows
-
Edit BIOS
-
From a shutdown machine press the sony assist button to boot the desired menu
-
Enable External Boot
-
Disable secure boot
-
Return to assist menu and boot from external device
-
Edit Boot parameters
-
at the arch menu press ‘e’ before it attempts to boot
-
Add libata.force=noncq as a boot parameter (this is done to disable native command queuing which seems to be a problem with this SSD card)
-
press enter to boot into the Arch live disk environment
Mark as mine (using pen or something)
Register with Sony
Write Recovery Image to USB (13.5 GB) using Sony’s recovery software (Not the windows recovery stuff though this may not be any different)
Download and Write Arch ISO to USB (<1 GB)
Update Firmware (this should be doable in linux also)
Shut Down and say goodbye to Windows
Edit BIOS
- From a shutdown machine press the sony assist button to boot the desired menu
- Enable External Boot
- Disable secure boot
- Return to assist menu and boot from external device
Edit Boot parameters
- at the arch menu press ‘e’ before it attempts to boot
- Add libata.force=noncq as a boot parameter (this is done to disable native command queuing which seems to be a problem with this SSD card)
- press enter to boot into the Arch live disk environment
Install Arch
Partition disks
I partitioned with a GUID partition table. I created 3 partitions, boot, root, and home.
-
gdisk /dev/sda (opens the GTP editor)
-
o (command wipes the old table)
-
n (Creates a new partition)
-
Default first sector
-
512M (Last sector for /boot partition)
-
Hex code ef00 (for boot partition)
-
Repeat a-c for 45G / partition and 82G /home use default Hex code
-
w (writes partition to disk and exits)
gdisk /dev/sda (opens the GTP editor)
o (command wipes the old table)
- n (Creates a new partition)
- Default first sector
- 512M (Last sector for /boot partition)
- Hex code ef00 (for boot partition)
- Repeat a-c for 45G / partition and 82G /home use default Hex code
w (writes partition to disk and exits)
Format Partitions
Format partitions as fat32 for the /boot partition, etx4 for the others.
-
mkfs.vfat -F32 /dev/sda1 (Format boot partition as fat32)
-
mkfs -t ext4 /dev/sda2 (Format root partition as ext4)
-
mkfs -t ext4 /dev/sda3 (See above)
mkfs.vfat -F32 /dev/sda1 (Format boot partition as fat32)
mkfs -t ext4 /dev/sda2 (Format root partition as ext4)
mkfs -t ext4 /dev/sda3 (See above)
Mount Partitions
Mount the partitions to proper places for the arch base install from live disk.
-
mount /dev/sda2 /mnt
-
mkdir /mnt/boot
-
mkdir /mnt/home
-
mount /dev/sda1 /mnt/boot
-
mount /dev/sda3 /mnt/home
mount /dev/sda2 /mnt
mkdir /mnt/boot
mkdir /mnt/home
mount /dev/sda1 /mnt/boot
mount /dev/sda3 /mnt/home
Connect to internet
Connect through a USB adapter (the wifi drivers do not come with the install media yet). I had to tether with my phone because I don't have the proper adapter.
-
Connect phone to wifi
-
Connect phone to computer
-
Turn on USB tethering
-
ping google.com (check for proper connection)
Connect phone to wifi
Connect phone to computer
Turn on USB tethering
ping google.com (check for proper connection)
Install Base system and bootloader (grub efi)
I had to edit the mirror list until I found a working mirror for my setup to get this to work. It probably was a time sensitive issue (or a problem with my phone's ips). I got grub to work using this guide here as well as the info about native command queue disabling.
-
pacstrap /mnt base
-
(grub prep)
-
umount /sys/firmware/efi/efivars
-
modprobe -r efivars
-
modprobe efivars
-
genfstab -U -p /mnt >> /mnt/etc/fstab
-
nano /mnt/etc/fstab (check for proper generation)
-
arch-chroot /mnt (enter chroot environment)
-
nano /etc/locale.gen (Uncomment English)
-
locale-gen (build locale or something)
-
echo LANG=en_US.UTF-8 > /etc/locale.conf
-
hwclock --systohc --utc (sync hardware clock)
-
echo pb_lpt > /etc/hostname
-
passwd
-
(Grub install)
-
pacman -S grub efibootmgr
-
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck
-
nano /etc/default/grub (edit to make permanent the disable native command queuing)
-
GRUB_CMDLINE_LINUX_DEFAULT="quiet libata.force=noncq" (make line look like this)
-
grub-mkconfig -o /boot/grub/grub.cfg
-
mv /boot/EFI/grub/*.efi /boot/EFI/Boot/bootx64.efi (move this file so that sony recognizes it. May require creation of new directory. The file may not show up there where I say to move it from but it should exist somewhere, SORRY)
-
exit
-
umount /mnt/{boot,home,}
-
reboot (into new installation)
pacstrap /mnt base
(grub prep)
- umount /sys/firmware/efi/efivars
- modprobe -r efivars
- modprobe efivars
genfstab -U -p /mnt >> /mnt/etc/fstab
nano /mnt/etc/fstab (check for proper generation)
arch-chroot /mnt (enter chroot environment)
nano /etc/locale.gen (Uncomment English)
locale-gen (build locale or something)
echo LANG=en_US.UTF-8 > /etc/locale.conf
hwclock --systohc --utc (sync hardware clock)
echo pb_lpt > /etc/hostname
passwd
(Grub install)
- pacman -S grub efibootmgr
- grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck
- nano /etc/default/grub (edit to make permanent the disable native command queuing)
- GRUB_CMDLINE_LINUX_DEFAULT="quiet libata.force=noncq" (make line look like this)
- grub-mkconfig -o /boot/grub/grub.cfg
- mv /boot/EFI/grub/*.efi /boot/EFI/Boot/bootx64.efi (move this file so that sony recognizes it. May require creation of new directory. The file may not show up there where I say to move it from but it should exist somewhere, SORRY)
exit
umount /mnt/{boot,home,}
reboot (into new installation)
Post installation
This Section contains information about what I did post install to make the system usable.
Connect to Network (temporary)
-
systemctl start dhcpcd.service
-
Enable USB tether on phone or plug in adaptor
-
ping google.com (check that it is working)
systemctl start dhcpcd.service
Enable USB tether on phone or plug in adaptor
ping google.com (check that it is working)
User management
Create a new user with username archy and give elevated privileges
-
useradd -m -g users -s /bin/bash archy
-
cat /etc/group (to review available groups)
-
usermod -aG wheel,disk,games.network,video,audio,storage,power archy (add to other groups)
-
chfn archy (add other information full name phone number etc.)
-
passwd archy
-
pacman -S sudo
-
VISUAL=”/usr/bin/nano -p” visudo
-
(uncomment line “%wheel ALL=(ALL) ALL)
useradd -m -g users -s /bin/bash archy
cat /etc/group (to review available groups)
usermod -aG wheel,disk,games.network,video,audio,storage,power archy (add to other groups)
chfn archy (add other information full name phone number etc.)
passwd archy
pacman -S sudo
VISUAL=”/usr/bin/nano -p” visudo
(uncomment line “%wheel ALL=(ALL) ALL)
Custom kernel (kernel 3.10 does not have what is required)
I could not download kernel directly because of my network setup I assume (probably the same issue that required a diffrent mirror for pacman) so I copied it to USB using another computer. I will admit I have never compiled a custom kernel before and don't really know what I did but it seems to be working wonderfully.
-
Place kernel into ~/kernelbuild
-
sudo pacman -S base-devel (install developer tools)
-
Followed this Here
-
Used .config file from here
-
Before compilation edit this file:
-
~/kernelbuilld/*/drivers/cpufreq/intel_pstate.c
-
...
@@ -522,6 +522,7 @@ static const struct x86_cpu_id intel_pstate_cpu_ids[] = {
ICPU(0x2a, default_policy),
ICPU(0x2d, default_policy),
ICPU(0x3a, default_policy),
ICPU(0x45, default_policy), (Add this line not these words)
{}
};
...
-
Add the last line ICPU(0x45…
-
Continue with Arch guide
-
Boot into new kernel
-
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver (if this shows intel_pstate then it worked)
Place kernel into ~/kernelbuild
sudo pacman -S base-devel (install developer tools)
Followed this Here
- Used .config file from here
- Before compilation edit this file:
- ~/kernelbuilld/*/drivers/cpufreq/intel_pstate.c
- ...
@@ -522,6 +522,7 @@ static const struct x86_cpu_id intel_pstate_cpu_ids[] = {
ICPU(0x2a, default_policy),
ICPU(0x2d, default_policy),
ICPU(0x3a, default_policy),
ICPU(0x45, default_policy), (Add this line not these words)
{}
};... - Add the last line ICPU(0x45…
Continue with Arch guide
Boot into new kernel
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver (if this shows intel_pstate then it worked)
Gnome installation
-
pacman -S x86-video-intel gnome gnome-extra
-
sudo systemctl enable gdm
-
sudo systemctl enable network-manager* (wildcard may not work but I mean enable all of those things that start with network-manager)
pacman -S x86-video-intel gnome gnome-extra
sudo systemctl enable gdm
sudo systemctl enable network-manager* (wildcard may not work but I mean enable all of those things that start with network-manager)
To do
-
I Gnome keeps freezing soon after a reboot. This is fixed by going into a new consle (ctrl+alt+f2) and typing the command pkilll -HUP gnome-shell
I Gnome keeps freezing soon after a reboot. This is fixed by going into a new consle (ctrl+alt+f2) and typing the command pkilll -HUP gnome-shell
Hardware setup
This is more or less a list of things I would like to do/ have done with to get this hardware to work as I want it to. Most of it is guessing as I have not had time to really look into this stuff.
Bios
To do
-
Update Bios using while on linux (don’t know how yet and I don't think there is an update available)
Update Bios using while on linux (don’t know how yet and I don't think there is an update available)
Keyboard
-
Using Gnome-tweak tool change CapsLock to Super (this disables the windows button except on virtual machines..)
Touchpad Trackpad
-
sudo pacman -S x86-input-synaptics
Using Gnome-tweak tool change CapsLock to Super (this disables the windows button except on virtual machines..)
sudo pacman -S x86-input-synaptics
To do
-
There is occasional double bounce with three finger click. Look into that
-
Add three/four finger gestures
-
Switch workspace
-
Switch tab
There is occasional double bounce with three finger click. Look into that
Add three/four finger gestures
- Switch workspace
- Switch tab
Touchscreen
Installed eGTouch driver from aur.
Multi touch seems to work. But not with may apps
HDMI out
-
Video works
Video works
To Do
-
Sound does not make it through…
Sound does not make it through…
USB ports
Work well including the charge while sleeping.
I don't have USB 3 device to test yet
Speakers
Just work
Headphone/speaker jack
Both work
Mics
Seem to work
Camera
Just works so far!
Keyboard backlight
This works well without interference.
To Do
Manual adjustment? I don't need this but I would be interested to know how it might be done
Display
Backlight requires manual adjustment at this point
TO Do
Use ambient light sensor to adjust the display.
GPU
To do
Untested
NFC
Not tested
To Do
Bluetooth
Enable bluetooth service and it will connect... usually.
-
Mouse tested (working)
Mouse tested (working)
To do
-
Does not transfer files between phone and Laptop
-
Test with Keyboard
Does not transfer files between phone and Laptop
Test with Keyboard
Hibernation
To do
Untested
I hope this helps. Please let me know if you have any questions or comments I would love to learn more about these things but I have lost some of my motivation (and time) now that school has started again.
EOF