您尚未登录。

#1 2021-03-30 13:07:15

yw662
大会员
所在地: localhost
注册时间: 2018-10-10
帖子: 388

安装笔记[2021.03.01]

前段时间一直在用m1的mba,虽然这台机器真的很不错,但是苹果的系统也真的很一言难尽,而且aarch64目前的确还是比不上x86-64的生态,所以对linux很是想念。
最近回手了一台设备,所以发个帖纪念一下,顺便记录一下arch的变化。
livecd镜像是2021.03.01 x86-64,那么开始。
* 注:这不是一篇正经的新手安装指南。
* 注:本文的某些内容大概可能对极限最小安装有所启发。

引导进入liveusb之后,发现root自动登录时打印的提示已经很亲民了,iwctl和Installation_guide都被高亮了出来,这一点值得表扬。

运行iwctl,然后根据iwctl的帮助,使用`station <wlan> scan`, `station <wlan> show`, 和`station <wlan> connect <"network name">`连接wifi,
iwctl的确比wpa_cli好用那么亿点点,这里表扬intel一下。
networkctl显示DHCP已经完成,这里networkd也表扬一下。
然后^D退出,这里因为习惯了苹果键位还摁错了一次,就很尴尬。

根据提示运行Installation_guide,发现是用lynx打开archwiki的installation guide,可以,这很清蒸。

根据installation guide的提示重新分区。guide建议ESP不小于260MiB,SWAP不小于512MiB,ESP的建议还是需要听一下的,所以分了1G。然后swap分了8G,因为机器本身内存比较小。
然后根文件系统选择了btrfs。
mount /dev/disk/by-partlabel/ROOT /mnt,挂载
reflector --save /etc/pacman.d/mirrorlist,国内用户不太建议做这一步,自己去选国内源就好了。
pacstrap /mnt pacman neovim,其余的包之后再选 (没有选base因为没啥必要)
为什么要先pactrap呢,因为这样可以自动创建/boot
mount /dev/disk/by-partlabel/BOOT /mnt/boot,挂载
swapon /dev/disk/by-partlabel/SWAP
genfstab -t PARTLABEL > /mnt/etc/fstab,写fstab,虽然其实并不必要,

arch-chroot /mnt

