Archlinux + U盘 打造随身系统盘

封面

最后一次编辑时间: 2023-01-17 17:53

  • 上一次编辑时间:2023-01-15 16:53
  • 上一次编辑时间:2023-01-10 0:51

Music:Fractal by Tinlicker

参考文献
1.一个完整的Arch Linux 安装流程:2022.5 archlinux详细安装过程
2.在可移动介质上安装Arch Linux:Install Arch Linux on a removable medium
3.i3wm配置:ArchLinux下i3wm简单配置和美化
4.i3wm配置:一份自用的简单i3wm配置

你的U盘通常要在32G以此来使用较好的图形化功能。
本文是一个自用的Arch Linux安装方法,针对的是我自己,如果你看到这个文章了,里头可能有一些东西你是可以用到的。这篇文章旨在帮助不会安装Arch Linux的用户,以及当我自己遗忘某些安装细节时可以回过头来查看。

Start

安装Arch Linux

引导,分区,调整,安装:

1.1.1

确保使用UEFI引导:

1
ls /sys/firmware/efi/efivars

1.1.2

输入这一行代码后,如果反馈目录不存在,不要继续,因为没有UEFI启动在后面写入引导的时候几乎绝对报错。如果有输出,说明电脑是以UEFI启动的。

Tips: 写入image用Rufus,这就是使用U盘安装。如果是没有多出来的U盘,则可以用虚拟机环境。

联网:

1.输入“iwctl”进入iwd模式,也就是终端最前方有“[iwd]#”字样。
2.在iwd模式下输入“device list”,查询电脑的网卡。记住你的网卡号,一般是wlan0或者wlan1(本文以多数情况wlan0为例)
3.在iwd模式下输入“station wlan0 scan”,然后再输入“station wlan0 get-networks”,显示周围的wifi的ssid扫描结果。
4.在iwd模式下输入“station wlan0 connect ”,如果是加密的wifi,系统会提示输入wifi密码,如无意外,就连上网了。
5.验证联网。按ctrl+c退出iwd模式,回到[root@archiso~]模式,输入“ping baidu.com”,如果有返回数据,说明已经连上网了。

一般来说,如果是网线直连,那么系统会自动连接网络,而不用使用iwd连接wifi。

更新时间:

1
timedatectl set-ntp true

分区:

涉及数据相关,请认真对待!

这里列出的是当前所有硬盘,找到你的硬盘,我这里是/dev/sda

1
lsblk

1.1.3

进/dev/sda分盘

1
cfdisk /dev/sda

1.1.4

gpt分区表,回车就行

1.1.5

用New新建分区,大小自定义,按照你自己来

sda1 -> 1G boot分区
sda2 -> 2G swap分区 (不要swap你就不分,我使用下来是没有问题的)
sda3 -> 37G /分区
sda4 -> 20G /home分区

用Write,然后输入yes写入分区

1.1.6

用Quit退出,然后lsblk看分的是否正确

1.1.7

格式化

1
2
3
4
5
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda3
mkfs.xfs /dev/sda4
mkswap /dev/sda2
swapon /dev/sda2

挂载

1
2
3
4
5
mount /dev/sda3 /mnt
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
mkdir /mnt/home
mount /dev/sda4 /mnt/home

确保分区挂载正确,这里的参考应该是上文你所创建的分区!

检查

1.1.8

配置pacman

1
vim /etc/pacman.d/mirrors

无论这个页面的内容是什么,只需要无脑修改第一条为

1
Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch  

1.1.9

先同步数据包,不升级

注意,不升级!

1
pacman -Syu

1.1.10

安装archlinux-keyring防止签名出现问题

1
pacman -S archlinux-keyring

1.1.11

安装系统到U盘

1
pacstrap /mnt base linux-lts linux-lts-headers linux-firmware base-devel

我安装的是lts内核,如果不需要lts内核,那就去掉-lts即可。

1.1.12

btw,这里如果U盘IO不怎么地,那可能会巨慢….

写分区表

1
2
genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab

这里-U是指使用uuid挂载硬盘,因为你使用U盘装系统所面临的问题可能有硬盘序号变化,因此我们使用uuid来避免这个问题。

1.1.13

chroot

1
arch-chroot /mnt

1.1.14

安装必要软件

1
pacman -S neovim iwd ttf-dejavu sudo bluez usbmuxd networkmanager dhcpcd wqy-zenhei ntfs-3g

1.1.15

软连接neovim到vim

