我已经开始创建自己的 archiso,因为安装 arch 很有趣,但自动化它更有趣 ;-)。
在我的计算机上实际使用它进行全新安装之前,我正在虚拟机上对其进行测试。
这显然是一项正在进行的工作,但可以在这里找到源文件:https ://gitlab.com/neopium/archlinux
这不应该是通用的,它只应该在我的电脑上工作。例如,我希望我的系统使用 GB 英语,但我使用的是 azerty 法语键盘,这是硬编码的,因为它可能不会在我的设置中改变。
所以,我主要有两个我定制的脚本。
第一个是https://gitlab.com/neopium/archlinux/blob/master/archlive/airootfs/root/customize_airootfs.sh。
它用于创建 ISO 本身。没有什么花哨的,真的。
第二个更有趣:它是我正在执行的脚本,用于在运行实时 ISO 时自动安装我的最小设置:https ://gitlab.com/neopium/archlinux/blob/master/archlive/airootfs/root/install -arch.sh
同样,这是一项正在进行的工作。有些东西仍然是硬编码的。例如,它假定分区已经创建,/boot 在 /dev/sda1 上,/ 在 /dev/sda2 上。
如果你想使用这个脚本要小心,它会格式化 /dev/sda1 和 /dev/sda2 分区!
我检索主机名、用户名和密码,格式化磁盘,安装一些基本包(列表尚未确定),安装 grub,设置语言环境和时区,创建用户并将其添加到 sudoers,最后激活互联网.
这是安装软件包的命令:
pacstrap -i /mnt base base-devel git curl wget openssh zsh zsh-completions networkmanager btrfs-progs ntfs-3g grub \
os-prober xorg xorg-xinit xorg-apps xf86-video-fbdev mesa bspwm sxhkd xf86-video-intel xf86-input-synaptics nvidia \
nvidia-utils lib32-nvidia-utils kitty rofi neovim alsa-utils pulseaudio dunst
我还有第三个脚本,它安装仅与虚拟盒相关的软件包:https ://gitlab.com/neopium/archlinux/blob/master/archlive/airootfs/root/additional-virtualbox.sh
arch-chroot /mnt pacman -S virtualbox-guest-modules-arch
arch-chroot /mnt pacman -S virtualbox-guest-utils
然后我重新启动我的 virtualbox,使用我的用户帐户登录。但是当我输入 startx 时,它不起作用。
这是 Xorg.0.log 文件:https ://pastebin.com/raw/4RmxbDN8
我想我错过了安装/配置 xorg 的一步,但我不知道是哪一步。
我有两条错误消息:
(EE) Failed to load module "vboxvideo" (module does not exist, 0)
(EE) modeset(0): glamor initialization failed
仅供参考,我已经在archlinux 论坛上交叉发布了这个问题,但是在考虑之后,我的问题可能不是特定于 arch 的问题,而更多的是与 virtual box / xorg 相关。如有必要,我将更新这两个帖子。
编辑:
我意识到我的 virtualbox 添加配置不正确,所以在主机上,我运行:
sudo systemctl enable vboxservice.service
sudo systemctl restart vboxservice.service
执行lsmod
给出:
Module Size Used by
vboxsf 40960 0
intel_powerclamp 20480 0
vboxvideo 40960 1
crct10dif_pclmul 16384 1
crc32_pclmul 16384 0
ttm 114688 1 vboxvideo
ghash_clmulni_intel 16384 0
aesni_intel 372736 0
drm_kms_helper 208896 1 vboxvideo
aes_x86_64 20480 1 aesni_intel
snd_intel8x0 49152 0
crypto_simd 16384 1 aesni_intel
cryptd 28672 3 crypto_simd,ghash_clmulni_intel,aesni_intel
glue_helper 16384 1 aesni_intel
drm 499712 4 drm_kms_helper,vboxvideo,ttm
snd_ac97_codec 151552 1 snd_intel8x0
ac97_bus 16384 1 snd_ac97_codec
intel_rapl_perf 16384 0
snd_pcm 135168 2 snd_intel8x0,snd_ac97_codec
psmouse 172032 0
joydev 28672 0
mousedev 24576 0
pcspkr 16384 0
input_leds 16384 0
snd_timer 40960 1 snd_pcm
snd 102400 4 snd_intel8x0,snd_timer,snd_ac97_codec,snd_pcm
intel_agp 24576 0
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
evdev 24576 3
intel_gtt 24576 1 intel_agp
ac 16384 0
mac_hid 16384 0
agpgart 53248 4 intel_agp,intel_gtt,ttm,drm
sysimgblt 16384 1 drm_kms_helper
soundcore 16384 1 snd
fb_sys_fops 16384 1 drm_kms_helper
vboxguest 45056 2 vboxsf
i2c_piix4 28672 0
ip_tables 32768 0
x_tables 49152 1 ip_tables
ext4 749568 1
hid_generic 16384 0
crc32c_generic 16384 0
crc16 16384 1 ext4
mbcache 16384 1 ext4
jbd2 131072 1 ext4
同样在 xorg 方面,我在 /etc/X11 中没有 xorg.conf 文件。所以我创建了一个:
Xorg :1 -configure
X 仍然没有启动,但错误不一样:https ://pastebin.com/raw/e8FwRbVf
vbox% grep "(EE)" .local/share/xorg/Xorg.0.log
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 41.117] (EE) modeset(0): glamor initialization failed
vbox% grep "(WW)" .local/share/xorg/Xorg.0.log
[ 40.566] (WW) Failed to open protocol names file lib/xorg/protocol.txt
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 40.591] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/misc".
[ 40.591] (WW) The directory "/usr/share/fonts/TTF" does not exist.
[ 40.591] (WW) The directory "/usr/share/fonts/OTF" does not exist.
[ 40.591] (WW) The directory "/usr/share/fonts/Type1" does not exist.
[ 40.594] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/misc".
[ 40.594] (WW) The directory "/usr/share/fonts/TTF" does not exist.
[ 40.594] (WW) The directory "/usr/share/fonts/OTF" does not exist.
[ 40.594] (WW) The directory "/usr/share/fonts/Type1" does not exist.
[ 40.594] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[ 40.594] (WW) Disabling Mouse0
[ 40.594] (WW) Disabling Keyboard0
[ 40.601] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[ 40.629] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
我的错。
实际上,X 有效。
问题是:这无关紧要。所以它什么也不做并关闭。
我安装了 lightdm,现在我按预期看到了登录屏幕。当我登录时,WM 启动。