![`udevadm 테스트`를 실행할 때: `읽을 수 있는 데이터베이스 파일이 없습니다. /run/udev/data/+gpio_sw:PA7: 해당 파일이나 디렉터리가 없습니다`](https://linux55.com/image/80100/%60udevadm%20%ED%85%8C%EC%8A%A4%ED%8A%B8%60%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%A0%20%EB%95%8C%3A%20%60%EC%9D%BD%EC%9D%84%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.%20%2Frun%2Fudev%2Fdata%2F%2Bgpio_sw%3APA7%3A%20%ED%95%B4%EB%8B%B9%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%EB%82%98%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EA%B0%80%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4%60.png)
저는 Orange Pi의 GPIO 핀과 일치하는 udev 규칙을 작성하려고 합니다(GPIO는 gpio-sunxi 커널 모듈을 사용합니다). 나의 궁극적인 목표는 특정 그룹의 구성원인 사용자가 GPIO에 액세스할 수 있도록 하는 것입니다. 문제의 기기는 다음과 같습니다.
$ udevadm info -a /sys/class/gpio_sw/PA7
...
looking at device '/devices/platform/gpio_sw.11/gpio_sw/PA7':
KERNEL=="PA7"
SUBSYSTEM=="gpio_sw"
DRIVER==""
ATTR{cfg}=="0"
ATTR{drv}=="0"
ATTR{data}=="0"
ATTR{pull}=="0"
looking at parent device '/devices/platform/gpio_sw.11':
KERNELS=="gpio_sw.11"
SUBSYSTEMS=="platform"
DRIVERS=="gpio_sw"
looking at parent device '/devices/platform':
KERNELS=="platform"
SUBSYSTEMS==""
DRIVERS==""
규칙을 추가하지 않아도 제목에 언급된 오류가 발생합니다.
$ udevadm test /sys/class/gpio_sw/PA7
...
rules contain 196608 bytes tokens (16384 * 12 bytes), 25689 bytes strings
14493 strings (120055 bytes), 12021 de-duplicated (96839 bytes), 2473 trie nodes used
no db file to read /run/udev/data/+gpio_sw:PA7: No such file or directory
no db file to read /run/udev/data/+platform:gpio_sw.11: No such file or directory
Unload module index
...
ACTION=add
DEVPATH=/devices/platform/gpio_sw.11/gpio_sw/PA7
SUBSYSTEM=gpio_sw
USEC_INITIALIZED=271329566
반면에 udevadm test /sys/block/mmcblk0
이러한 오류는 표시되지 않지만 이전에 적용된 작업에 대한 자세한 정보는 표시되지 않습니다 Unload module index
. 마지막으로 예상된 결과가 표시됩니다 DEVLINKS=...
. PA7
나만의 규칙을 추가하든 안 하든 이런 내용은 보이지 않습니다.
/run/udev/data/+gpio_sw:PA7
합계에는 어떤 정보가 포함되어야 합니까/run/udev/data/+platform:gpio_sw.11
? 왜 누락되었나요?- 그것이 필요한 문제를 해결할 수 있습니까?