这何尝不是一种ntr(

1
ln -s /bin/nvim /bin/vim

1.1.16

同步时区

1
2
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

1.1.17

语言上的设置

1
vim /etc/locale.gen

这里取消掉en_US.UTF-8 , zh_CN.UTF-8 , zh_TW.UTF-8 ,这几个地方的注释
也就是前面的#

然后生成语言文件:

1
locale-gen

1.1.18

追加 当前系统语言 到系统文件

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

1.1.19

设定root密码

1
passwd

1.1.20

主机名

设定成你自己喜欢的

1
echo livearch >> /etc/hostname

1.1.21

本地回环

1
vim /etc/hosts

添加以下内容

1
2
3
127.0.0.1 localhost
::1 localhost
127.0.1.1 livearch.localdomain livearch #跟着上一步改

1.1.22

安装引导

1
pacman -S grub efibootmgr

1.1.23

1
grub-install /dev/sda

1.1.24

1
grub-mkconfig -o /boot/grub/grub.cfg

1.1.25

hook微调

blockkeyboard 放置在 autodetect 之前

1
vim /etc/mkinitcpio.conf

1.1.27

退出,卸载,重启

1
2
3
exit
umount -R /mnt
reboot

到这一步差不多就完成了系统的安装,下面就要开始配置系统了。
1.1.26

Last Edit Time: 2023-01-10 0:51

配置Arch Linux

网络基础服务:

1
2
3
4
5
6
7
systemctl start iwd.service
systemctl enable iwd.service
systemctl start systemd-resolved.service
systemctl enable systemd-resolved.service
systemctl enable bluetooth.service
systemctl enable NetworkManager
systemctl enable dhcpcd

2.1.1

网络配置

iwd 设定

1
vim /etc/iwd/main.conf

写入如下内容

1
2
3
[General]
EnableNetworkConfiguration=true
NameResolvingService=systemd

2.1.2

Network Manager设定

1
vim /etc/NetworkManager/NetworkManager.conf

写入如下内容

1
2
[device]
wifi.backend=iwd

2.1.3

重启以取得网络

1
reboot

检查是否连接到网路

1
pacman -Syu

2.1.4

这个命令只是为了检查有没有得到网络,如果报错,那就说明网络配置有问题,仔细检查一下。
如果没有问题,可以选择升级,也可以选择不升级,完全看自己。

安装CPU编码

1
pacman -S intel-ucode amd-ucode

2.1.5

一起装Intel和AMD的CPU编码,以确保Archlinux可以在不同下CPU成功的启动。

安装显卡驱动

1
pacman -S xf86-video-intel xf86-video-amdgpu mesa

2.1.6

这里不涉及nVidia显卡的驱动安装过程
xf86-video-intel Intel核芯显卡
xf86-video-amdgpu AMD显卡
mesa 是为了更好的兼容这两者(?)

安装声卡驱动

1
pacman -S pipewire alsa-utils pipewire-pulse pipewire-jack pipewire-alsa

2.1.7

增加普通用户

1
2
useradd -m -G wheel -s /bin/bash romi
passwd romi

2.1.8

passwd romi 设定用户密码,输入一个你想要的密码就可以。

1
vim /etc/sudoers

修改sudoer以此让romi有使用sudo的权限。
取消 %wheel ALL=(ALL:ALL) ALL 这条语句的注释,也就是删去语句前的 #

1
2
## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL:ALL) ALL

2.1.9

配置archlinuxcn源

1
vim /etc/pacman.conf

在最后插入以下内容:

1
2
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

2.1.10

然后安装 archlinuxcn-keyring 防止签名出现问题

1
2
pacman -Sy
pacman -S archlinuxcn-keyring

2.1.11

安装yay

1
pacman -S yay

2.1.12

重启

到这里,基本上所有系统的配置就完成了。下一次登陆系统就是一个完全可以用的Arch Linux系统了。

1
reboot

桌面配置

为了方便,以下使用 root 用户完成

如果你的U盘容量小,那就选择i3wm
亲测/分区为10G时,安装KDE或者是Gnome会Kernel Panic
并且为了简约,我选择i3wm

首先安装桌面服务

1
pacman -S xorg

2.2.1

如果是安装KDE

1
pacman -S plasma sddm konsole dolphin kate ark

安装好后设定sddm的自启动

1
systemctl enable sddm

如果是安装Gnome

1
pacman -S gnome

安装好后设定gdm的自启动

1
systemctl enable gdm

如果是安装i3wm

1
pacman -S xorg-xinit xorg-server i3-gaps

2.2.2

配置i3wm

使用Ctrl+Alt+F2跳转到一个新的tty,登录普通用户,就是前面你新创建的用户,我这里是romi

1
vim ~/.xinitrc

2.2.3

写入以下内容:

1
2
3
export LANG=zh_CN.UTF-8
xrdb -merge ~/.Xresources
exec i3

2.2.4

然后

1
vim ~/.Xresources

2.2.6

写入以下内容:

1
Xft.dpi: 96

2.2.5

原文作者有给出dpi参考值:

里面的数字填 ( 放大倍数 ) * 96 就可以了,比如192就是放到200%,给个简单参考
15.5寸笔记本,1920x1080,填144
15.5寸笔记本,2560x1440,填192
如果觉得太大了,可以调小, 建议为25%的倍数

重启系统

1
reboot

Last Edit Time: 2023-01-15 17:52

i3wm后续配置

进入i3wm

登录普通用户,进入i3wm

1
startx

i3配置文件

回车,生成i3配置文件

3.1.1

mod键位

注意,这里把mod键设置为Win

3.1.2

安装必要软件

使用Ctrl+Alt+F2跳转到一个新的tty,登录普通用户,就是前面你新创建的用户,我这里是romi

1
yay -S compton polybar rofi feh mate-utils konsole

第一次使用sudo会提示用户输入密码,正常输入即可

3.1.3

克隆配置文件到本地

(如果区域内github被墙,那么就看跳过这一部分)

1
git clone https://github.com/Romi-Brooks/i3wm_conf.git

这些文件的用处:

config i3wm配置文件
config.ini polybar配置文件
launch.sh 用于加载 polybar
3177970.jpg 背景图片

他们分别应该存放到:

3177970.jpg -> ~/Pictures/Background.jpg
这里的 ~/Pictures/文件夹需要自行创建,背景文件你可以选一个你喜欢的,不一定要用我这个

这里你需要自己改一下文件名:
(很简单,只要最终文件目录是 ~/Pictures/Background.jpg即可,方法有很多种)

1
mv 3177970.jpg Background.jpg  

config -> ~/.config/i3/config
config.ini -> ~/.config/polybar/config.ini
launch.sh -> ~/.config/polybar/launch.sh
其中 ~/.config/polybar文件夹可能不存在,创建一个即可

最后给launch.sh文件可执行权限:

1
chmod +x launch.sh

重启,使用普通用户登录,用startx进入i3wm即可

1
startx

如果不能克隆配置文件,那么直接写配置文件

这一步要写很多的东西,如果觉得麻烦直接用ssh登录,复制粘贴

1
2
3
yay -S openssh
sudo systemctl start sshd.service
sudo systemctl enable sshd.service

得到ip地址

1
ip addr

然后使用一台设备连接

1
ssh username@hostip

初次连接,输入一次yes

背景图片

随便去找一个图片,存放在 ~/Pictures/Background.jpg
比如

1
2
3
mkdir ~/Pictures/
wget https://i.328888.xyz/2023/01/17/HZUfC.jpeg
mv HZUfC.jpeg ~/Pictures/Background.jpg

来自Wallpaper Cave,图床的连接可能失效.

编辑i3的config文件

1
vim ~/.config/i3/config

set $mod Mod4 这条语句下面插入

1
2
3
4
5
6
7
8
9
new_window none
new_float normal
hide_edge_borders both
gaps inner 8
gaps outer 6
bindsym $mod+p exec mate-screenshot -i
exec --no-startup-id feh --bg-fill ~/Pictures/Background.jpg
exec --no-startup-id compton -b
exec --no-startup-id ~/.config/polybar/launch.sh

# start dmenu (a program launcher)

(写完上面的配置内容,那么这条语句大约在58行)
这条语句下面找到

bindsym $mod+d exec --no-startup-id dmenu_run

将其注释,然后添加

bindsym $mod+d exec --no-startup-id rofi -show drun

到这条语句下

在最后一行,将

1
2
3
bar {
status_command i3status
}

全部注释 (即在开头加上#)

编辑 polybar 的config.ini文件

首先创建polybar的配置目录,然后把官方提供的一个样式放在里头

1
2
mkdir ~/.config/polybar
cp /usr/share/doc/polybar/examples/config.ini ~/.config/polybar/config.ini

修改配色样式(实际上就改了几行),这个样式就在第一位,polybar的注释符号是;
观察源文件,加以修改就行

1
2
3
4
5
6
7
8
9
10
11
12
[colors]
;background = #282A2E
;background-alt = #373B41
background = #b0222222
background-alt = #444
;foreground = #C5C8C6
foreground = #dfdfdf
foreground-alt = #555
primary = #ffb52a
secondary = #e60053
alert = #bd2c40
disabled = #707880

launch.sh以启动polybar

创建脚本文件

1
vim ~/.config/polybar/launch.sh

插入以下内容

1
2
3
4
5
6
7
#!/bin/bash

killall -q polybar

while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

polybar example

给予权限

1
chmod +x ~/.config/polybar/launch.sh

安装一些常用工具

1
yay -S mate-extra

不多说,直接干mate-extra

到这里,i3wm的配置基本就结束了

重启

1
reboot

当需要启动i3wm的时候,只需要

1
startx

Last Edit Time: 2023-01-17 17:46

ohmyzsh 美化

未完

在最后的最后,感恩。

Romi Brooks♥

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2020-2023 Romi Brooks
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信