LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1958|回复: 5

为什么我在/dev下找不到fb0设备(uclinux 44B0)

[复制链接]
发表于 2007-3-20 09:28:36 | 显示全部楼层 |阅读模式
我的cmdline= console=tty0 console=ttyS0,115200
串口工作正常,能够输入命令。启动信息如下:
。。。。。
VFS: Mounted root (romfs filesystem) readonly.
Freeing init memory: 64K

Sash command shell (version 1.1.1)
/>
但是lcd的启动信息企鹅出现,Freeing init memory: 64K以后就没有了,但是光标在闪
我在串口控制台中ls /dev 后显示:
console cua0 cua1 kmem mem null ptyp0 ptyp1
ptyp2 ptyp3 ptyp4 ptyp5 ptyp6 ptyp7 ptyp8 ptyp9
ptypa ptypb ptypc ptypd ptype ptypf ram0 ram1
random rom0 rom1 rom2 rom3 rom4 rom5 rom6
rom7 rom8 rom9 tty tty0 tty1 tty2 tty3
ttyS0 ttyS1 ttyp0 ttyp1 ttyp2 ttyp3 ttyp4 ttyp5
ttyp6 ttyp7 ttyp8 ttyp9 ttypa ttypb ttypc ttypd
ttype ttypf urandom zero
/>

但是在chr_dev_init函数中如下代码已经执行。
#if defined (CONFIG_FB)
fbmem_init();
#end
在fbmem_init中该句语句执行正确
if (devfs_register_chrdev(FB_MAJOR,"fb",&fb_fops))//返回0
printk("unable to get major %d for fb devs\n", FB_MAJOR);//没有被执行。
那么FB_MAJOR设备应该注册上了。而且我的LCD中也有显示。
文件系统是ROMFS。
为什么/dev下找不到fb0设备?请大侠们帮助。
发表于 2007-3-20 09:58:29 | 显示全部楼层
假如内核确实已经加上了 fb 的支持并打开了相应的选项, 那么不妨自己建立此设备
mknod /dev/fb0 c 29 0
另外可能要相应地将它归于特定的用户或者组, 以及分配相应的权限

直接从 PC 上把此文件拷过去也行, 用 cp -R 拷
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-20 11:24:07 | 显示全部楼层
/> mknod /dev/fb c 29 0
mknod: cannot make device /dev/fb
pid 39: failed 256
是不是我的FS是romfs的原因?
回复 支持 反对

使用道具 举报

发表于 2007-3-20 11:38:45 | 显示全部楼层
这当然是要在制作 romfs 时添加设备啦

不过如果你的程序可以指定设备位置, 那么作为一个测试, 可以在某些位置, 比如 /tmp 目录, 一般它都是有写权限的建立一个 fb 设备, 然后让你的程序使用它
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-20 12:31:00 | 显示全部楼层
是不是我可以用如下命令再/tmp来创建fb0呢?
/> mknod /tmp/fb c 29 0
我回去试一下.
另外,这当然是要在制作 romfs 时添加设备啦-----怎么添加呢?是不是我要重新编译一下make romfs就可以了呢?我的工作现在不做linux,所以只能晚上自己摸索的调试,问题可能很幼稚,不要见笑
回复 支持 反对

使用道具 举报

发表于 2007-3-20 12:44:30 | 显示全部楼层
我只能提供大体上的思路, 但是具体的做法要由楼主自己决定的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表