Вам необходимо создать или установить набор инструментов uClibc и скомпилировать / связать ваши программы с ним. Вы не компилируете их с помощью стандартного gcc / make / ....
Действительно ли мне нужно создавать набор инструментов uClibc?
В начале главы 5.1 говорится о файловой системе /proc
:
Originally designed to allow easy access to information about processes (hence the name), it is now used by every bit of the kernel which has something interesting to report, [...]
У вас нет необходимости для создания файла в файловой системе /proc
, но если вы хотите или вам нужен простой способ сообщить статистику или другую информацию о состоянии вашего модуля, /proc
файловая система — один из способов сделать это. Из-за того, как была разработана файловая система /proc
, она может быть немного дезорганизована. Вместо того, чтобы создавать несколько вещей в корне файловой системы /proc
, вы можете создать поддиректорию -для своего модуля, например,. /proc/driver
, чтобы свести к минимуму вероятность конфликтов с основным ядром, другими сторонними -модулями или будущими разработками.
Обратите внимание, что примерно в то время, когда писалась эта книга, файловая система /sys
также была представлена как более систематизированное место (и поэтому более удобное для интеграции пользовательских -пространственных инструментов )для любых настраиваемых настройки, которые могут быть у вашего модуля ядра. К сожалению, глава 6, которая должна была быть об этом, является просто заполнителем TODO: Write a chapter about sysfs
в этом PDF-файле.
(Историческая справка :До появления файловой системы /sys
файловая система /proc
использовалась как место для -настраиваемых во время выполнения настроек, обычно идентифицируемых как доступные для записи файлы. Некоторые из них, возможно, до сих пор не полностью перенесены на файловую систему /sys
или даже не будут перенесены вообще для сохранения обратной совместимости. Но для любой современной разработки лучше было бы ставить любые тюнинги в /sys
вместо /proc
.)
В современных ядрах есть также debugfs
, который можно смонтировать в /sys/kernel/debug
. Это может быть хорошим местом, если вашему модулю ядра нужен способ вывода некоторой отладочной информации. Это может быть хорошим местом для вывода более подробной/конфиденциальной отладочной информации, поскольку debugfs
предназначен только для доступа системного администратора.Также совершенно необязательна :в производственных системах, debugfs
можно просто не монтировать, если нет необходимости в углубленном -устранении неполадок.
Итак, в двух словах :, если вашему модулю необходимо обеспечить способ настройки некоторых параметров во время -выполнения, файловая система /sys
— хорошее место для них. Для отладочной информации в современных ядрах используйте debugfs
. Для статистики и подобных вещей, которые могут видеть не -пользователи root, можно использовать /proc
.