我正在构建一个定制的linux内核,它应该能够访问cdrom和usb海量存储设备,但不能访问硬盘。
我试着禁用CONFIG_BLK_DEV_SD,但是我失去了对usb海量存储的支持。
我怎样才能做到这一点?如果不可能,是否有办法在启动时删除/dev中的硬盘节点?
发布于 2014-05-08 08:36:54
首先,您需要定义“硬盘”到底是什么意思。
其次,您需要将上述定义表示为一组udev规则。这样,您不想要的设备的设备节点一开始甚至不会在/dev/中创建。
这里有一个关于udev规则的很好的教程:
rules.html
发布于 2014-05-08 10:07:52
坦率地说,我很惊讶您甚至管理了一个禁用CONFIG_BLK_DEV_SD的可引导系统:现代Linux内核漏斗几乎所有存储I/O都通过SCSI层,然后处理特定类型的存储(SATA、PATA、USB海量存储等等)。作为SCSI的口味。
我会尝试禁用系统下一层的功能:启用SCSI磁盘和光盘支持,然后禁用所有实际与这些磁盘对话的方法:低级SCSI驱动程序、ATA SFF支持、ACHI支持等等。
https://stackoverflow.com/questions/23535865
复制相似问题