Использование варианта файловой системы ext2 в Linux - PullRequest
0 голосов
/ 01 сентября 2011

Я новичок в программировании ядра, и я кое-что застрял, поэтому я был бы признателен за помощь.Я заранее прошу прощения, если что-то подобное было задано ранее, я не нашел ни одного соответствующего поста и мог найти в Интернете объяснения, которые были бы достаточно просты для понимания того, кто неопытен в этой области, как я.

Я хочуэкспериментируйте с моей собственной версией ext2.Я получил исходные файлы с kernel.org и внес соответствующие изменения.Ничего особенного, просто чтобы проверить то, что я имел в виду.

Теперь я хочу вставить это в мое ядро ​​linux (ubuntu 2.6.31-14-generic-pae, если это имеет значение).Как я могу это сделать?

Моей (очевидно наивной) первоначальной мыслью было просто использовать make-файл, который идет вместе с ним (после ручной установки различных флагов, чтобы он имел obj-m / obj-y там, где это необходимо)и скомпилируйте его как модуль ядра.

Однако я продолжаю получать ошибки во время компиляции о переопределении макросов, неявных объявлениях функций и т. Д. Например,

    ext2.h:181:1: warning: "ext2_find_first_zero_bit" redefined
    balloc.c:574: error: implicit declaration of function dquot_free_block_nodirty

Очевидно, что это не тот путь.Я предполагаю, что в худшем случае снова компилируется все ядро ​​(с моим измененным кодом ext2 вместо оригинала), поэтому он создает соответствующую библиотеку с моим собственным ext2 и перезагружается из нового образа.Мне трудно поверить, что это лучший подход.

Возможно ли даже вставить новую файловую систему в качестве модуля ядра?

Возможно, я должен поместить свой модифицированный код ext2 в/ usr / src и каким-то образом компилировать только соответствующую библиотеку, которая содержит текущий код ext2?

В любом случае, я был бы признателен за любую помощь в том, что я должен делать.

Спасибо

1 Ответ

0 голосов
/ 01 сентября 2011

Выполните поиск и замените ext2 на my_awesome_filesystem или что-то подобное.

...