UEFI下安装archlinux
1 确认启动模式
如果主板支持uefi,arch启动镜像会使用uefi启动,为了确认,显示efivar目录
# ls /sys/firmware/efi/efivars
如果目录不存在,则系统为bios模式启动
2 连接因特网并且更新系统时间
# ping www.baidu.com
# timedatectl set-ntp true
3 分区
使用parted进行分区,键入help查看帮助。 新建分区表
(parted) mklabel
New disk label type? gpt
启动分区
(parted) mkpart ESP fat32 1MiB 513MiB
(parted) set 1 boot on
根目录
(parted) mkpart primary ext4 513MiB 20.5GiB
home目录
(parted) mkpart primary ext4 20.5GiB 100%
parted默认是开启了区块对齐的,可以提高硬盘的读写速度。 如果分区大小不能对齐,parted会显示一下信息。
(parted) mkpart primary fat16 0 32M
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel?
如果分区单位是MiB或者GiB, 默认就是对齐的。
4 格式化
# mkfs.fat -F 32 /dev/sda1
# mkfs.ext4 /dev/sda2
5 挂载
# mount /dev/sda2 /mnt
# mkdir -p /mnt/boot/efi
# mkdir -p /mnt/home
# mount /dev/sda1 /mnt/boot/efi
# mount /dev/sda3 /mnt/home
6 安装基本包
在安装包之前,最好是先设置一下源。 选择所有中国的源
# sed -i '/Score/{/China/!{n;s/^/#/}}' /etc/pacman.d/mirrorlist
base-devel 是常用工具
# pacstrap /mnt base base-devel
7 生成fstab
# genfstab -U /mnt >> /mnt/etc/fstab
8 进入新系统
# arch-chroot /mnt
9 设置当地时间
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# hwclock --systohc
10 设置locale
需要的语言取消注释
# vim /etc/locale.gen
# locale-gen
# echo "LANG=en_US.UTF-8" >> /etc/locale.conf
11 设置主机名
/etc/hostname
myhostname
/etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
127.0.1.1 myhostname.localdomain myhostname
12 网络设置
13 Initramfs
# mkinitcpio -p linux
14 grub
# pacman -S grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory=esp_mount --bootloader-id=grub
15 安装ucode
# pacman -S intel-ucode
16 生成grub.cfg
# grub-mkconfig -o /boot/grub/grub.cfg
17 至此已经安装完毕了,可以退出livecd
18 配置系统
18.1 添加新用户
# useradd -m -G wheel -s /bin/bash archie
18.2 修改sudo
# visudo
允许wheel组使用sudo
18.3 显示驱动
# pacman -S mesa vulkan-intel libva-intel-driver
18.4 桌面环境
# pacman -S gnome
18.5 软件
openssh
clang
git git 设置 socks5 代理
$ git config --global http.proxy 'socks5://127.0.0.1:1080'
chromium 开启硬件加速:
在 chrome://flags 打开:
- Override software rendering list
- GPU rasterization
- Zero-copy rasterizer
打开Native GpuMemoryBuffers Wiki: If “Native GpuMemoryBuffers” under chrome://gpu mentions software renderi you additionally need to pass the –enable-native-gpu-memory-buffers flag, or some optimizations (like the zero-copy rasterizer) won’t do anything
$ echo "--enable-native-gpu-memory-buffers" >> ~/.config/chromium-flags.conf
手动重启chromium.
proxychains-nga 配置 /etc/proxychain.conf
18.6 安装fcitx
# pacman -S fcitx fcitx-gtk3 fcitx-gtk2 fcitx-qt5 fcitx-configtool
由于在wayland下fcitx 无法读取 ~/.xprofile
中的环境变量, 所以为了fcitx正常工作,在 /etc/environment
中添加
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
18.7 配置键盘映射
因为gnome 从3.22开始已经使用wayland了,所以xmodmap不起作用, 又因为设置里还不能设置具体键位映射,只能在udev中配置,将sancodes直接映射为keycodes。 Map scancodes to keycodes
查看keycode,如果不知道是那个event 进入by-id 查看软链接。
# evtest /dev/input/event0
MSCSCAN就是该按键的scancodes。
创建配置文件 使用lsusb,查看键盘vendor id和product id 格式:
KEYBOARD_KEY_<scancode>=<keycode>
keycode可以在
/usr/include/linux/input-event-codes.h (see the KEY_<KEYCODE> variables)
示例配置
/etc/udev/hwdb.d/10-my-modifiers.hwdb
evdev:input:b*v05AFp8277* # was tested on Kensington Slim Type USB (with old ABI)
KEYBOARD_KEY_70039=leftalt # bind capslock to leftalt
KEYBOARD_KEY_700e2=leftctrl # bind leftalt to leftctrl
更新并重载Hardware Database index
# systemd-hwdb update
# udevadm trigger
18.8 设置按键延时和重复速度
使用dconf editor 编辑 这里是按键按下到开始连击的延时,以毫秒计。
/org/gnome/desktop/peripherals/keyboard/delay
这里是按键重复的间隔,以毫秒计。
/org/gnome/desktop/peripherals/keyboard/repeat-interval
18.9 安装aur hleper
选择的是pacaur,依赖于cower
首先需要导入key
$ gpg --recv-keys --keyserver hkp://pgp.mit.edu 1EB2638FF56C0C53
安装
$ git clone https://aur.archlinux.org/cower.git
$ cd cower && makepkg -sri
$ git clone https://aur.archlinux.org/pacaur.git
$ cd pacaur && makepkg -sri