То устройство имеет те же блоки, использованное и свободное пространство как Ваш rootfs
файловая система, таким образом, они - вероятно, то же. Можно проверить, где uuid указывает на с:
ls -l /dev/disk/by-uuid/ef55765f-dae5-426f-82c4-0d98265c5f2
Мое предположение - то, что Вы просто загрузились от жизненной файловой системы на изображении CD-ROM.
Обычно я подхожу к этому вопросу следующим образом. Я использую систему Fedora 19, но это будет работать с любым дистрибутивом, который предоставляет службы locate
.
$ locate "linux/init.h" | grep include
/usr/src/kernels/3.13.6-100.fc19.x86_64.debug/include/linux/init.h
/usr/src/kernels/3.13.7-100.fc19.x86_64.debug/include/linux/init.h
/usr/src/kernels/3.13.9-100.fc19.x86_64/include/linux/init.h
/usr/src/kernels/3.13.9-100.fc19.x86_64.debug/include/linux/init.h
Ваши пути будут другими, но главное - попросить найти
, чтобы найти, что включено ("linux / init.h"), и отфильтровать эти результаты по ключевому слову ] включают
.
Существуют также специфические для дистрибутива способы поиска этих мест с помощью RPM (Redhat) или APT (Debian / Ubuntu).
Обратите внимание, однако, что пути в файле C / C ++ являются относительными:
#include <linux/init.h>
Это сделано для того, чтобы при вызове компилятора gcc
вы могли переопределить расположение включаемого файлы, которые вы хотите использовать. Это управляется переключателем -I
.
отрывок из man gcc
-I dir
Add the directory dir to the list of directories to be searched for
header files. Directories named by -I are searched before the
standard system include directories. If the directory dir is a
standard system include directory, the option is ignored to ensure
that the default search order for system directories and the special
treatment of system headers are not defeated . If dir
begins with "=", then the "=" will be replaced by the sysroot
prefix; see --sysroot and -isysroot.
В этой статье обсуждается, как можно включить разработку собственных модулей ядра в «среду сборки», включенную в ядро Linux. Статья называется: Перенос драйверов: компиляция внешних модулей . Организация make-файла ядра также рассматривается в этой статье: makefiles.txt .
Для новичков в ядре есть также эта статья: KernelHeaders с веб-сайта kernelnewbies.org.
ПРИМЕЧАНИЕ: Ядро использует систему KBuild, которая рассматривается здесь как часть документации, включенной в ядро.
Ответы часто относятся к конкретному дистрибутиву, потому что для этого у них может быть специальный механизм. В случае Debian есть Справочник по ядру Debian Linux . Поскольку Ubuntu по сути является Debian, все это должно применяться. Если я правильно понял, вы спрашиваете об установке ядра. Один из подходов, и это хороший вариант, - создать двоичный пакет для ядра и заголовков ядра и установить их, и это руководство покажет вам, как это сделать. См. Также мой ответ на вопрос «Как обновить ядро Debian Wheezy в автономном режиме?» . Этот ответ действительно можно было бы очистить.
Обратите внимание, что использование стандартного ядра Debian / Ubuntu и бинарных пакетов заголовков ядра является вполне разумным делом и не требует компиляции.
Ядро имеет цель deb-pkg
. В debian make deb-pkg
и sudo dpkg -i
'в двух полученных пакетах (в ../
) сработали для меня как прелесть. Я думаю, что это работает и на Ubuntu. При сборке и установке они автоматически попадают в нужные места.