Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Драйвер NTFS
Показать сообщение отдельно
VartaniX


Сообщения: n/a

Профиль | Цитировать


Народ что вы мучаетесь, есть более легкие способы скомпилить 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


Отправлено: 22:14, 21-10-2003 | #22

Название темы: Драйвер NTFS