Предисловие. Долго искал как пустить на запись ntfs, а эту тему прочитал до дыр. В линуксе я чайник, но смог в этом разобраться. И решил помоч таким же как я. К сожалению здесь очень много умных, которые тока посылают "иди и читай всю тему", а вот взять и подробно написать, что знаешь - единицы.
Думаю данный метод подойдет на роутеры ASUS и D-Link с прошивками 1.9.2.7-d-rXXXX. Для серии RTN это не потребуется, т.к. fuse и ntfs-3g уже встроены в прошивку.
1) прошить роутер прошивкой от интузиастов установить «скрипт для чайников»
2) сделать настройки сети (загрузить файл с настройками)
3) расшарить в стандартной Samba 3-й раздел флешки /tmp/mnt/disc0_3
Если установили Samba 3.5 ни в коем случае НЕ включаем самбу из прошивки. По умолчанию в самбе 3.5 расшарены папки (например www, rTorrent, DIEngine).
4) скопировать модуль fuse с компьютера на disc0_3, например /disc0_3/downloads/fuse/. Если у Вас самба 3.5, то можно воспользоваться готовыми папочками, например /www/.
P.S. файл fuse.o можно взять в modules-1.9.2.7-d___.tgz (лежит в \.\lib\modules\2.4.37.10\kernel\fs\fuse\)
5) Запускаем Pytty (протокол ssh). Далее действия проводятся в Pytty.
6) Установим модули:
PHP Code:
ipkg install libhid
ipkg install libusb
ipkg install usbutils
ipkg install ntfs-3g
ipkg install ntfsprogs
7) проверим как примонтированы диски
lsusb - проверить видит ли устройство hdd
PHP Code:
Bus 002 Device 001: ID 0000:0000
Bus 002 Device 002: ID 0424:2502 Standard Microsystems Corp.
Bus 002 Device 003: ID 0951:1602 Kingston Technology
Bus 002 Device 004: ID 04e8:1f08 [B]Samsung Electronics Co., Ltd[/B]
Bus 001 Device 001: ID 0000:0000
fdisk -l - проверить файловую систему и размер разбитых дисков
PHP Code:
Disk /dev/scsi/host0/bus0/target0/lun0/disc: 2063 MB, 2063597568 bytes
16 heads, 32 sectors/track, 7872 cylinders
Units = cylinders of 512 * 512 = 262144 bytes
Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 978 250352 82 Linux swap
/dev/scsi/host0/bus0/target0/lun0/part2 979 4885 1000192 83 Linux
/dev/scsi/host0/bus0/target0/lun0/part3 4886 7872 764672 83 Linux
Disk /dev/scsi/host1/bus0/target0/lun0/disc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id [B]System
/dev/scsi/host1/bus0/target0/lun0/part1 1 2550 20481851 7 HPFS/NTFS
/dev/scsi/host1/bus0/target0/lun0/part2 2551 121601 956276736 7 HPFS/NTFS[/B]
df -h - просмотреть как примонтированы разделы
PHP Code:
Filesystem Size Used Avail Use% Mounted on
rootfs 3,0M 3,0M 0 100% /
/dev/root 3,0M 3,0M 0 100% /
tmpfs 15M 248K 15M 2% /tmp
/dev/discs/disc0/part2
962M 411M 503M 45% /opt
/dev/discs/disc0/part3
735M 18M 681M 3% /tmp/mnt/disc0_3
[B]/dev/scsi/host1/bus0/target0/lun0/part1
20G 3,0G 17G 16% /tmp/mnt/disc1_1
/dev/scsi/host1/bus0/target0/lun0/part2
912G 84G 829G 10% /tmp/mnt/disc1_2[/B]
8)скопируем fuse.o в нужный раздел командой cp полный_путь_до_файла /opt/lib/ .
Например:
cp /tmp/mnt/disc0_3/downloads/fuse.o /opt/lib/
или
cp /opt/share/www/fuse.o /opt/lib/
Вручную:
- Запускаем Midnight Commander командой mc
- идем в раздел где лежит fuse.o (/tmp/mnt/disc0_3/downloads/ или /opt/share/www/), копируем (F5) в раздел /opt/lib/
9) В Midnight Commander открываем файл для редактирования (F4) post-mount (/usr/local/sbin/) и добавляем строки:
PHP Code:
umount /tmp/mnt/disc1_1
umount /tmp/mnt/disc1_2
insmod /opt/lib/fuse.o
/opt/bin/ntfs-3g -o rw /dev/discs/disc1/part1 /tmp/mnt/disc1_1
/opt/bin/ntfs-3g -o rw /dev/discs/disc1/part2 /tmp/mnt/disc1_2
сохраняем (F2) изменения и выходим (F10) из Midnight Commander
10) для сохранения трудов и перезагрузки введем 2 строчки
PHP Code:
flashfs save && flashfs commit && flashfs enable
reboot
11) проверим заработала ли запись
скопируем для примера наш fuse
PHP Code:
cp /opt/lib/fuse.o /tmp/mnt/disc1_1/
через Midnight Commander проверим его присутствие в /tmp/mnt/disc1_1/