Arch-Linux

無法在 virtualbox 中啟動 X

  • May 3, 2019

我已經開始創建自己的 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 啟動。

引用自:https://unix.stackexchange.com/questions/516898