После указания количества блоков данных -в первой команде (при создании хеш-дерева -)все работает.
Я полагаю, что если не указать количество блоков данных для хеширования, verity хэширует все устройство. Затем, когда он записывает хеш-дерево по указанному смещению, блоки этого раздела диска, очевидно, изменятся -, поэтому при проверке ранее рассчитанные хэши больше не содержат данных.
Так почему он все еще хочет проверить этот раздел, даже если при проверке указана опция «блоки данных -»? Потому что, согласно документации, эту опцию нельзя использовать при верификации, можно использовать только смещение хеша и не использовать суперблок -. Информация об области для проверки должна храниться в заголовке хеш-раздела при создании.
/proc
и узлы устройств в /dev
предназначены для пространства пользователя -; ядру они не нужны, и модули ядра не должны их использовать.
Вместо этого, чтобы получить доступ к GPIO, вы должны использоватьioremap
и различные функции ioread...
иiowrite...
:ioremap
, чтобы получить адрес, соответствующий физическому адресу, который вам нужен, и другие функции для выполнения ИО.
Я не знаю, -как получить информацию о дереве устройств -, которую вы получаете от /proc
, но для этого должны быть функции ядра -.