chroot后的第一步当然是,nvim /etc/pacman.conf, Go, [archlinuxcn],嗯。。。然后熟练得换到另一台设备上,github.com/archlinuxcn/mirrorlist-repo
ZZ, pacman -Syyu archlinuxcn-keyring, pacman -Syu yay
然后突然发现systemd还没装。。。
pacman -Syu systemd
然后想起来用root跑yay好像不太对,所以还是先搞定重启到系统吧
pacman -Syu sed,要单独来这么一手是mkinitcpio的问题,因为:
mkinitcpio依赖sed生成preset,但是这个依赖没有出现在mkinitcpio的依赖列表里,[这个bug我已经报了](https://bugs.archlinux.org/task/70234)。
pacman -Syu linux linux-firmware amd-ucode efibootmgr efitools sbsigntools,选择了官方内核,因为官方内核依赖initramfs,发现又多了几个initramfs generator。
但是依然选择了mkinitcpio,因为booster目前不支持partlabel,不然还是想试试的。


然后准备签secure boot的时候发现bios不是setup mode,那么下次重启再搞吧,所以直接,
efibootmgr --disk /dev/nvme0n1 --part 1 --label "SYSTEM" --loader /vmlinuz-linux --unicode 'root=PARTLABEL=ROOT rootfstype=btrfs rw resume=PARTLABEL=SWAP initrd=\initramfs-linux.img init=/usr/lib/systemd/systemd'
这一步是创建bios引导项,因为内核本身是可以作为efi bootloader的,这个特性叫efi stub。

然后重启之前的最后一点设置,
ln -sf /usr/share/zoneinfo/.... /etc/localtime,设置时区,虽然没啥必要
passwd root
exit
reboot

然后,
systemctl enable --now systemd-networkd
systemctl enable --now systemd-homed
systemctl enable --now systemd-resolved
systemctl enable --now iwd
iwctl
nvim /etc/systemd/network/wlan0.network
homectl create yw662 --storage=luks
exit
这样用户就创建好了。没有安装sudo所以切root需要用su,不过sudo本来也没啥必要。

那么就先到这里了。

最近编辑记录 yw662 (2021-03-30 23:11:56)


ecmascript是世界上最好的语言

离线

#2 2021-03-30 13:29:43

matrikslee
会员
注册时间: 2017-04-21
帖子: 264
个人网站

Re: 安装笔记[2021.03.01]

yw662 说:

国内用户不太建议做这一步,自己去选国内源就好了。

所以楼主是肉翻了吗?羡慕

yw662 说:

systemctl enable --now systemd-homed
homectl create yw662 --storage=luks

个人用户用homed有什么特殊优势吗?仅仅只是为了luks加密吗?

看楼主还准备搞secure boot和efistub,上次就有看到你发另一个关于secure boot签名操作的帖子,需要这么复杂么?

离线

#3 2021-03-30 13:47:29

yw662
大会员
所在地: localhost
注册时间: 2018-10-10
帖子: 388

Re: 安装笔记[2021.03.01]

matrikslee 说:
yw662 说:

国内用户不太建议做这一步,自己去选国内源就好了。

所以楼主是肉翻了吗?羡慕

yw662 说:

systemctl enable --now systemd-homed
homectl create yw662 --storage=luks

个人用户用homed有什么特殊优势吗?仅仅只是为了luks加密吗?

看楼主还准备搞secure boot和efistub,上次就有看到你发另一个关于secure boot签名操作的帖子,需要这么复杂么?

因为有luks加密home就可以选择不要全硬盘加密了呀,这还是挺不错的。要说好处的话,备份家目录会比较容易?
(而且全硬盘加密会让recovery变得比较难)
efi stub因为,你用bootloader也还是要写一遍boot parameter,和efi stub的工作量一样大。。。。(而且我不装windows所以不需要dual boot所以不需要bootloader)
至于sb,嗯,可以用来阻止其他操作系统在这台机器上运行(逃


ecmascript是世界上最好的语言

离线

#4 2021-03-30 23:32:52

yw662
大会员
所在地: localhost
注册时间: 2018-10-10
帖子: 388

Re: 安装笔记[2021.03.01]

刚说完sudo没啥必要然后发现yay实际上依赖sudo,在不存在sudo的情况下甚至无法正常运行,差评。
不过既然这样就顺手把root chsh到nologin了(su: 说好的我够用了呢)。
不过首先,echo 'yw662 ALL = (ALL) ALL' > /etc/sudoers.d/yw662
然后yay几乎实际依赖fakeroot和binutils,以及,gzip之类的。。。gzip的确是可选依赖,但是yay为什么觉得sudo,fakeroot和binutils不是自己的依赖啊。。。
然后因为fakeroot依赖sed所以就把sed标记为--asdeps了,不过mkinitcpio这手必须是bug。

然后,去掉ucode,archlinuxcn-keyring,yay,fakeroot,binutils,sudo,gzip,efibootmgr,sbsigntools,最终的-Qe列表是6行,systemd,pacman,linux,linux-firmware,iwd,neovim。
不过efibootmgr改kernel parameter的时候需要用,sbsigntools更新内核的时候需要用,这两个还是有用的。
然后再把man-db装上吧,万一有用呢反正手册文件已经在那了。

然后去logind.conf把button和lidSwitch改成ignore。

然后好像,到了选择困难症的时刻。


ecmascript是世界上最好的语言

离线

#5 2021-03-31 17:21:24

xtricman
エクス·トリクマン
注册时间: 2012-12-26
帖子: 1,241

Re: 安装笔记[2021.03.01]

yay会自动调用sudo来执行pacman -U

还有你这安装的是x86-64?并不是在那台Macbook上吧


反社会,精神极其不稳定,随时可能炸碎身边所有人

离线

#6 2021-04-01 00:20:13

yw662
大会员
所在地: localhost
注册时间: 2018-10-10
帖子: 388

Re: 安装笔记[2021.03.01]

xtricman 说:

yay会自动调用sudo来执行pacman -U

还有你这安装的是x86-64?并不是在那台Macbook上吧

所以sudo应该在yay的依赖列表中但实际上并没有。
对啊是x86-64。


ecmascript是世界上最好的语言

离线

页脚