Arch安装配置

Sun 20 April 2014 by wbn

使用archlinux大概也有一年多的时间了,之间安装系统这件事估计两只手已经数不过来了。不过 倒不是因为arch会经常崩,反而只要每天升级前看一下arch官网挂出来的提示,一般都没有遇到 大的升级后无法正常使用的情况。第一次安装配置的时候要花一两天的时间,而现在基本半个 钟就可以完成安装和基本配置的工作了,不过每次安装都要参考官网的Beginners' guide 。所以,要好好把这个流程梳理出来,形成一篇自己的Beginners' guide吧。

准备阶段

每次安装采用的都是U盘安装,U盘安装比较方便易行,不受什么其他的限制吧。整个操作也是非 常简单的。只需要简单的dd就可以了。

dd if=archlinux.iso of=/dev/sdX

安装阶段

和一般的操作系统安装的流程类似,arch的安装也是要分区,拷贝系统,进行配置的操作。不过 这些操作中在其他的操作系统的安装过程中会通过和用户的交互来进行,而arch的安装则是要自 己输入命令来完成了。

基本安装

用制作好的U盘系统盘启动,会进入到一个root登录的小的arch系统。我们就在这个系统下进行对 自己的硬盘上的系统的安装。

配置网络

进入了小的arch系统后,这个系统是没有联网的,也不会像平常的系统那样会自动连接无线热点 ,而且没有图形界面,所以就需要自己配置网络。对了,当然如果你的上网方式是dhcp,那就方 便地可以省略网络配置这一项了。因为我都是给笔记本安装arch系统,直接用无线热点,所以这里 就只写一下无线的配置方法了。

首先查看你的无线设备的接口名称:

ip link
---
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 20:1a:06:c5:ee:11 brd ff:ff:ff:ff:ff:ff
3: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000 link/ether ac:7b:a1:52:09:b3 brd ff:ff:ff:ff:ff:ff

一般情况下w开头的名字就是你需要的接口名了

打开无线接口:

ip link set wlp4s0 up

检测接口是否已经启用:

ip link show wlp4s0
---
3: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000 link/ether ac:7b:a1:52:09:b3 brd ff:ff:ff:ff:ff:ff

像上面如果出现出现了UP字样表示已经可用了。

wifi-menu进行网络连接:

wifi-menu wlp4s0

设置分区

虽然之前搞过一段时间的grub,不过UEFI出来后还没有详细地了解。等以后再写一篇详细的有关 启动的东西吧。

我在这里使用的是cgdisk进行分区

cgdisk /dev/sda

分区结果如下:

Device           Start          End   Size Type
/dev/sda1         2048      1050623   512M EFI System
/dev/sda2      1050624    105908223    50G Linux filesystem
/dev/sda3    105908224    972031999   413G Linux filesystem
/dev/sda4    972032000    976773134   2.3G Linux filesystem

创建文件系统:

mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
mkswap /dev/sda4
swapon /dev/sda4

其中第一个分区是UEFI主板的需求,具体什么原因就不明白了。

挂载分区

查看当前分区的情况:

lsblk -f

挂载根分区到/mnt:

mount /dev/sda2 /mnt

挂载其他分区:

mkdir /mnt/home
mount /dev/sda3 /mnt/home

mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

选择镜像

最重要的一步,网速可是第一生产力啊!当我大中大也有了自己的源的时候,速度真是快到飞起 了。同时教育网推荐清华的源,其他用163的也不错。

vi /etc/pacman.d/mirrorlist

pacman -Syy

安装基本系统

基本系统是通过arch的pacstrap脚本来进行的,也是一句话搞掂

pacstrap -i /mnt base base-devel

生成fstab

/etc/fstab是用来定义分区以及块设备如何挂载到文件系统的。当你的磁盘分区挂载到了某个目 录下的时候你才可以去访问磁盘里的内容。因此就需要去生成fstab的内容。以让系统启动是自动 挂载相关的分区。

genfstab -U -p /mnt >> /mnt/etc/fstab

基本配置

在完成了以上步骤后,一个基本的arch操作系统已经安装在你的硬盘上了。并且硬盘上划分的各 个分区被挂载在U盘中arch系统的/mnt的目录下。所以要进行对新的系统的配置,就要先进入到新 的系统中去。当然直接启动进入配置是可以的,也可以在当前的系统中利用chroot去对新的系统 进行配置。

Locale

Locale是和地区相关的设置信息,如果不正确设置的话最直接的是字体会出现问题。当然还会有 其他时间,货币等相关的信息会出错。我们在这里需要修改两个文件,都是在/etc下面。 locale.genlocale.conf。取消掉相关行的注释即可。然后运行:

locale-gen

echo LANG=en_US.UTF-8 > /etc/locale.conf

Time Zone

时区信息只需要创建一个文件软连接即可

ln -s /usr/share/zoneinfo/<Zone>/<SubZone> /etc/localtime

Hardware Clock

硬件时钟模式。在双系统的时候系统时钟可能会出错。这里注意相应的bios里面的时钟要设置成 utc的时间。

hwclock --systohc --utc

Hostname

hostname是你的计算机的一个身份标识。

echo myhostname > /etc/hostname

Configure the network

前面安装的base与base-devel包里面会缺少一些网络管理的软件,所以在现在还有网络连接的时 候要把连接网络相关的软件都安装好。使用系统自带的netctl现在已经可以完成网络连接的任务 了。

我在这里使用wifi-menu来进行连接,所以需要安装依赖

pacman -S dialog

arch的网络连接管理也是一个值得再讨论一下的地方吧。图形界面下还可以用NetworkMananger来 管理,传统的鼠标操作。

Set root password

这一步必须进行,否则重启进入系统后无法登录了

passwd

Install and configure a bootloader

grub的工作原理之前简单了解过。基本就是每个阶段把相应的文件加载到内存中去。而因为新的 GPT的出现,我这次安装也改用了gummiboot来引导。就只记录下安装的过程吧。这一步也是必须 进行的。

安装

mount -t efivarfs efivarfs /sys/firmware/efi/efivars # may can be ignored
pacman -S gummiboot
gummiboot install

创建配置文件

vi /boot/loader/entries/arch.conf
---
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/sda2 rw quiet

exit, reboot and a new archlinux is coming

从当前环境下退出:

exit

卸载挂载分区:

umount -R /mnt # R means recursive

重启:

reboot

配置阶段

前面只是最基本的配置。之后对于一般工作还有许多需要配置的软件及系统配置。

待续……