我正在构建一个自定义Linux内核,它应该能够访问cdrom和usb大容量存储设备,但不能访问硬盘。
我尝试禁用CONFIG_BLK_DEV_SD,但我失去了usb海量存储支持。
我怎样才能实现这一目标?如果不可能,有没有办法在启动时删除/ dev中的硬盘节点?
答案 0 :(得分:1)
首先,你需要定义什么,"硬盘"装置
其次,您需要将上述定义表达为一组udev
规则。这样,您不想要的设备的设备节点甚至不会首先在/dev/
中创建。
udev
规则的一个很好的教程是:
答案 1 :(得分:0)
坦率地说,我甚至惊讶于你甚至管理了一个禁用CONFIG_BLK_DEV_SD的可启动系统:现代Linux内核几乎通过SCSI层汇集所有存储I / O,然后处理特定类型(SATA,PATA,USB海量存储,等)作为SCSI的风味。
我尝试禁用系统中下一层的内容:启用SCSI磁盘和CD-ROM支持,然后禁用与这些磁盘实际通信的所有方法:低级SCSI驱动程序,ATA SFF支持, ACHI支持等