我正在做一个在linux中使用大规模存储设备的项目。我正在尝试编写一个应用程序,它将列出所有连接的usb海量存储设备,并在插入新的海量存储设备时发出通知。为此,我正在使用libudev。我使用了"“中的代码。我在这里做了修改
/* Create a list of the devices in the 'block' subsystem. */
enumerate = udev_enumerate_new(udev);
udev_enumerate_add_match_subsystem(enumerate, "block");
udev
在为定制板构建和使用linux内核时,当使用Android时,MMC分区通常出现在/dev/block/mmcblkXpY中。还有在/dev/block/**/<by-name or by-uuid>等中创建的符号链接。这种映射可以在Ubuntu中看到,用于硬盘分区。
当我使用openwrt时,mmc块设备显示为/dev/mmcblkXpY。这种行为是否是可配置的?这是在用户空间完成的吗?
我正在为Beaglebone black SBC开发一个自定义的看门狗驱动程序。有一个外部实体连接到BBB。如果在一段时间内没有收到来自BBB的GPIO状态改变,它将重置电路板,这可以通过I2C设置。到目前为止,我所理解的是,从Linux软件的角度来看,应该写入/dev/watchdog设备,以便刷新看门狗外围设备,这一点很清楚。这样的事情可以由看门狗守护进程完成:https://www.systutorials.com/docs/linux/man/8-watchdog/ 这里的问题是,刷新间隔似乎被硬编码为60秒。对于我的应用程序,时间间隔要短得多(通常约为5秒),并且是可设置的(从1秒
我的Linux主板有以下问题:我的USB媒体设备每次都作为不同的设备挂载到/dev/文件夹中:
/dev/sdb1
然后,我拔下usb并再次插入,它将获得不同的名称:
/dev/sdc1
以此类推。
我希望它的名称始终是常量,所以我写了以下udev规则:
SUBSYSTEM=="block",ENV{ID_SERIAL}==" serial id ",NAME="myusbmedia"
这条规则不起作用。我可以使用以下规则的符号名称:
SUBSYSTEM=="block",ENV{ID_SERIAL}==" serial
为了存储个人数据,我用LUKS加密了一个分区,但是,根据文件管理器,得到的加密设备要小得多: 334 GB对385 GB。然而,Debian中的磁盘实用程序说加密的设备是385 GB。在挂载分区之前,文件管理器本身表示它是385 GB。
我用ext4格式化了加密的设备。如果我遗漏了什么,下面是我如何创建、格式化和挂载设备:
# cryptsetup --verify-passphrase --verbose luksFormat /dev/sdc3
WARNING!
========
This will overwrite data on /dev/sdc3 irrevocably.
Ar