【Linux系统编程应用】 Linux系统中找不到设备/dev/fb0

时间:2021-03-11 11:17:12

【重新编译内核的方法】

如果/dev/没有fb0设备的话,关键在于内核里面是否加载了此设备,如果加载此设备,则根据对应的主设备号使用mknod来创建设备,否则如果内核没有加载此设备即使创建100个设备节点也不顶用,需要重新编译内核;
fb0设备位于如下选项:

1.下载标准的内核代码(linux-2.6.1x或者linux-2.6.3x都行)
执行make menuconfig打开内核定制界面,根据PC的硬件定制基本设备

2.fb0位于Device Drivers->Graphics Support-->Support for frame buffer devices
根据帮助选择framebuf及VGA等选项

3.执行make && sudo make install安装内核至/boot/目录下
sudo 用于加载root权限或者直接用root用户安装

4.安装模块make modules_install

5.制作initrd文件;
sudo mkinitrd -o /boot/initrd.img-2.6.xx.gz 2.6.x

6.手动修改grub配置菜单,
/boot/grub/menu.lst

开机选择自己的内核启动,检查/dev/fb0是否存在

上述其他专家提示menu.lst的配置选项VGA=0x318等信息用于指定字符界面屏幕的分辨率


【常用的方法】

1. 手动创建两个字符设备

[root@uplooking fb]# mknod  /dev/fb0 c 29 0
[root@uplooking fb]# mknod  /dev/fb1 c 29 1
[root@uplooking fb]# 


2. 修改内核启动参数

以红帽系统为例如下图所示:

【Linux系统编程应用】 Linux系统中找不到设备/dev/fb0

配置选项VGA=0x318等信息用于指定字符界面屏幕的分辨率

分辨率的设置根据如下图片设置

【Linux系统编程应用】 Linux系统中找不到设备/dev/fb0


3. 重新启动系统

[root@uplooking fb]# reboot