/dev/dri/card0 not available in single shell
Dear experts,
I am trying to have an initramfs with graphics drivers and entered single
shell, however the /dev/dri/card0
is missing.
Here are some logs from Single mode shell:
Entering single mode. Type 'exit' to continue booting.
sh: can't access tty; job control turned off
/ # lsmod
Module Size Used by Not tainted
v3d 77824 0
gpu_sched 45056 1 v3d
i2c_brcmstb 16384 0
vc4 286720 0
snd_soc_core 233472 1 vc4
snd_compress 20480 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_pcm 114688 3 snd_soc_core,snd_compress,snd_pcm_dmaengine
snd_timer 32768 1 snd_pcm
snd 81920 4 snd_soc_core,snd_compress,snd_pcm,snd_timer
cec 49152 1 vc4
drm_kms_helper 274432 1 vc4
drm 532480 5 v3d,gpu_sched,vc4,drm_kms_helper
drm_panel_orientation_quirks 16384 1 drm
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
backlight 20480 2 drm_kms_helper,drm
squashfs 45056 0
/ # ls -l /dev/dri
total 0
crw-rw---- 1 root video 226, 1 Jan 1 00:00 card1
crw-rw---- 1 root video 226, 128 Jan 1 00:00 renderD128
/ # dmesg | fgrep -e drm -e vc4 -e v3d
[ 3.168853] fb0: switching to vc4 from simple
[ 3.225330] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[ 3.250592] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[ 3.268955] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[ 3.275614] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input0
[ 3.286845] [drm] Initialized v3d 1.0.0 20180419 for fec00000.v3d on minor 1
[ 3.374598] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[ 3.403470] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[ 3.410195] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input1
[ 3.592560] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[ 3.604223] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[ 3.610873] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input3
[ 3.912200] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[ 3.923292] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[ 3.930013] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input4
[ 5.007688] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[ 5.019076] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[ 5.025747] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input5
/ # cat /media/sda1/usercfg.txt
enable_uart=1
disable_overscan=1
dtparam=audio=on
dtoverlay=vc4-kms-v3d-pi4
hdmi_force_hotplug=1
/ # cat /media/sda1/cmdline.txt
modules=loop,squashfs,usb-storage console=ttyS0,115200 single
After quitting single mode and continue with diskless mode, I can finally see the /dev/dri/card0
is availabe:
pi4:~# dmesg | fgrep -e drm -e v3d -e vc4
...
[ 512.942516] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[ 512.961688] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[ 512.961773] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input7
[ 513.123637] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[ 513.131475] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[ 513.131559] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input8
[ 513.132866] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[ 513.170772] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[ 513.170856] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input9
[ 513.172350] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[ 513.172612] vc4-drm gpu: bound fe004000.txp (ops vc4_txp_ops [vc4])
[ 513.172797] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops [vc4])
[ 513.172961] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops [vc4])
[ 513.173143] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops [vc4])
[ 513.173273] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops [vc4])
[ 513.173421] vc4-drm gpu: bound fec12000.pixelvalve (ops vc4_crtc_ops [vc4])
[ 513.258342] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 0
[ 513.360383] vc4-drm gpu: [drm] fb0: vc4drmfb frame buffer device
pi4:~# ls -l /dev/dri
total 0
crw-rw---- 1 root video 226, 0 Jan 1 1970 card0
crw-rw---- 1 root video 226, 1 Jan 1 1970 card1
crw-rw---- 1 root video 226, 128 Jan 1 1970 renderD128
I have display connected to hdmi0.
I also manually tried the operations in /etc/init.d/mdev
and /etc/init.d/hwdrivers
in the single shell but didn't work. Could anyone give me some hints?
Regards, yf