無法在 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 相關。如有必要,我將更新這兩個文章。
編輯:
我意識到我的 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 啟動。