1.启动错误信息
Freeing init memory: 92K
modprobe: FATAL: Could not load /lib/modules/2.6.30.1/modules.dep: No such file or directory
modprobe: FATAL: Could not load /lib/modules/2.6.30.1/modules.dep: No such file or directory
INIT: version 2.86 booting
跟踪分析结果:
sysvinit源码的init.c文件的init_main()有这么几行:
其中open函数的参数VT_MASTER定义为"/dev/tty0"。因此该函数在内核中的操作最终会导向对(4,0)设备的打开。
字符设备类节点的初始化代码如下:
def_chr_fops的定义如下:
chrdev_open的代码如下:
"static struct kobj_map *cdev_map"是字符类设备的注册表。
kobj_lookup的代码如下:
如果找不到(4,0)设备的注册项,则会取到字符类设备初始化时注册的缺省项,代码如下:
可见,最终会调用到request_module函数,其代码如下:
现在知道为什么会出现两行错误提示了吧,呵呵。。。我编译内核时没有选择支持VT。