1

我确实将 linux 内核从 2.6 升级到 3.10 版本在 init nn 2.6 我确实挂载了 usbfsmount -t usbfs usbfs /proc/bus/usb -onodev,nosuid,noexec

为了启用usbfs,我在内核的配置中做了CONFIG_USB_DEVICEFS=yCONFIG_USB_DEVICE_CLASS=y但它们在3.10内核中已经过时了

那么如何在 3.10 内核上模拟 usbfs?我找到了以下主题https://bugs.launchpad.net/ubuntu/+source/linux/+bug/488274

建议在哪里制作

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根本没有

有没有人有可以帮助我的想法?

4

2 回答 2

3

我有同样的问题。这个问题的原因是libusb看进去了/dev/bus/usb,但是最近的内核把它移到了sysfs/sys/bus/usb

我所做的是ln -s /sys/bus /dev/bus创建一个symlinkfrom devtosys以便libusb可以找到 usb 子系统。

或者,您可以使用绑定安装。您的命令的问题是目标挂载点需要在绑定挂载成功之前存在。在这种情况下mkdir /dev/bus

于 2015-05-02T01:07:07.807 回答
2

我必须让我的 C 程序在运行 CentOS 7 的 SuperMicro 机器上与我的 USB 连接 LCD 一起工作。由于不推荐使用 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 内核启动参数(然后运行 ​​grub2-mkconfig)以恢复我的 ole“eth0”命名标准,以便我可以通过 lcd 面板编辑网络配置:

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
于 2016-11-05T02:25:11.937 回答