init.rc里所有可用的command都定义在system/core/init/keyword.h里,默认是不包含mknod的。事实上,Android的init进程会通过kenel的uevent来自动创建设备节点(见system/core/init/devices.c里的make_device()函数)。
如果你希望手动调用mknod, 我想你可以
1. 仿照make_device(), 通过定义一个do_mknod()函数,调用bionic libc里的mknod(). 这样就可以在init.rc里加入mknod支持了;
或者
2. 在init.rc里定义一个service来调用一个shell脚本,在脚本中可以调用busybox的mknod命令
如果你希望手动调用mknod, 我想你可以
1. 仿照make_device(), 通过定义一个do_mknod()函数,调用bionic libc里的mknod(). 这样就可以在init.rc里加入mknod支持了;
或者
2. 在init.rc里定义一个service来调用一个shell脚本,在脚本中可以调用busybox的mknod命令