Заголовки в /usr/include/linux
- это заголовки ядра, от которых зависят glibc и другие системные библиотеки.Посмотрите, к какому пакету они принадлежат:
$ dpkg -S /usr/include/linux/if.h
linux-libc-dev: /usr/include/linux/if.h
Некоторые из заголовков glibc sys/
зависят от заголовков linux/
, и это обычно те же самые заголовки (или близкие к тем), с которыми был скомпилирован двоичный файл glibc.
Поэтому сборка собственного ядра не должна заменять его по умолчанию, иначе это может привести к двоичной несовместимости.