以下过程默认在root用户下运行
这里就简单说下如何分区,至于用什么工具分区随你喜欢
这里的/dev/sdb将在之后的教程当作U盘使用(请自己注意更换)
分区类型:dos,以下分区皆为主分区(primary)
分区-------->挂载点-->大小--->类型
/dev/sdb1--->/boot--->128M--->EFI Filesystem(需要设置为可启动(bootable))
/dev/sdb2--->/------->Free--->Linux
创建加密LUKS(需要输入大写yes然后输入你的密码/口令):
cryptsetup luksFormat --type luks2 /dev/sdb2
打开LUKS并创建配置LVM(需要输入密码/口令):
cryptsetup open --type luks2 /dev/sdb2 cryptlvm
pvcreate /dev/mapper/cryptlvm
vgcreate System /dev/mapper/cryptlvm
lvcreate -L 8G System -n root # 这里是根分区,一般8G够用
lvcreate -l 100%FREE System -n data # 这里是数据分区,用于存放重要资料(为了和根分区区分,建议不要写入fstab让它默认不挂载)
格式化:
mkfs -t vfat -F 32 /dev/sdb1
mkfs -i 8192 -t ext4 /dev/System/root
mkfs -i 8192 -t ext4 /dev/System/data
挂载分区:
mount -t ext4 /dev/System/root /mnt
mkdir -p /mnt/boot
mount /dev/sdb1 /mnt/boot
如果你在使用Arch Linux的Live CD安装,你可能需要修改/etc/pacman.d/mirrorlist
选择镜像站
pacstrap -i /mnt base base-devel linux # 这里建议不安装默认的linux,安装linux-hardened内核
genfstab -U -p /mnt >> /mnt/etc/fstab
进入chroot环境并安装内核:
arch-chroot /mnt
source /etc/profile
pacman -S linux-hardened
配置locale:
TMP="en_US.UTF-8" # 将这里改为你想使用的语言(建议en)
echo "${TMP} UTF-8" > /etc/locale.gen
locale-gen
echo LANG=${TMP} > /etc/locale.conf
至于时区这里示例使用中国时区:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc --utc
更改root密码与主机名:
passwd
echo Live > /etc/hostname
编辑/etc/mkinitcpio.conf
在HOOKS
中加入keyboard
keymap
encrypt
以支持加密(需要注意顺序):
# 示例
HOOKS=(base udev autodetect keyboard keymap consolefont modconf block encrypt lvm2 filesystems fsck)
添加ramroot支持:
pacman -S git
git clone https://github.com/arcmags/ramroot
cd ramroot
./ramroot enable -r 这里替换为/dev/System/root的UUID -b 这里替换为/dev/sdb1的UUID # 注意,这里生成initramfs时会报错(如果你使用linux-hardened的话),可以暂时忽略
重新生成initramfs:
mkinitcpio -p linux-hardened
安装引导:
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=BOOT # 这里会有非GPT报错可以忽略
cp /boot/EFI/BOOT/grubx64.efi /boot/EFI/BOOT/BOOTX64.efi # 防止BIOS不认
grub-install --target=i386-pc /dev/sdb
另开终端运行blkid
复制/dev/sdb2
的UUID(注意不要和/dev/mapper/cryptroot
的UUID混淆)
回到原终端编辑/etc/default/grub
在GRUB_CMDLINE_LINUX=""
加入:
cryptdevice=UUID=这里换成刚刚复制的UUID:cryptlvm root=/dev/System/root
生成grub.cfg
:
grub-mkconfig -o /boot/grub/grub.cfg # 这里会报lvm错误,可以忽略
安装网络管理器:
# 这里建议使用connman或networkmanager
pacman -S connman bluez wpa_supplicant
systemctl enable connman
到了这里 你就可以重启看看能不能启动了
最后无非是做一些自己的配置,这里就不多说了,就说说一些建议
安装配置完成之后,根目录使用空间不大或内存够用的话 建议使用ramroot启动,启动之后你就可以拔掉U盘了(这样启动不会保留对根目录的更改)。
关于分区,之所以分个/data,默认不挂载,这样使用ramroot启动时可以保证数据隐私安全(所以建议新建俩个用户),正常启动时可以手动挂载以保存/访问数据。至于怎么玩随你喜欢了。
谢谢教程 已经成功启动
不过,除了linux-hardened之外还需要“lvm2”这个软件包
不然之后运行mkinitcpio会出错的