Yocto:无法让我的 beagleboard 工作:没有帧缓冲设备

Posted

技术标签:

【中文标题】Yocto:无法让我的 beagleboard 工作:没有帧缓冲设备【英文标题】:Yocto: Can't get my beagleboard working: no framebuffer device 【发布时间】:2016-05-24 05:39:20 【问题描述】:

我有一个 beagleboard BB-MB-000 Rev. C4,并使用配方 linux-ti-staging_4.4.bb 从 meta-ti-layer 构建一个 core_image_sato 和一个 uImage 4.4.9。 我试图从 nand 启动我的 Beagleboard,因为我无法从 mmc 启动它。但这不是现在的问题。

由于缺少 fb0 设备,xserver 无法启动:

[    3.320000] VAUX3: disabling
[    3.330000] VDAC: disabling
[    3.330000] VMMC1: disabling
[    3.340000] VUSB1V5: disabling
[    3.340000] VUSB1V8: disabling
[    3.350000] VUSB3V1: disabling
[    3.350000] hsusb2_vbus: disabling
[    3.520000] jffs2: Empty flash at 0x01606f10 ends at 0x01607000
[    5.220000] jffs2: notice: (1) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and.
[    5.240000] VFS: Mounted root (jffs2 filesystem) on device 31:4.
[    5.240000] devtmpfs: mounted
[    5.250000] Freeing unused kernel memory: 420K (c085d000 - c08c6000)
[    5.260000] This architecture does not have kernel memory protection.
INIT: version 2.88 booting
Error opening /dev/fb0: No such file or directory
Starting udev
[    6.990000] udevd[798]: starting version 3.1.5
[    7.450000] random: udevd urandom read with 17 bits of entropy available
bootlogd: cannot allocate pseudo tty: No such file or directory
ALSA: Restoring mixer settings...
INIT: Entering runlevel: 2
/usr/sbin/alsactl: load_state:1735: No soundcards found...

由于缺少帧缓冲设备 xinit 最终出现错误:

X.Org X Server 1.18.0
Release Date: 2015-11-09
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.2.0-1-amd64 x86_64 
Current Operating System: Linux beagleboard 4.4.9-gba05e8fda2 #4 SMP Tue May 17 20:56:11 CEST 2016 armv7l
Kernel command line: console=ttyO2,115200n8 root=/dev/mtdblock4 rw rootfstype=jffs2 mpurate=auto buddy=zippy 
camera=lbcm3m1 vram=12M omapfb.mode=dvi:1280x1024MR-16@60
Build Date: 12 May 2016  05:40:39AM
Current version of pixman: 0.32.8
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri May 20 16:53:51 2016
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE) 
Fatal server error:
(EE) no screens found(EE) 
(EE) 
Please consult the The X.Org Foundation support 
     at http://wiki.x.org
for help. 
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE) 
(EE) Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: Bad file descriptor
xinit: server error

这里是内核配置部分,可能与帧缓冲区有关:

#
# Graphics support
#
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
# CONFIG_IMX_IPUV3_CORE is not set
CONFIG_DRM=y
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_TTM=m
CONFIG_DRM_GEM_CMA_HELPER=y
CONFIG_DRM_KMS_CMA_HELPER=y
#
# Frame buffer Devices
#
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not set
#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
CONFIG_FB_ARMCLCD=y
# CONFIG_PLAT_VERSATILE_CLCD is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_DA8XX is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_FB_AUO_K190X is not set
CONFIG_FB_SIMPLE=y
# CONFIG_FB_SSD1307 is not set
# CONFIG_FB_SM712 is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
# CONFIG_LCD_L4F00242T03 is not set
# CONFIG_LCD_LMS283GF05 is not set
# CONFIG_LCD_LTV350QV is not set
# CONFIG_LCD_ILI922X is not set
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not set
CONFIG_LCD_PLATFORM=m
# CONFIG_LCD_S6E63M0 is not set
# CONFIG_LCD_LD9040 is not set
# CONFIG_LCD_AMS369FG06 is not set
# CONFIG_LCD_LMS501KF03 is not set
# CONFIG_LCD_HX8357 is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y
CONFIG_BACKLIGHT_PWM=y
# CONFIG_BACKLIGHT_PM8941_WLED is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_LP855X is not set
# CONFIG_BACKLIGHT_PANDORA is not set
CONFIG_BACKLIGHT_AS3711=y
CONFIG_BACKLIGHT_GPIO=y
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
CONFIG_BACKLIGHT_LED=y
# CONFIG_VGASTATE is not set
CONFIG_VIDEOMODE_HELPERS=y
CONFIG_HDMI=y

在尝试使用 yocto 并在互联网上搜索了几天之后,我不知道更多了。有人可以帮我吗?

【问题讨论】:

【参考方案1】:

在local.conf中移除x11和wayland:

DISTRO_FEATURES_remove = "x11 wayland"

您还必须在 U-boot uEnv.txt 中“释放”。

你在使用 Qt5 吗?

【讨论】:

Sato 基于 gtk。与此同时,我认为问题出在设备树(dtb)上,因为有很多引导消息,说硬件被禁用。 “释放”是什么意思? 在此处显示您的 uEnv.txt 的设置 bootargs=console=ttyO2,115200n8 root=/dev/mtdblock4 rw rootfstype=jffs2 mpurate=auto vram=12M omapfb.mode=dvi:1280x1024MR-16@60 bootcmd=mmc rescan; fatload mmc 0:1 0x80300000 uImage; fatload mmc 0:1 0x815f0000 beagle.dtb; bootm 0x80300000 - 0x815f0000 在此处粘贴:1) # depmod -a 2) 在此处显示 kernel.config # zcat /proc/config.gz > /tmp/kernel.config 3) 模块 fbdev 存在吗? 1) 没有输出 2) 我把它粘贴了 [pastebin.com/CTtG6j6m] 3) fbdev 不存在

以上是关于Yocto:无法让我的 beagleboard 工作:没有帧缓冲设备的主要内容,如果未能解决你的问题,请参考以下文章

Yocto:INITSCRIPT_PARAMS 无法按预期工作

yocto systemd 启动后无法启动服务

Yocto/Qt5.6:无法构建示例 Qt 应用程序

无法使用 Yocto 生成适用于 Windows 的 SDK

Yocto/Qt5.6:QXcbIntegration:无法创建平台 OpenGL 上下文

BeagleBoard:设置 ALSA 主音量