我已经开始创建自己的 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 相关。如果有必要,我会更新这两篇文章。
编辑:
我意识到我的虚拟机添加未正确配置,因此在主机上运行:
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
答案1
我的错。
事实上,X 有效。
问题是:它没有任何关系。所以它什么都不做并关闭。
我安装了 lightdm,现在我看到了预期的登录屏幕。当我登录时,WM 就会启动。