Народ что вы мучаетесь, есть более легкие способы скомпилить NTFS
Вот один из них:
1. Узнаем версию ядра, установленную инсталятором linux.
$ uname -a
Linux amarie.avalon.ru 2.4.18-3 #1 Thu Apr 18 07:37:53 EDT 2002 i686 unknown
Инсталлировано ядро версии 2.4.18, (patchlevel 3 от RedHat), собственно его исходные тексты нам и понадобятся.
2. Монтируем CD с дистрибутивом и находим пакет с исходными текстами kernel-source-2.4.18-3.i386.rpm, но этого мало, потому как нужны средства разработки - компилятор, компоновщик и т.д. Ищем их на дистрибутивном CD:
копилятор gcc-2.96-110.i386.rpm
библиотека языка С glibc-devel-2.2.5-34.i386.rpm
заголовочные файлы ядра glibc-kernheaders-2.4-7.14.i386.rpm
инсталлируем в систему в указаном порядке:
# rpm -ihv glibc-kernheaders-2.4-7.14.i386.rpm
# rpm -ihv glibc-devel-2.2.5-34.i386.rpm
# rpm -ihv gcc-2.96-110.i386.rpm
# rpm -ihv kernel-source-2.4.18-3.i386.rpm
теперь в директории /usr/src/linux-2.4.18-3 располагаются исходные тексты нашего драйвера, а точнее конечно, в директории /usr/src/linux-2.4.18-3/fs/ntfs.
3. Собственно, можно приступать к компиляции и сборке драйвера.
# cd /usr/src/linux-2.4.18-3/fs/ntfs
# cat Makefile | grep NTFS_VERSION
EXTRA_CFLAGS = -DNTFS_VERSION=\"1.1.22\" #-DDEBUG
# gcc -c -DMODULE -D__KERNEL__ -DNTFS_VERSION=\"1.1.22\" -I/usr/src/linux-2.4.18-3/include *.c
# ld -r -m elf_i386 -o ntfs.o *.o
Можно взглянуть на полученый драйвер:
# modinfo ./ntfs.o
filename: ./ntfs.o
description: "Linux NTFS driver"
author: "Anton Altaparmakov <aia21@cus.cam.ac.uk>"
license: "GPL
4. Теперь его необходимо разместить в специальной директории, откуда он будет доступен по требованию, при монтировании NTFS.
# mkdir -p /lib/modules/2.4.18-3/kernel/fs/ntfs
# cp ./ntfs.o /lib/modules/2.4.18-3/kernel/fs/ntfs
# depmod -a
5. Удачного монтирования!
Только он компилируется в read only по умолчанию, потому как write support is dangerous.
Если хочется read/write, то (минздрав предупреждает!)
# cd /usr/src/linux-2.4.18-3
# ls configs
выбираем подходящий config файл ...
# cp configs/kernel-2.4.18-i686.config .config
# vi .config
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS_RW is not set
заменить на
CONFIG_NTFS_FS=m
CONFIG_NTFS_RW=y
пересобираем модуль, воспользовавшись системой сборки ядра linux...
# make oldconfig
# make SUBDIRS=/usr/src/linux-2.4.18-3/fs/ntfs modules
