无法在 virtualbox 中启动 X

无法在 virtualbox 中启动 X

我已经开始创建自己的 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 就会启动。

相关内容