archlinux install
http://mirrors.163.com/archlinux/iso
1
| curl -O http://mirrors.163.com/archlinux/iso/2022.02.01/archlinux-2022.02.01-x86_64.iso
|
- copy to ventoy usb partition
- 用 ventoy U盘引导系统
- 启动 sshd
- 设置 root 密码
archinstall
https://github.com/archlinux/archinstall
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| pacman -Sy
pacman -S archinstall
# 执行 archinstall, 开始安装
archinstall
# Select one of the above keyboard languages (by number or full name): us
# Select one of the above regions to download packages from (by number or full name): China
# Select one or more harddrives to use and configure (leave blank to skip this step): 1
# Select what you wish to do with the selected block devices: 0
# Select which filesystem your main partition should use (by number or name): 2
# Enter disk encryption password (leave blank for no encryption):
# Would you like to use swap on zram? (Y/n): n
# Desired hostname for the installation: host0
# Enter root password (leave blank to disable root & create superuser):
# Enter a pre-programmed profile name if you want to install one: 1
# Choose an audio server or leave blank to use none:
# Choose which kernels to use (leave blank for default: linux): 0
# Write additional packages to install (space separated, leave blank to skip):
# Select one network interface to configure (leave blank to skip): 2
# Select which mode to configure for ens18 or leave blank for DHCP: 0
# Enter a valid timezone (examples: Europe/Stockholm, US/Eastern) or press enter to use UTC: Asia/Shanghai
# Would you like to use automatic time synchronization (NTP) with the default time servers? [Y/n]: y
# package
vscode git keepassxc chromium wqy-microhei
# init
systemctl enable sshd
|
archinstall config, user_configuration.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| {
"config_version": "2.4.1",
"debug": false,
"desktop-environment": "xfce4",
"gfx_driver": "VMware / VirtualBox (open-source)",
"harddrives": [
"/dev/sda"
],
"hostname": "archlinux",
"mirror-region": {
"China": {
"https://mirrors.aliyun.com/archlinux/$repo/os/$arch": true,
"https://mirrors.163.com/archlinux/$repo/os/$arch": true,
"https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch": true,
"https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch": true
}
},
"mount_point": null,
"nic": {
"dhcp": true,
"dns": null,
"gateway": null,
"iface": null,
"ip": null,
"type": "iso"
},
"packages": [
"git",
"wqy-microhei"
],
"plugin": null,
"profile": {
"path": "/usr/lib/python3.10/site-packages/archinstall/profiles/desktop.py"
},
"script": "guided",
"silent": false,
"swap": false,
"timezone": "Asia/Shanghai",
"version": "2.4.1"
}
|
archinstall config, user_credentials.json
1
2
3
4
5
6
7
8
| {
"!superusers": {},
"!users": {
"wiloon": {
"!password": "password0"
}
}
}
|
最小化安装,启动后内存占用 70MB, 磁盘占用:2G
初始化脚本后,70MB, 2.4G
从U盘引导安装
1
2
3
4
5
| # 创建USB启动盘
#dd archlinux iso to usb
sudo dd bs=4M if=archlinux-2020.03.01-x86_64.iso of=/dev/sdx status=progress && sync
# boot with usb stick
|
设置网络
setup network with shell script https://gist.github.com/wiloon/xxxxxx
or
title: systemd-networkd
https://wiloon.com/systemd-networkd
1
2
3
4
5
6
7
8
9
10
11
12
13
| # 给root设置密码
passwd
# 启动sshd
systemctl start sshd
# openssh 默认已安装, 没有的话 安装一下 pacman -S openssh
# sshd 已经默认配置允许root登录, 有问题的话, 去修改配置文件/etc/ssh/sshd_config, PermitRootLogin yes
# ssh 登录以后执行以下操作
# 查看当前的引导模式,uefi or bios
ls /sys/firmware/efi/efivars
# 如果提示文件不存在, 那么当前系统就不是efi引用的, 可能 是bios或CSM
|
config pacman mirror
wangyue.dev/pacman
https://blog.wiloon.com/?p=7501
pacman 更新, 不要用-Syu, -Syu有可能会把U盘写满
分区并格式化硬盘
用 parted 分区
title: parted
http://blog.wiloon.com/parted
用 fdisk 分区
http://blog.wiloon.com/?p=7609
1
2
3
4
5
6
7
8
9
10
11
12
13
| # Mount the partitions
mkdir /mnt/tmp
mkdir /mnt/tmp/boot
# 先挂载/, 再挂载/boot
mount /dev/sdx3 /mnt/tmp
mount /dev/sdx1 /mnt/tmp/boot
pacstrap /mnt/tmp base linux linux-firmware
# if command not found, see http://www.wiloon.com/?p=8443
# 建议使用UUID方式生成fstab和启动管理器配置
genfstab -p -U /mnt/tmp >> /mnt/tmp/etc/fstab
|
把网络配置文件复制到新系统
1
| cp /etc/systemd/network/wifi.network /mnt/tmp/etc/systemd/network/
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| arch-chroot /mnt/tmp
# config host name
echo hostname0 > /etc/hostname
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
pacman -S gvim
# Uncomment the needed locales(en_US.UTF-8, zh_CN.UTF-8) in /etc/locale.gen, then generate them with: locale-gen
vim /etc/locale.gen
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
locale-gen
# 文件设置全局有效的locale,没有的话新建一个文件。
vim /etc/locale.conf
LANG=en_US.UTF-8
## 如果是安装到U盘,需要修改mkinitcpio.conf
# 用 mkinitcpio -p linux创建 RAM Disk 前,在修改 /etc/mkinitcpio.conf,将 block 添加到紧挨 udev 的后面. 只有这样早期用户空间才能正确的装入模块。
# set root password
passwd
# install wpa_supplicant
pacman -S wpa_supplicant
pacman -S openssh
systemctl enable sshd
systemctl enable systemd-networkd
systemctl enable systemd-resolved.service
vim /etc/ssh/sshd_config # PermitRootLogin yes
|
bootloader, systemd-boot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| # boot with uefi
bootctl install
cd /boot/loader
vim loader.conf
# loader.conf content
default arch
timeout 1
vim /boot/loader/entries/arch.conf
# arch.conf content
title Archlinux
linux /vmlinuz-linux
initrd /initramfs-linux.img
# get PARTUUID via blkid, remove "" for PARTUUID
# 注意最后面的rw 不要漏掉!!!
options root=PARTUUID=xxx rw
:r !blkid
# uefi boot end
|
boot with grub
https://blog.wiloon.com/?p=15345
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| useradd -m -s /bin/bash wiloon
passwd wiloon
pacman -S openssh sudo
systemctl enable sshd
chmod u+w /etc/sudoers
vim /etc/sudoers
wiloon ALL=(ALL) NOPASSWD: ALL
systemctl enable systemd-networkd
systemctl enable systemd-resolved.service
# 配置网络: https://blog.wiloon.com/?p=9881, /etc/systemd/network/eth.network, 否则有可能启动之后没有网络
systemctl enable fstrim.timer
# exit to iso
exit
cp /etc/wpa_supplicant/wpa_supplicant-*.conf /mnt/tmp/etc/wpa_supplicant
arch-chroot /mnt/tmp
systemctl enable wpa_supplicant@wlanx
exit
poweroff
|
拔掉U盘开机
archlinux init
http://blog.wiloon.com/?p=8913
https://wiki.archlinux.org/index.php/Install_from_existing_Linux
https://wiki.archlinux.org/index.php/Installation_guide
https://wiki.archlinux.org/index.php/Installing_Arch_Linux_on_a_USB_key
https://wiki.archlinux.org/index.php/Installing_Arch_Linux_on_a_USB_key_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
http://www.linuxidc.com/Linux/2014-04/99749.htm
https://wiki.archlinux.org/index.php/Syslinux
https://wiki.archlinux.org/index.php/syslinux#Installation_on_BIOS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| #uefi 可以直接启动archlinux, 不需要 bootloader
#Install a boot loader, e.g.syslinux
#check whather using mbr or gpt
blkid -s PTTYPE -o value /dev/sdx
mbr:dos
pacman -S syslinux
pacman -S gptfdisk
syslinux-install_update -i -a -m
#编辑/boot/syslinux/syslinux.cfg 把/dev/sdax 替换成uuid
使用UUID:
LABEL Arch
MENU LABEL Arch Linux
LINUX ../vmlinuz-linux
APPEND root=UUID=3a9f8929-627b-4667-9db4-388c4eaaf9fa ro
INITRD ../initramfs-linux.img</pre>
#umount the usb disk and reboot
|
Arch Linux Fast Installer
https://github.com/MatMoul/archfi