·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -·
一、分区
分区不多说了,我用的是parted。给系统分了30G,给swap4G,ESP分区512M。
注意用parted分区结束后要用mkfs.ext4来格式化。swap分区要用mkswap。
二、挂载分区
使用mount命令挂载各个分区到/mnt。
mount /dev/sda6 /mnt //这个是主分区
mkdir /mnt/boot/efi
mount /dev/sda1 /boot/efi //这个是ESP分区
swapon /dev/sda2 //激活swap分区
三、安装主系统
1、编辑/etc/pacman.d/mirrorlist,把中国的服务器地址拷贝到文件最前面。我用的是阿里云的源。
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
2、执行pacstrap来安装主系统。
pacstrap /mnt base
四、基础配置
1、生成fstab文件用于开机自动挂载文件系统。
genfstab -p -U /mnt >> /mnt/etc/fstab
其中的-U是用指定用分区的UUID来标记,也可以换成-L来用磁盘label标记。
2、chroot到新系统
arch-chroot /mnt
3、配置时区
ln -s /usr/share/zoneinfo/zone/subzone /etc/localtime
这里我具体的命令是
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
注意:这里用的ln命令可以用绝对路径也可以用相对路径(使用相对路径时,用..来表示软链接文件所在的父亲目录),绝对不可以cd到对应时区所在文件夹再直接ln -s当前时区文件。如这样的用法是错误的:
cd /usr/share/zoneinfo/Asia/
ln -s Shanghai /etc/localtime
4、设置时间标准
使用hwclock来生成/etc/adjtime文件。
hwclock –systohc –utc
这句命令调整时间标准为UTC时间(把BIOS上的时间视为格林尼治时间,其它时区根据它换算)。这样做对于计算夏令时有好处,但是windows使用的是另一种时间标准(localtime,把BIOS时间视为当地区时),这里我让windows做出妥协,把windows的时间标准设置为UTC。
拷贝下面代码,创建一个reg文件(如tmp.reg),然后双击运行,重启系统。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
“RealTimeIsUniversal”=dword:00000001
对于64位系统,如果上面的方式不奏效的话,尝试把dword换成qword(我的64位win8.1奏效)。
5、配置区域设置
编辑/etc/locale.gen文件,把里面需要的区域的注释标记去掉。然后执行locale-gen命令。
添加LANG=your_locale到/etc/locale.conf文件。
示例:LANG=en_US.UTF-8 (针对默认英文)或LANG=zh_CN.UTF-8(默认中文)
还可以编辑vconsole.conf文件(配置virtual console 的KEYMAP与FONT),不过我这里暂时没遇到什么问题就没去管它。
6、编辑计算机名
hostnamectl set-hostname myhostname
生成/etc/hostname文件。
然后修改/etc/hosts文件。
nano /etc/hosts
替换hostname。
7、配置网络
A、安装对应网卡驱动
我的是broadcom网卡,到archlinux的AUR上下载broadcom-wl-dkms包并安装。(也可以用yaourt装)
此时用ip link就可以看到网络接口了(无线接口一般以w开头,比如wlan0,wlp4s0)
B、配置无线管理软件
强烈建议装networkmanager,能自动配置以太网连接和无线连接。
pacman -S networkmanager
systemctl enable NetworkManager
如果不装networkmanager,重启后用
dhcpcd
dhcpcd eth0
来打开以太网连接,用wifi-menu来连接无线网。注意:后两者不能同时运行。
8、生成ramdisk文件
mkinitcpio -p linux
9、配置root用户密码
passwd
10、配置日常用户
useradd -m -g initial_group -G additional_groups -s login_shell username
其中-m创建/home/username目录,-g定义用户初始化登陆时所在的用户组(如果省略则会创建一个和用户同名的组,并让用户默认加入这个组),-G定义用户所在的其它组,-s定义用户默认登陆所使用的shell。
示例:
useradd -m -g users -G wheel -s /bin/bash mhlwsk
wheel是管理组,方便sudo提权(可以用visudo来改)
passwd username
给新用户创建密码。
11、安装配置引导
我是UEFI引导,这里只介绍UEFI引导的配置。
arch-chroot /mnt /bin/bash
grub-install –target=x86_64-efi –efi-directory=/boot/efi –bootloader-id=grub
其中–bootloader-id就是引导软件在EFI启动项中显示的名字。
这一步结束后grub的主目录会被创建在/boot/grub/
然后创建grub主配置文件。
grub-mkconfig -o /boot/grub/grub.cfg
12、重启
A、用exit或Ctrl+D离开chroot环境。
B、用umount -R /mnt卸载所有分区(这样做的好处是可以避免直接重启强行卸载正在读写的分区)
C、输入reboot重启
四、选择性配置
1、安装显卡驱动和触摸板驱动
pacman -S xf86-video-intel xf86-input-synaptics
2、安装xorg server
pacman -S xorg-server xorg-server-utils
3、安装桌面环境
我这里装kde。
pacman -S plasma
systemctl enable sddm
第二句命令是开机启动sddm display manager。
4、字体渲染
我使用infinality-ultimate来进行字体渲染。
添加
[infinality-bundle-fonts]
Server = http://bohoomil.com/repo/fonts
到/etc/pacman.conf结尾。
然后导入密钥:
pacman-key -r keyid
最后
pacman -Syy
pacman -S infinality-bundle
5、添加multi-arch
编辑/etc/pacman.conf,把
#[multilib]
#Include = /etc/pacman.d/mirrorlist
这两行取消注释,然后pacman -Syy