我确实将linux内核从2.6版本升级到3.10版本在init nn 2.6中,我确实安装了usbfs mount -t usbfs usbfs /proc/bus/usb -onodev,nosuid,noexec
为了启用usbfs,我在内核的配置中执行了CONFIG_USB_DEVICEFS=y
和CONFIG_USB_DEVICE_CLASS=y
但它们在3.10内核中已经过时
那么,如何在3.10内核上模拟usbfs呢?我发现了以下主题https://bugs.launchpad.net/ubuntu/+source/linux/+bug/488474
建议在哪里制作
mount --bind /dev/bus /proc/bus
ln -s /sys/kernel/debug/usb/devices /proc/bus/usb/devices
但是mount --bind /dev/bus /proc/bus
告诉我
mount: special device /dev/bus does not exist
根本没有/dev/bus
有人有什么想法可以帮助我吗?
我也遇到了同样的问题。这个问题的原因是libusb
在/dev/bus/usb
中查找,但最近的内核将其移动到/sys/bus/usb
下的sysfs
中。
我所做的是ln -s /sys/bus /dev/bus
创建一个从dev
到sys
的symlink
,以便libusb
可以找到usb子系统。
或者,您可以使用绑定装载。命令的问题在于,在绑定装载成功之前,目标装载点必须存在。在这种情况下,mkdir /dev/bus
。
我必须让我的C程序与我的usb连接的LCD在运行CentOS 7的SuperMicro盒子上工作。随着usbfs的弃用,/proc/bus/usb库也随之移动。在/etc/rc.local:
#
/usr/bin/mount --bind /dev/bus /proc/bus
/usr/bin/ln -s /sys/bus /dev/bus
/usr/bin/ln -s /sys/kernel/debug/usb/devices /proc/bus/usb/devices
我还必须在/etc/default/grub中更新我的grub2内核引导参数(然后运行grub2mkconfig),以恢复我的ole"eth0"命名标准,这样我就可以通过lcd面板编辑网络配置:
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"