Lx4U-book/docs/build-system/linux-headers.md

52 lines
3.1 KiB
Markdown
Raw Normal View History

2021-10-01 20:12:25 +08:00
# Заголовочные файлы ядра Linux
2021-06-16 22:57:44 +08:00
2021-10-31 20:28:04 +08:00
Ссылка для скачивания: {{ include('../packages/linux/.url') }}
2021-06-16 22:57:44 +08:00
<br />
2021-10-31 20:28:04 +08:00
Текущая версия: <b>{{ include('../packages/linux/.version') }}</b>
2021-06-16 22:57:44 +08:00
<br />
Важность: <b>Необходимый</b>
2021-06-28 07:13:28 +08:00
Файлы заголовков определяют способ определения функций в исходном файле. Они используются таким образом, чтобы компилятор мог проверить правильность использования функции в качестве сигнатуры функции (возвращаемое значение и параметры) в файле заголовка. Для этой задачи фактическая реализация функции не требуется.
2021-06-16 22:57:44 +08:00
Когда вы компилируете драйвер устройства как модуль ядра, вам необходимы установленные заголовочные файлы ядра. Также они требуются, если вы собираете пользовательское приложение, которое взаимодействует напрямую с ядром.
2021-06-16 22:57:44 +08:00
???+ warning
Версия заголовочных файлов должна соответствовать версии устанавливаемого ядра.
2021-06-16 22:57:44 +08:00
## Сборка
???+ note
**Данный пакет является частью архива с ядром Linux**.
2021-06-16 22:57:44 +08:00
Убедитесь, что в архив не включены файлы которые могут помешать сборке.
2021-06-16 22:57:44 +08:00
```bash
make mrproper
```
Эта команда выполнит очистку дерева исходных текстов. Разработчики ядра рекомендуют, чтобы эта команда выполнялась перед каждым процессом компиляции.
2021-06-16 22:57:44 +08:00
### Подготовьте заголовки для использования:
```bash
make headers
```
## Установка
```bash
find usr/include -name '.*' -delete
rm usr/include/Makefile
cp -rv usr/include $LIN/usr
```
???+ danger
Заголовочные файлы, расположенные в системном каталоге `/usr/include`, должны всегда быть те, которые использовались при компиляции [Glibc](build-system/glibc). Их никогда не следует заменять на чистые заголовочные файлы ядра или любые другие подготовленные заголовочные файлы.
2021-06-16 22:57:44 +08:00
### Установленные файлы
Данный пакет устанавливает множество заголовочных файлов, в частности ` /usr/include/asm/*.h, /usr/include/asm-generic/*.h, /usr/include/drm/*.h, /usr/include/linux/*.h, /usr/include/misc/*.h, /usr/include/mtd/*.h, /usr/include/rdma/*.h, /usr/include/scsi/*.h, /usr/include/sound/*.h, /usr/include/video/*.h, and /usr/include/xen/*.h`