- Date: August 2013
- Instalation ISO: archlinux-2013.07.01-dual.iso
Note:
- Typos are possible
- Looks like most of the issues (battery state problem, multimedia keys, wired connection etc.) are resolved as of BIOS firmware 217 and Linux kernel 3.10
Legend:
<variable>
- change to suit your needs
- Laptop model: Asus N56VZ (BIOS firmware version 216)
- Primary VGA adapter: Intel HD Graphics 4000
- Secondary VGA adpater: nVidia GeForce 650M (NVE0 GK107, Kepler)
- Primary disk: Samsung 840 PRO 128 GB SSD (sda)
- Secondary disk: Western Digital Scorpio Black WDC WD7500BPKT 750 GB (sdb)
- OS: Arch Linux
- Unified Extensible Firmware Interface (UEFI)
- GUID Partition Table (GPT)
- rEFInd boot manager
- Encrypted
home
(performance over security)
- Check current BIOS version: Enter BIOS (F2) => Main => Version
- Save current BIOS configuration (pen & paper)
- Download the latest BIOS firmware from Asus support website
- Unpack downloaded zip file and save the
N56VZAS.<version>
file to FAT 32 formatted USB flash drive - Shut down laptop, plug battery, AC and USB flash drive (unplug everything else)
- Turn on laptop => enter BIOS (F2) => Advanced => Start Easy Flash => Follow instructions
- Re-configure BIOS
Mount instalation ISO.
# mkdir -p /mnt/iso
# mount -o loop archlinux-<release>-dual.iso /mnt/iso
Obtain <label>
from /mnt/iso/loader/entries/archiso-x86_64.conf.
Prepare USB media with partition (GUID) and filesystem (FAT32).
# gdisc /dev/sdX
# mkfs.vfat -F32 /dev/sdX1 -n <label>
Mount USB media and copy the contents of the installation media to the USB media.
# mkdir -p /mnt/usb
# mount /dev/sdX1 /mnt/usb
# cp -a /mnt/iso/* /mnt/usb
# sync
# umount /mnt/{usb,iso}
To test if you have booted into UEFI mode check if directory /sys/firmware/efi has been created
# ls -1 /sys/firmware/efi
Establish an internet connection
# ip link set wlp3s0 up
# wifi-menu wlp3s0
# ping -c 3 www.google.com
- SSD NAND erase block size: 1024 KB (1048576 B)
- SSD NAND page size: 8 KB (8192 B)
- Filesystem block size: 4 KB (4096 B)
stride = SSD erase block size / filesystem block size = 1024 / 4 = 256
stripe-width = stride * N (the number of data-bearing disks i.e. 1 in this case) = stride * 1 = 256
Partition table
# gdisk /dev/sda
Number Start (sector) End (sector) Size Code Name Mount point
1 2048 1050623 512.0 MiB EF00 EFI System /boot/efi (UEFI boot)
2 1050624 1574911 256.0 MiB 8300 Linux filesystem /boot
3 1574912 135792639 64.0 GiB 8300 Linux filesystem /
~54.5 GiB left unallocated
# gdisk /dev/sdb
Number Start (sector) End (sector) Size Code Name Mount point
1 2048 536872959 256.0 GiB 8300 Linux filesystem /home
2 536872960 1375733759 400.0 GiB 8300 Linux filesystem /dump
3 1375733760 1442842623 32.0 GiB 8300 Linux filesystem /var
~10.6 GiB left unallocated
Create filesystems
# mkfs -t vfat -F 32 /dev/sda1
# mkfs -t ext4 -b 4096 -E stride=256,stripe-width=256 /dev/sda2
# mkfs -t ext4 -b 4096 -E stride=256,stripe-width=256 /dev/sda3
# mkfs -t ext4 -b 4096 /dev/sdb2
# mkfs -t ext4 -b 4096 /dev/sdb3
Disk labels
# dosfslabel /dev/sda1 efi
# e2label /dev/sda2 boot
# e2label /dev/sda3 root
# e2label /dev/sdb2 dump
# e2label /dev/sdb3 var
Mounting the partitions
# mount /dev/sda3 /mnt
# mkdir /mnt/boot
# mount /dev/sda2 /mnt/boot
# mkdir /mnt/boot/efi
# mount /dev/sda1 /mnt/boot/efi
# mkdir /mnt/home
# mkdir /mnt/dump
# mount /dev/sdb2 /mnt/dump
# mkdir /mnt/var
# mount /dev/sdb3 /mnt/var
Edit /etc/pacman.d/mirrorlist
(use HTTP mirrors)
# vi /etc/pacman.d/mirrorlist
...
# pacstrap -i /mnt base
If using grub2 then add grub-efi for efi support
# pacstrap -i /mnt base base-devel grub-efi-x86_64
Generate a fstab
# genfstab -U -p /mnt >> /mnt/etc/fstab
Chroot
# arch-chroot /mnt /bin/bash
# vi /etc/locale.gen
...
en_US.UTF-8 UTF-8
...
# vi /etc/locale.conf
...
LANG="en_US.UTF-8"
LC_COLLATE="C"
...
# export LANG=en_US.UTF-8
# locale-gen
# ln -s /usr/share/zoneinfo/<Country>/<City> /etc/localtime
# hwclock --systohc --utc
# date -s <hh>:<mm>:<ss>
# echo <hostname> > /etc/hostname
# pacman -S iw wpa_supplicant wpa_actiond
# pacman -S dialog
# passwd
Reference - https://wiki.archlinux.org/index.php/GRUB
Install grub2
First install the grub, dosfstools, and efibootmgr packages,
# pacman -S grub os-prober dosfstools efibootmgr
# grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=grub --recheck --debug
Fix the bug in /etc/default/grub file to fix broken grub.cfg gen
add
GRUB_DISABLE_SUBMENU=y
in the /etc/default/grub file.
Generate grub config
# grub-mkconfig -o /boot/grub/grub.cfg
Install rEFInd boot loader
# pacman -S refind-efi
# mkdir -p /boot/efi/EFI/refind
# cp /usr/share/refind/refind_x64.efi /boot/efi/EFI/refind/
# cp /usr/share/refind/refind.conf-sample /boot/efi/EFI/refind/refind.conf
# cp -Rv /usr/share/refind/icons /boot/efi/EFI/refind/
# cp -Rv /usr/share/refind/drivers_x86 /boot/efi/EFI/refind/drivers
# ls -l /dev/disk/by-partuuid/ | grep sda3
# vi /boot/efi/EFI/refind/refind.conf
...
timeout 3
textonly 1
showtools reboot, shutdown, firmware
scanfor external, optical, manual
menuentry "Arch Linux" {
volume boot
loader vmlinuz-linux
initrd initramfs-linux.img
options "root=PARTUUID=<partuuid> rootfstype=ext4 rw systemd.unit=graphical.target"
submenuentry "Boot to terminal" {
options "root=PARTUUID=<partuuid> rootfstype=ext4 rw systemd.unit=multi-user.target"
}
submenuentry "Boot fallback image" {
initrd initramfs-linux-fallback.img
options "root=PARTUUID=<partuuid> rootfstype=ext4 rw systemd.unit=multi-user.target"
}
}
...
Add EFI boot entry
# pacman -S efibootmgr
# modprobe efivars
# efibootmgr -c -d /dev/sda -p 1 -l "\EFI\refind\refind_x64.efi" -L "rEFInd" -T
# efibootmgr -v
# exit
# umount /mnt/{home,dump,var}
# umount /mnt/boot/efi
# umount /mnt/boot
# umount /mnt/
# reboot
# cat /dev/zero > /dev/sdb1
# modprobe dm_mod
# cryptsetup -c twofish-xts-plain64 -s 256 -h sha256 --use-random -y luksFormat /dev/sdb1
# cryptsetup -y luksAddKey /dev/sdb1
# cryptsetup luksDump /dev/sdb1
# cryptsetup luksOpen /dev/sdb1 home
# mkfs -t ext4 -b 4096 /dev/mapper/home
# e2label /dev/mapper/home home
# mount /dev/mapper/home /home
# cryptsetup luksUUID /dev/sdb1
# vi /etc/crypttab
...
home UUID=<luks-uuid> none luks
...
# vi /etc/fstab
...
/dev/mapper/home /home ext4 rw,relatime,data=ordered 0 2
...
Note: Work in progress
Does not work properly for all users/scenarios (user 1 login, user 1 logout, user 2 login, su, etc.)
# vi /etc/crypttab
...
home UUID=<luks-uuid> none luks,noauto
...
# vi /etc/fstab
...
# /dev/mapper/home /home ext4 rw,relatime,data=ordered 0 2
...
# pacman -S pam_mount
# vi /etc/security/pam_mount.conf.xml
...
<volume pgrp="users" fstype="auto" path="/dev/sdb1" mountpoint="/home" options="rw,relatime,data=ordered" />
<mkmountpoint enable="1" remove="true" />
</pam_mount>
...
# vi /etc/pam.d/system-auth
...
#%PAM-1.0
auth required pam_unix.so try_first_pass nullok
auth optional pam_permit.so
auth required pam_env.so
auth optional pam_mount.so
account required pam_unix.so
account optional pam_permit.so
account required pam_time.so
password required pam_unix.so try_first_pass nullok sha512 shadow
password optional pam_permit.so
password optional pam_mount.so
session required pam_limits.so
session required pam_unix.so
session optional pam_permit.so
session required pam_env.so
session optional pam_mount.so
...
# pacman -S tomoyo-tools
# vi /boot/efi/EFI/refind/refind.conf
...
menuentry "Arch Linux" {
volume ARCH_BOOT
loader vmlinuz-linux
initrd initramfs-linux.img
options "root=PARTUUID=<partuuid> rootfstype=ext4 rw systemd.unit=graphical.target security=tomoyo TOMOYO_trigger=/sbin/init"
submenuentry "Boot to terminal" {
options "root=PARTUUID=<partuuid> rootfstype=ext4 rw systemd.unit=multi-user.target"
}
submenuentry "Boot fallback image" {
initrd initramfs-linux-fallback.img
options "root=PARTUUID=<partuuid> rootfstype=ext4 rw systemd.unit=multi-user.target"
}
}
...
# /usr/lib/tomoyo/init_policy
# vi /usr/lib/systemd/system/tomoyo-savepolicy.service
...
[Unit]
Description=Tomoyo savepolicy
[Service]
Type=oneshot
ExecStart=/usr/sbin/tomoyo-savepolicy
StandardInput=tty
RemainAfterExit=yes
[Install]
WantedBy=shutdown.target
...
# vi /usr/lib/systemd/system/tomoyo-auditd.service
...
[Unit]
Description=TOMOYO Linux Auditing Daemon
[Service]
Type=forking
ExecStart=/usr/sbin/tomoyo-auditd
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
...
start/stop or enable/disable tomoyo-savepolicy
and tomoyo-auditd
services as needed.
# iptables-restore < /etc/iptables/empty.rules
# iptables -N TCP
# iptables -N UDP
# iptables -P INPUT DROP
# iptables -P FORWARD DROP
# iptables -P OUTPUT ACCEPT
# iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# iptables -A INPUT -i lo -j ACCEPT
# iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
# iptables -A INPUT -p icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
# iptables -A INPUT -p udp -m conntrack --ctstate NEW -j UDP
# iptables -A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP
# iptables -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
# iptables -A INPUT -p tcp -j REJECT --reject-with tcp-rst
# iptables -A INPUT -j REJECT --reject-with icmp-proto-unreachable
# iptables-save > /etc/iptables/iptables.rules
# systemctl enable iptables.service
# systemctl start iptables.service
# systemctl status iptables.service
# vi /etc/sysctl.d/99-sysctl.conf
...
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_forward = 0
net.ipv6.conf.all.forwarding = 0
net.ipv4.conf.all.rp_filter = 1
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.icmp_ignore_bogus_error_responses = 1
...
# mkdir /dump/{misc,music,videos,vdi}
# chgrp users /dump/{misc,music,videos,vdi}
# chmod g+w /dump/{misc,music,videos,vdi}
# mkdir /mnt/{backup,media}
# mkdir /mnt/sdcrd
# mkdir /mnt/usbfd{1,2}
# vi /etc/udev/rules.d/60-schedulers.rules
...
# Set "noop" scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="noop"
# Set "cfq" scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="cfq"
...
Enable SMART if needed
# pacman -S smartmontools
# smartctl -i /dev/sdb
# smartctl -s on /dev/sdb
HDD spins down too often (TODO: Better handling with PM and/or systemd
)
# pacman -S hdparm
# vi /etc/udev/rules.d/75-hdparm.rules
...
ACTION=="add", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", RUN+="/usr/bin/hdparm -B 254 /dev/$kernel"
...
# vi /etc/fstab
...
UUID=<uuid> / ext4 rw,relatime,stripe=256,data=ordered,discard 0 1
UUID=<uuid> /boot ext4 rw,relatime,stripe=256,data=ordered,discard 0 2
UUID=<uuid> /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2
/dev/mapper/home /home ext4 rw,relatime,data=ordered 0 2
UUID=<uuid> /dump ext4 rw,relatime,data=ordered 0 2
UUID=<uuid> /var ext4 rw,relatime,data=ordered 0 2
tmpfs /tmp tmpfs defaults,noatime,mode=1777,size=4G 0 0
...
# systemctl enable netctl-sleep.service
# useradd -m -g users -s /bin/bash <username1>
# useradd -m -g users -s /bin/bash <username2>
# passwd <username1>
# passwd <username2>
# pacman -Syy
Install Xorg server
# pacman -S xorg-server xorg-server-utils xorg-xinit
# pacman -S mesa
Video drivers
# pacman -S xf86-video-intel intel-dri
# pacman -Rdd mesa-libgl
# pacman -S nvidia nvidia-utils
# pacman -S bumblebee bbswitch primus
# usermod -a -G bumblebee <username>
# systemctl enable bumblebeed
# vi /etc/bumblebee/bumblebee.conf
...
Driver=nvidia
...
# vi /etc/bumblebee/xorg.conf.nvidia
...
BusID "PCI:01:00:0"
...
# pacman -S libva-intel-driver libva-vdpau-driver
# pacman -S alsa-utils
# vi /etc/modprobe.d/alsa-base.conf
...
options snd-hda-intel model=asus-mode4
...
# pacman -S xf86-input-synaptics
# pacman -S ttf-dejavu
Login manager / Window manager / Desktop environment
# pacman -S slim
# systemctl enable slim.service
(TODO) # pacman -S i3
# pacman -S xfce4
# pacman -S gamin
# pacman -S xfce4-notifyd
# pacman -S gnome-themes-standard gtk-engine-murrine
# pacman -U zukitwo-themes (https://aur.archlinux.org/packages.php?ID=49377)
# pacman -U arch-start-icons (https://aur.archlinux.org/packages/arch-start-icons/)
# pacman -S faenza-icon-theme faience-icon-theme
# for THEME in `find /usr/share/icons -maxdepth 1 -mindepth 1 -type d`; do gtk-update-icon-cache -t -f $THEME; done;
# su - <username>
$ cp /etc/skel/.xinitrc ~
$ vi ~/.xinitrc
...
exec <session-command>
...
They should work, just map them to commands.
If needed configure module loading
# vi /etc/modules-load.d/asus-nb-wmi.conf
...
asus-nb-wmi
...
# pacman -S base-devel
# pacman -S bash-completion
# pacman -S gptfdisk
# pacman -S ntfs-3g
# pacman -S rxvt-unicode
# pacman -S htop
# pacman -S strace
# pacman -S jre7-openjdk
# pacman -S zip unzip p7zip unrar
# pacman -S openssh
# pacman -S git
# pacman -S subversion
# pacman -S dnsutils
# pacman -S vim
# pacman -S gedit
# pacman -S virtualbox
# pacman -S virtualbox-guest-iso
# pacman -S net-tools
# gpasswd -a <username> vboxusers
# modprobe vboxdrv
# depmod -a
# vi /etc/modules-load.d/virtualbox.conf
...
vboxdrv
vboxnetadp
vboxnetflt
...
# pacman -S php php-pear xdebug
# pacman -S ack
# pacman -S dos2unix
# pacman -S mariadb-clients
# pacman -S geany geany-plugins
# pacman -S eclipse
# pacman -S netbeans
# pacman -U jmeter
# pacman -S python2-pyopenssl python2-lxml python2-setuptools twisted
# pacman -U python2-w3lib python2-queuelib scrapy
# pear config-set auto_discover 1
# pear install pear.phpunit.de/PHPUnit
# vi /etc/php/php.ini
...
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/usr/bin
...
# pacman -S firefox
# pacman -S chromium
# pacman -S flashplugin
# pacman -S filezilla
# pacman -S imagemagick
# pacman -S geeqie
# pacman -S ristretto
# pacman -S gimp
# pacman -S mpv
# pacman -S mupdf
# pacman -S zathura zathura-ps zathura-djvu (zathura-pdf-mupdf ?)
# pacman -S apvlv
# pacman -S evince
# pacman -S arch-wiki-docs
Enable multilib
repository.
# vi /etc/pacman.conf
...
[multilib]
Include = /etc/pacman.d/mirrorlist
...
# pacman -Syy
# pacman -S skype
:: There are 3 providers available for lib32-libgl:
Select: 3) lib32-nvidia-libgl
# mkdir /dump/misc/skype
# chgrp users /dump/misc/skype
# chmod g+w /dump/misc/skype
Set default Skype download directory to /dump/misc/skype
in Skype options.
# vi /etc/tomoyo/exception_policy.conf
...
path_group SKYPE_DIRS /home/\*/.Skype/
path_group SKYPE_DIRS /home/\*/.Skype/\{\*\}/
path_group SKYPE_DIRS /home/\*/.config/Skype/\{\*\}/
path_group SKYPE_DIRS /usr/share/skype/\{\*\}/
path_group SKYPE_DIRS /dump/misc/skype/\{\*\}/
path_group SKYPE_FILES /home/\*/.Skype/\{\*\}/\*
path_group SKYPE_FILES /home/\*/.config/Skype/\{\*\}/\*
path_group SKYPE_FILES /usr/share/skype/\{\*\}/\*
path_group SKYPE_FILES /dump/misc/skype/\{\*\}/\*
path_group SKYPE_FILES /home/\*/.Skype/\*
path_group SKYPE_FILES /home/\*/.config/Skype/\*
path_group SKYPE_FILES /usr/share/skype/\*
path_group SKYPE_FILES /dump/misc/skype/\*
path_group ICONS_DIRS /usr/share/icons/\{\*\}/
path_group ICONS_FILES /usr/share/icons/\{\*\}/\*
path_group ICONS_FILES /usr/share/icons/\*
initialize_domain /usr/bin/skype from any
initialize_domain /usr/lib32/skype/skype from any
...
# vi /etc/tomoyo/domain_policy.conf
...
<kernel> /usr/bin/skype
use_profile 3
use_group 0
misc env \*
file read /bin/bash
file read /usr/bin/bash
file read/write /dev/tty
file read /usr/lib/locale/locale-archive
file read /usr/lib/gconv/gconv-modules
file read /usr/bin/skype
file read /usr/lib32/skype/skype
file execute /usr/lib32/skype/skype exec.realpath="/usr/lib32/skype/skype" exec.argv[0]="/usr/lib32/skype/skype"
<kernel> /usr/lib32/skype/skype
use_profile 3
use_group 0
file append /dev/snd/pcm\*
file chmod /home/\*/.Skype/ 0700
file create /home/\*/.cache/fontconfig/\* 0600-0666
file create /tmp/qtsingleapp-\*-lockfile 0600-0666
file create @SKYPE_FILES 0600-0666
file execute /usr/bin/firefox
file execute /usr/bin/gnome-open
file execute /usr/bin/notify-send
file execute /usr/bin/opera
file execute /usr/bin/xdg-open
file ioctl /dev/snd/\* 0-0xFFFFFFFFFFFFFFFF
file ioctl /dev/video0 0-0xFFFFFFFFFFFFFFFF
file ioctl anon_inode:inotify 0x541B
file ioctl socket:[family=1:type=2:protocol=0] 0x8910
file ioctl socket:[family=1:type=2:protocol=0] 0x8933
file ioctl socket:[family=2:type=1:protocol=6] 0x541B
file ioctl socket:[family=2:type=2:protocol=17] 0x541B
file ioctl socket:[family=2:type=2:protocol=17] 0x8912
file ioctl socket:[family=2:type=2:protocol=17] 0x8927
file ioctl socket:[family=2:type=2:protocol=17] 0x8B01
file link /home/\*/.cache/fontconfig/\* /home/\*/.cache/fontconfig/\*
file mkdir /home/\*/.cache/fontconfig/\* 0600
file mkdir @SKYPE_DIRS 0700-0777
file mksock /tmp/qtsingleapp-\* 0755
file read /dev/urandom
file read /etc/fonts/conf.avail/\*.conf
file read /etc/fonts/conf.d/\*.conf
file read /etc/fonts/fonts.conf
file read /etc/group
file read /etc/host.conf
file read /etc/hosts
file read /etc/machine-id
file read /etc/nsswitch.conf
file read /etc/passwd
file read /etc/resolv.conf
file read /home/\*/.ICEauthority
file read /home/\*/.XCompose
file read /home/\*/.Xauthority
file read /home/\*/.Xdefaults
file read /home/\*/.fontconfig/\*
file read /home/\*/.config/fontconfig/\*
file read /usr/lib/locale/locale-archive
file read /url/lib32/lib\*.so\*
file read /usr/lib32/gconv/UTF-16.so
file read /usr/lib32/gconv/gconv-modules
file read /usr/lib32/libv4l/v4l2convert.so
file read /usr/lib32/qt/plugins/bearer/libq\*bearer.so
file read /usr/lib32/qt/plugins/iconengines/libqsvgicon.so
file read /usr/lib32/qt/plugins/imageformats/libq\*.so
file read /usr/lib32/qt/plugins/inputmethods/libqimsw-multi.so
file read /usr/lib32/skype/skype
file read /usr/share/X11/locale/\*/Compose
file read /usr/share/X11/locale/\*/XLC_LOCALE
file read /usr/share/X11/locale/compose.dir
file read /usr/share/X11/locale/locale.alias
file read /usr/share/X11/locale/locale.dir
file read /usr/share/alsa/alsa.conf
file read /usr/share/alsa/cards/\*.conf
file read /usr/share/alsa/pcm/\*.conf
file read /usr/share/fonts/\*/\*/\*
file read @ICONS_FILES
file read proc:/cpuinfo
file read proc:/stat
file read proc:/sys/kernel/osrelease
file read proc:/sys/kernel/ostype
file read sysfs:/devices/\*/\*/\*/\*/\*/\*/modalias
file read sysfs:/devices/\*/\*/\*/\*/\*/\*/video4linux/video0/dev
file read sysfs:/devices/\*/\*/\*/\*/\*/idProduct
file read sysfs:/devices/\*/\*/\*/\*/\*/idVendor
file read sysfs:/devices/\*/\*/\*/\*/\*/speed
file read sysfs:/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
file read sysfs:/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
file read sysfs:/devices/system/cpu/online
file read/write /dev/snd/\*
file read/write /dev/video0
file read/write/truncate /home/\*/.config/Trolltech.conf
file read/write/unlink /home/\*/.cache/fontconfig/\*
file read/write/unlink /tmp/qtsingleapp-\*
file read/write/unlink/truncate @SKYPE_FILES
file rename /home/\*/.cache/fontconfig/\* /home/\*/.cache/fontconfig/\*
file rename @SKYPE_DIRS @SKYPE_DIRS
file rename @SKYPE_FILES @SKYPE_FILES
file rmdir @SKYPE_DIRS
misc env \*
network inet dgram bind 0.0.0.0 0-65535
network inet dgram bind 127.0.0.1 0
network inet dgram bind/send 0.0.0.0-255.255.255.255 0-65535
network inet stream bind/listen 0.0.0.0 0-65535
network inet stream connect 0.0.0.0-255.255.255.255 0-65535
network unix stream bind/listen /tmp/qtsingleapp-\*
network unix stream connect /tmp/.ICE-unix/\*
network unix stream connect /tmp/qtsingleapp-\*
network unix stream connect /var/run/dbus/system_bus_socket
network unix stream connect /var/run/nscd/socket
network unix stream connect \000/tmp/.ICE-unix/\*
network unix stream connect \000/tmp/.X11-unix/X0
network unix stream connect \000/tmp/dbus-\*
<kernel> /usr/lib32/skype/skype /usr/bin/xdg-open
use_profile 0
use_group 0
<kernel> /usr/lib32/skype/skype /usr/bin/gnome-open
use_profile 0
use_group 0
<kernel> /usr/lib32/skype/skype /usr/bin/notify-send
use_profile 0
use_group 0
...
# tomoyo-loadpolicy -df < /etc/tomoyo/domain_policy.conf
# tomoyo-loadpolicy -ef < /etc/tomoyo/exception_policy.conf
-- placeholder --
- Mobile internet
- ! Implement backup strategy (data, LUKS headers)
- Netctl (wifi-menu) passphrase obfuscation (256-bit PSK)
- pam_mount with login (started)
- Wide boot screen framebuffer
- Log boot/shutdown messages
- Check journalctl log (journalctl -xb ???)
- ! Log boot/shutdown messages and troubleshoot/fix errors/warnings
- ! Troubleshot "Failed unmounting /var" error
- Troubleshoot "Failed unmounting /var" error
- Troubleshoot
docfslabel /dev/sda1
- Dirty bit is set. Fs was not properly unmounted... - Post synaptic config
- Post Geany config
- Post /etc/adobe/mms.cfg config
- Post /etc/pacman.conf
- Post ~/.config/xfce4/ configs
- Post
.bash_profile
,~/.bashrc
for user and root - Post
.mpv/config
- "/dump" dir - set proper umask for sub dirs; use gsid, group sticky bit or acl (already installed)
- Post ~/.config/user-dirs.dirs
- Install Tor
- Troubleshot "mei_me 0000:00:16.0: reset: init clients timeout hbm_state = 1." https://bugs.archlinux.org/task/36288?dev=162
- Looks like
Mod4 + Shift + <key>
doesn't work as Xfce keyboard shorcut - Sandbox more application with TOMOYO (Firefox, Chromium, Evince, etc.)
- Ignore
/home, /media, /mnt, etc.
forupdatedb
(/etc/updatedb.conf) - https://bbs.archlinux.org/viewtopic.php?id=105431
- Check warnings (on kernel upgrade): [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: bfa [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: aic94xx [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: smsmdtv
- Tweak SSH
- Compare /usr/lib/sysctl.d/50-default.conf and /etc/sysctl.d/99-sysctl.conf
- If possible, create (wifi-menu generate) new netctl profile with default timeout values higher (30 sec)
- https://wiki.archlinux.org/index.php/xfce#Menu_applet_replacement
- https://wiki.archlinux.org/index.php/xfce#Removing_entries_from_the_System_menu
- Pimp Geany (plugins, preferences)
- Test automatic SSD trim
- Try Ranger file manager http://nongnu.org/ranger/
- Power management
- Commands (standby/poweroff): systemd (sleep/resume hooks supported; PM hooks handled by TLP)
- Power management: TLP (
pm-utils
not a dependency as of 3.10;udev
tiggers sleep/resume events as of 3.10)
hdparm
PM setting (set byudev
rule) resets after wake up from standby- WiFi LED indicator is off after wake up from standby
- BIOS security section - Check doc how to configure
- Migrate
/usr/local/bin
scripts and publish them to dotfiles repo
Installation
- https://wiki.archlinux.org/index.php/Solid_State_Drives
- http://askubuntu.com/questions/18903/how-to-enable-trim/19480#19480
- http://serverfault.com/questions/307397/verify-trim-support-with-btrfs-on-ssd/401506#401506
- https://wiki.archlinux.org/index.php/Beginners'_Guide
- http://pcavdisor.blogspot.com/2012/11/beginners-guide-to-installing-archlinux.html
Configuration
- https://wiki.archlinux.org/index.php/Fstab
- https://wiki.archlinux.org/index.php/Locale
- https://wiki.archlinux.org/index.php/Time
- https://wiki.archlinux.org/index.php/Ramdisk
- https://wiki.archlinux.org/index.php/Users_and_Groups
- https://wiki.archlinux.org/index.php/Systemd
- https://wiki.archlinux.org/index.php/Fonts
- https://wiki.archlinux.org/index.php/Font_Configuration
- https://wiki.archlinux.org/index.php/Mkinitcpio
- https://wiki.archlinux.org/index.php/Sysctl
Bootloader
- https://wiki.archlinux.org/index.php/Arch_Boot_Process
- http://www.rodsbooks.com/efi-bootloaders/installation.html
- http://www.rodsbooks.com/efi-bootloaders/syslinux.html
- https://wiki.archlinux.org/index.php/Syslinux
- https://wiki.archlinux.org/index.php/UEFI_Bootloaders#SYSLINUX_6.xx
- http://www.syslinux.org/wiki/index.php/SYSLINUX
- https://wiki.archlinux.org/index.php/UEFI_Bootloaders#Using_rEFInd
Pacman
- https://wiki.archlinux.org/index.php/Pacman
- https://www.archlinux.org/news/having-pacman-verify-packages/
- https://wiki.archlinux.org/index.php/Pacman-key
Security
- https://wiki.archlinux.org/index.php/SHA_password_hashes
- https://wiki.archlinux.org/index.php/Disk_Encryption
- https://wiki.archlinux.org/index.php/Dm-crypt_with_LUKS
- http://stolowski.blogspot.com/2011/06/debian-60-encrypting-home-partition.html
- http://unixfuntime.wordpress.com/2012/08/20/luks-passphrases-changing-adding-removing/
- https://wiki.archlinux.org/index.php/Pam_mount
- http://www.redhat.com/archives/pam-list/2012-April/msg00000.html
- http://www.alaux.net/index.php?article29/transparent-encrypted-partition-unlocking-locking-at-login-unlogin-in-arch-linux
- https://wiki.archlinux.org/index.php/TOMOYO_Linux
- http://tomoyo.sourceforge.jp/2.5/index.html.en
- http://elinux.org/TomoyoLinux
- http://stolowski.blogspot.de/2010/12/tomoyo-linux-5-tips-to-streamline-your.html
- https://wiki.archlinux.org/index.php/Netctl#Passphrase_obfuscation_.28256-bit_PSK.29
- http://www.cyberciti.biz/tips/howto-log-user-activity-using-process-accounting.html
Networking
- Wired networking supported via dkms-alx (built into kernel as of 3.10)
- https://bbs.archlinux.org/viewtopic.php?id=170110
- http://blog.mgechev.com/2012/08/19/asus-n56vz-ubuntu-12-04-en/
- https://wiki.archlinux.org/index.php/Network_Configuration
- https://wiki.archlinux.org/index.php/Wireless_Setup
- https://wiki.archlinux.org/index.php/Netctl
- https://wiki.archlinux.org/index.php/NetworkManager
Graphics
- https://wiki.archlinux.org/index.php/Intel_Graphics
- https://wiki.archlinux.org/index.php/NVIDIA
- https://wiki.archlinux.org/index.php/Bumblebee
- http://eternalvoid.net/tutorials/linux-optimus-gt650m/
- https://wiki.archlinux.org/index.php/VDPAU
Sound
- http://linux-stoianov.blogspot.com/2012/10/subwoofer-of-asus-n56vz.html
- http://blog.mgechev.com/2012/08/19/asus-n56vz-ubuntu-12-04-en/
Touchpad
- https://wiki.archlinux.org/index.php/Touchpad_Synaptics
- http://www.x.org/archive/X11R7.5/doc/man/man4/synaptics.4.html
- https://bbs.archlinux.org/viewtopic.php?id=148028
- https://bbs.archlinux.org/viewtopic.php?pid=1169227#p1169227
- https://wiki.archlinux.org/index.php/Touchpad_Synaptics/10-synaptics.conf_example
- https://github.com/leodido/elantech-clickpad-fix
- https://wiki.archlinux.org/index.php/ASUS_Zenbook_Prime_UX31A#Touchpad
- http://stray-notes.blogspot.com/2010/11/disable-annoying-touchpad-in-xfce4.html
Extra (function/multimedia) keys
- https://bbs.archlinux.org/viewtopic.php?id=153987
- https://bbs.archlinux.org/viewtopic.php?pid=1273873
- https://bbs.archlinux.org/viewtopic.php?id=162643
- https://bbs.archlinux.org/viewtopic.php?id=162532
- http://askubuntu.com/questions/156708/how-to-get-multimedia-keys-working-at-my-asus-n56vz-ubuntu-12-04-notebook
- http://blog.mgechev.com/2012/08/19/asus-n56vz-ubuntu-12-04-en/
- https://wiki.archlinux.org/index.php/ASUS_Zenbook_Prime_UX31A#Function_keys
- https://wiki.archlinux.org/index.php/Extra_Keyboard_Keys
- https://wiki.archlinux.org/index.php/Extra_Keyboard_Keys_in_Xorg
Software
- https://wiki.archlinux.org/index.php/SLiM
- https://wiki.archlinux.org/index.php/I3
- http://i3wm.org/docs/
- https://faq.i3wm.org/question/25/how-to-launch-applications-in-i3/
- https://wiki.archlinux.org/index.php/Xfce
- https://wiki.archlinux.org/index.php/Xdg_user_directories
- https://wiki.archlinux.org/index.php/List_of_Applications
- https://wiki.archlinux.org/index.php/List_of_Applications/Utilities
- https://wiki.archlinux.org/index.php/Rxvt-unicode
- https://wiki.archlinux.org/index.php/VirtualBox
- https://wiki.archlinux.org/index.php/Firefox
- https://wiki.archlinux.org/index.php/Firefox_Ramdisk
- https://wiki.archlinux.org/index.php/Firefox_Tweaks
- https://wiki.archlinux.org/index.php/Chromium
- https://wiki.archlinux.org/index.php/Mpv
- https://wiki.archlinux.org/index.php?title=Getting_PKGBUILDS_From_SVN
Performance
- https://wiki.archlinux.org/index.php/Maximizing_Performance
- https://wiki.archlinux.org/index.php/Improve_Boot_Performance
Power management
- https://wiki.archlinux.org/index.php/Power_saving
- https://wiki.archlinux.org/index.php/Power_Management
- https://wiki.archlinux.org/index.php/pm-utils
- https://wiki.archlinux.org/index.php/ACPI_modules
- https://wiki.archlinux.org/index.php/CPU_Frequency_Scaling
- https://wiki.archlinux.org/index.php/TLP
- https://wiki.archlinux.org/index.php/Backlight
- https://bugs.launchpad.net/ubuntu/+source/upower/+bug/1088146
- http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug
- http://upower.freedesktop.org/
- https://wiki.archlinux.org/index.php/Hdparm
- http://askubuntu.com/questions/285434/is-there-a-power-saving-application-similar-to-jupiter
- https://wiki.archlinux.org/index.php/Laptop
- http://superuser.com/questions/323484/what-do-the-power-management-tools-in-linux-do-acpi-pm-utils-etc
- https://wiki.archlinux.org/index.php/ASUS_Zenbook_Prime_UX31A#Kernel_Parameters
- https://bbs.archlinux.org/viewtopic.php?pid=1030495#p1030495
- https://wiki.ubuntu.com/Kernel/PowerManagement/PowerSavingTweaks
Misc
- https://wiki.archlinux.org/index.php/General_Recommendations
- https://wiki.archlinux.org/index.php/Arch_Linux_System_Maintenance
- https://wiki.archlinux.org/index.php/Enhancing_Arch_Linux_Stability
- https://wiki.archlinux.org/index.php/Laptop
- http://ubuntuforums.org/showthread.php?t=2084696
- https://wiki.archlinux.org/index.php/S.M.A.R.T.
- https://wiki.archlinux.org/index.php/Persistent_block_device_naming
- https://github.com/helmuthdu/aui
- https://wiki.archlinux.org/index.php/Secure_Shell
- https://wiki.archlinux.org/index.php/Bash
- http://www.reactivated.net/writing_udev_rules.html
Backup
- https://wiki.archlinux.org/index.php/Backup_Programs
- http://superuser.com/questions/53978/ubuntu-automatically-mount-external-drives-to-media-label-on-boot-without-a-u
- http://ninetynine.be/blog/2009/03/ubuntu-backup-to-usb-drive-on-mount/
Post guide here :)