Difference between revisions of "UMID SE"

From ArchWiki
Jump to: navigation, search
m
m (Set up a wireless connection)
Line 11: Line 11:
 
  iwconfig wlan0 essid "your_wlan_essid"
 
  iwconfig wlan0 essid "your_wlan_essid"
 
  dhcpcd wlan0
 
  dhcpcd wlan0
If your wlan is encrypted, follow the instructions in the  [[Beginners' Guide#Setup_wireless_in_the_live_environment_.28optional.29 Beginner's Guide]]. If it's not encrypted but requires to login at a captive portal, you can use {{ic|elinks}} to enter your credentials.
+
If your wlan is encrypted, follow the instructions in the  [[Beginners' Guide#Setup wireless in the live environment (optional)|Beginner's Guide]]. If it's not encrypted but requires to login at a captive portal, you can use {{ic|elinks}} to enter your credentials.
  
 
===Partition the SSD===
 
===Partition the SSD===

Revision as of 12:43, 23 December 2011

work in progress 24 DEC 2011

Introduction

This guide assumes that you are experienced in installing Archlinux. If you are not experienced, please read this guide in parallel with the Beginners' Guide or the Official Installation Guide. No assumptions are made on your desired environment (DE/WM). Boot the archlinux installer from the USB medium and log in as root.

Installing Archlinux

Set up a wireless connection

Since you don't have any ethernet, you'll need to manually configure your network before starting the setup. Here, we assume that the wlan is not encrypted:

ip link set wlan0 up
iwconfig wlan0 essid "your_wlan_essid"
dhcpcd wlan0

If your wlan is encrypted, follow the instructions in the Beginner's Guide. If it's not encrypted but requires to login at a captive portal, you can use elinks to enter your credentials.

Partition the SSD

You'll also need to manually format the SSD before using the installer. Use GPT as described in the SSD Article. This ensures that your partitions are properly aligned. Install and run it:

pacman -S gptfdisk
gdisk /dev/sda

Type o to clear out the partition table and then create at least 3 partitions by typing n and answering the questions (type ? or m for help). You need at least a 2MiB Partition at the beginning for the boot loader as well as a bit more than 1GiB of swap space to be able to use hibernation. Your partition table should look something like this in the end (for example using 8GiB for / and the rest for /home :

Number  Start (sector)    End (sector)  Size       Code  Name
  1            2048            6143   2.0 MiB     EF02  BIOS boot partition
  2            6144         2463743   1.2 GiB     8200  Linux swap
  3         2463744        19240959   8.0 GiB     8300  Linux filesystem
  4        19240960        61865950   20.3 GiB    8300  Linux filesystem

Type w to write the partition table.

Run the installer

Progress through the installer as usual, but mind these things:

  • When configuring the hard drive, select to configure the mountpoints manually and choose the mountpoints accordingly. Regarding filesystems, you can select ext2 for the BIOS boot partition. For the root and any other regular partitions ext4 is a good choice.
  • You absolutely have to select wireless-tools from core to be installed in order to be able to connect to the wlan in your freshly installed system. You may also want to select netcfg.
  • When editing the config files, edit /etc/fstab and add the noatime,nodiratime,discard options to your ext4 partitions. Also remove network from the DAEMONS array in /etc/rc.conf.
  • Skip the bootloader installation, exit the installer and do not reboot!

Manually install the bootloader

Prepare the environment:

cp /etc/resolv.conf /tmp/install/etc/resolv.conf
modprobe dm-mod
mount -o bind /dev /mnt/dev
mount -t proc /proc /mnt/proc/
mount -t sysfs /sys /mnt/sys/

Chroot into your fresh installation:

chroot /mnt bash

Install grub2:

pacman-db-upgrade
pacman -Syy
rm -rf /boot/grub
pacman -S grub2-bios
grub_bios-install --boot-directory=/boot --no-floppy --recheck --debug /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

Now you're ready to reboot!

Configure the fresh system

Configure CPU scaling and thermal monitoring

The UMID SE can get quite hot because of the relatively powerful CPU and lack of air flow. This happens especially when charging the batteries. Keep an eye on the thermals at all times. Refer to #dzen dzen for an example on how to do this efficiently. Install Cpufreq cpufrequtils and Lm_sensors lm_sensors:

pacman -S cpufrequtils lm_sensors

Edit the governor line in /etc/conf.d/cpufreq selecting the ondemand governor. No other options are required.

governor="ondemand"

Run sensors-detect and hit enter answering YES to all questions.

sensors-detect

In /etc/rc.conf add acpi_cpufreq to the MODULES array and @cpufreq to the DAEMONS array:

MODULES=(acpi_cpufreq)
DAEMONS=(syslog-ng @crond @cpufreq @sensors)

Reboot to apply the changes. As a quick way of checking what's going on you can run something like this:

watch -n 0.5 "cat /proc/cpuinfo | grep MHz; sensors"

Install the graphics drivers

After a reboot into your new system, install the drivers required for the poulsbo chipset. There are several drivers and they're all terrible. The probably best option at the time of writing is the pbs_gfx driver used with fbdev. The performance (for playing videos for example) will nevertheless be awful but it works well for regular work. Install it as follows: Add psb_gfx to MODULES in /etc/mkinitcpio.conf and rebuild the kernel initramfs:

mkinitcpio -p linux

Install the fbdev driver:

xf86-video-fbdev

You should now be able to install and run X.

Install all your usual stuff

Install Xorg and whatever DE/WM you want to use. Launch X.

Configure touch screen and optical mouse

TODO

Configure all special keys

Create a file /lib/udev/keymaps/umid-se containing:

0xEE battery           # Fn+Q
0xDF sleep             # Fn+W
0xD5 switchvideomode   # Fn+E
0xF0 record            # Fn+R
0xF6 camera            # Fn+T
0xF9 brightnessdown    # Fn+A
0xF8 brightnessup      # Fn+S
0xA0 mute              # Fn+D
0xAE volumedown        # Fn+F
0xB0 volumeup          # Fn+G
0xFC wlan              # Fn+J
Edit /lib/udev/rules.d/95-keymap.rules adding this after
Template error: are you trying to use the = sign? Visit Help:Template#Escape template-breaking characters for workarounds.
:
ENV{DMI_VENDOR}=="UMiDCorp", ATTR{[dmi/id]product_name}=="M-BOOK", RUN+="keymap $name umid-se"

The above vendor and product IDs can be found under /sys/class/dmi/id/. Reboot to apply the changes.

Configure suspend and hibernation

TODO