Установка пакетов на Asus RT-N56U c прошивкой серии 7.x.x.x с поддержкой optware
На этом можно было бы и закончить раздел, если бы не появившаяся в последних версиях прошивки
возможность установки дополнительного пользовательского программного обеспечения.
Для такой установки требуется флеш-накопитель или внешний жёсткий диск с интерфейсом
USB, содержащий разделы с файловой системой EXT3. К сожалению, разделы с NTFS или FAT32
не подходят, так как все симлинки пропадут после перезагрузки.
Подготовка такого диска под Windows может быть произведена с помощью Acronis DiskDirector.
В отличных от Windows операционных системах могут быть использованы другие утилиты:
gparted, fdisk, cfdisk, mkfs и другие.
Стоит также сказать, что не все ветки прошивок поддерживают такую возможность.
Мы использовали последние прошивки серии 7.x.x.x со встроенной поддержкой optware.
Так как мы не ищем лёгких путей, то форматирование разделов в EXT3 было решено произвести
непосредственно самим маршрутизатором. Мы создали NTFS раздел на USB-диске и подключили
его к RT-N56U. Те, кого полностью устраивает вариант использования DiskDirector или gparted,
могут пропустить несколько абзацев.
Дальнейшие действия требуют доступа по протоколу Telnet, разрешение которого описано в разделе
о командной строке. Убедимся в том, что внешний накопитель успешно подключён и виден в системе.
Code:
# fdisk -l
Disk /dev/sda: 750.1 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 91202 732571648 7 HPFS/NTFS
Для начала мы создаём временный каталог /tmp/test/opt и монтируем его в /opt, после чего создаём
каталог /opt/tmp/ipkg. Также затем с помощью скрипта ipkg.sh требуется установить ipkg-opt.
Весь описываемый процесс представлен ниже.
Code:
# mkdir –p /tmp/test/opt
# mount -o bind /tmp/test/opt /opt
# mkdir –p /opt/tmp/ipkg
# ipkg.sh update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/Packages ...
Connecting to ipkg.nslu2-linux.org (140.211.169.161:80)
Done.
Updated list of available packages in /opt/lib/ipkg/lists/optware
# ipkg.sh install ipkg-opt
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-13_mipsel.ipk ...
Connecting to ipkg.nslu2-linux.org (140.211.169.161:80)
Done.
Unpacking uclibc-opt...Done.
Configuring uclibc-opt...Updating /opt/etc/ld.so.cache
Done.
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-10_mipsel.ipk ...
Connecting to ipkg.nslu2-linux.org (140.211.169.161:80)
Done.
Unpacking ipkg-opt...Done.
Configuring ipkg-opt...Done.
# ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/Packages.gz
Inflating http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/optware
Successfully terminated.
Установим e2tools для форматирования раздела в EXT3.
Code:
# ipkg install e2tools
Installing e2tools (0.0.16-3) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/e2tools_0.0.16-3_mipsel.ipk
Installing e2fsprogs (1.41.12-1) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/e2fsprogs_1.41.12-1_mipsel.ipk
Installing e2fslibs (1.41.12-1) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/e2fslibs_1.41.12-1_mipsel.ipk
Configuring e2fslibs
Configuring e2fsprogs
update-alternatives: Linking //opt/bin/chattr to /opt/bin/e2fsprogs-chattr
update-alternatives: Linking //opt/bin/lsattr to /opt/bin/e2fsprogs-lsattr
update-alternatives: Linking //opt/sbin/fsck to /opt/sbin/e2fsprogs-fsck
Configuring e2tools
Successfully terminated.
Необходимо размонтировать подключённый диск и отформатировать его, но диск уже используется.
Code:
# umount /dev/sda1
umount: can't umount /media/AiDisk_a1: Device or resource busy
В нашем случае ресурс использовался процессами minidlna и mt-daapd, которые требуется убить
перед размонтированием. Если по какой-то причине размонтировать диск не удаётся, на помощь
придёт lsof, с помощью которого можно определить, какие именно процессы используют файлы на
внешнем диске. Возможно, что убитые процессы через определённое время будут перезапущены,
поэтому поиск открытых файлов не помешает в любом случае.
Code:
# ipkg install lsof
Installing lsof (4.82-1) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/lsof_4.82-1_mipsel.ipk
Configuring lsof
Successfully terminated.
# lsof +D /media/AiDisk_a1/
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
minidlna 1011 admin 6w REG 8,1 372 63 /media/AiDisk_a1/.dms/minidlna.log
minidlna 1011 admin 7u REG 8,1 73728 64 /media/AiDisk_a1/.dms/files.db
minidlna 1017 admin 6w REG 8,1 372 63 /media/AiDisk_a1/.dms/minidlna.log
minidlna 1017 admin 7u REG 8,1 73728 64 /media/AiDisk_a1/.dms/files.db
minidlna 1018 admin 6w REG 8,1 372 63 /media/AiDisk_a1/.dms/minidlna.log
minidlna 1018 admin 7u REG 8,1 73728 64 /media/AiDisk_a1/.dms/files.db
mt-daapd 1034 admin 12uW REG 8,1 12288 67 /media/AiDisk_a1/.itunes/songs.gdb
mt-daapd 1037 admin 12u REG 8,1 12288 67 /media/AiDisk_a1/.itunes/songs.gdb
mt-daapd 1038 admin 12u REG 8,1 12288 67 /media/AiDisk_a1/.itunes/songs.gdb
mt-daapd 1039 admin 12u REG 8,1 12288 67 /media/AiDisk_a1/.itunes/songs.gdb
# killall -9 minidlna
# killall -9 mt-daapd
# lsof +D /media/AiDisk_a1/
# umount /dev/sda1
Теперь приступим непосредственно к форматированию раздела:
Code:
# ln -s /proc/mounts /etc/mtab
# mkfs.ext3 -t ext3 /dev/sda1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
45793280 inodes, 183142912 blocks
9157145 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
5590 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
После чего нужно будет сменить его идентификатор.
Code:
# fdisk /dev/sda
The number of cylinders for this disk is set to 91201.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): l
0 Empty 1b Hidden Win95 FAT32 9f BSD/OS
1 FAT12 1c Hidden W95 FAT32 (LBA) a0 Thinkpad hibernation
4 FAT16 <32M 1e Hidden W95 FAT16 (LBA) a5 FreeBSD
5 Extended 3c Part.Magic recovery a6 OpenBSD
6 FAT16 41 PPC PReP Boot a8 Darwin UFS
7 HPFS/NTFS 42 SFS a9 NetBSD
a OS/2 Boot Manager 63 GNU HURD or SysV ab Darwin boot
b Win95 FAT32 80 Old Minix b7 BSDI fs
c Win95 FAT32 (LBA) 81 Minix / old Linux b8 BSDI swap
e Win95 FAT16 (LBA) 82 Linux swap be Solaris boot
f Win95 Ext'd (LBA) 83 Linux eb BeOS fs
11 Hidden FAT12 84 OS/2 hidden C: drive ee EFI GPT
12 Compaq diagnostics 85 Linux extended ef EFI (FAT-12/16/32)
14 Hidden FAT16 <32M 86 NTFS volume set f0 Linux/PA-RISC boot
16 Hidden FAT16 87 NTFS volume set f2 DOS secondary
17 Hidden HPFS/NTFS 8e Linux LVM fd Linux raid autodetect
Hex code (type L to list codes): 83
Changed system type of partition 1 to 83 (Linux)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table
продолжение следует ... http://www.foxnetwork.ru/index.php/r...s-rt-n56u.html