Friday, February 11, 2011

Установка OpenWRT на DIR-825 (extroot FS)

Для прошивки понадобиться Putty, WinSCP и 3proxy

Делаем роутеру 30/30/30 и заливаем прошивку (я использовал trunc версию от 10.02.11 openwrt-ar71xx-generic-dir-825-b1-jffs2-factory.bin)
После этого заходим телнетом и выставляем рутовый пароль:

telnet 192.168.1.1
#passwd

Прописываем рабочую проксю в локалке для закачки пакетов на роутер (к примеру я использую 3proxy)
Заходим на роутер по SSH и делаем:

# echo 'option http_proxy http://192.168.0.2:3128/' >> /etc/opkg.conf

После того как у роутера появился инет в виде прокси, ставим нужные нам пакеты для работы с внешним диском:

# opkg update
# opkg install kmod-usb-core kmod-usb-uhci kmod-usb-storage kmod-usb2 kmod-fs-ext3 kmod-fs-ext2 usbutils e2fsprogs block-hotplug block-mount

Уходим в ребут:

# reboot

Устанавливаем поддержку extroot:

# opkg update
# opkg install block-extroot

Указываем настройки файловой системы на внешнем диске (мой диск разбит на 3 раздела: системный, своповский, файловый) (разбивку делаем заранее):

# nano /etc/config/fstab
######################################
config global automount
option from_fstab 1
option anon_mount 1

config global autoswap
option from_fstab 1
option anon_swap 0

config mount
option target /mnt
option device /dev/sda1
option fstype ext2
option options rw,sync
option enabled 1
option enabled_fsck 1
option is_rootfs 1

config mount
option target /root
option device /dev/sda3
option fstype ext3
option options rw,sync
option enabled 1
option enabled_fsck 1

config swap
option device /dev/sda2
option enabled 1
######################################


Переносим системные файлы на внешний диск:

# mount /dev/sda1 /mnt
# mkdir /tmp/root
# mount -o bind / /tmp/root
# rm -rf /mnt/*
# cp /tmp/root/* /mnt -a
# mkswap /dev/sda2
# umount /tmp/root
# umount /mnt

На последок врубаем службу fstab:

# /etc/init.d/fstab enable

И уходим в ребут:

# reboot

И проверяем все ли диски на месте:

# df -h

PS:
Также могут возникнуть проблемы если на вашем внешнем диске были ошибки, так что еcли после последнего ребута ваш роутер пингуется, но вы на него не можете зайти - значит система проверяет разделы внешнего диска. (Можно как вариант отцепить диск, ребутнуть роутер и выставить в файле /etc/config/fstab параметр option enabled_fsck нулевым. Но как это аукнется потом - я сказать не могу.) Также вышеописанный трабл может возникнуть при отключении энергоподачи на роутер (ну это и так понятно)

5 comments:

  1. Поднаятие 3proxy сервера для организации роутеру доступа в интернет сводиться к составлению минимальной конфигурации.

    Содержание 3proxy.cfg:
    nserver 8.8.8.8
    auth none
    proxy -n

    Запуск 3proxy сервера (конфигурационный файл лежит вместе с исполняемым файлом 3proxy):
    3proxy 3proxy.cfg

    ReplyDelete
  2. Привет, у меня к тебе вопрос, как от пользователя dir825/openwrt к такому же пользователю. Я подключил к роутеру террабайтный винт, что дало мне свободу и я понаставил туда торрент клиент, вебсервер, мускул, фтпсервер, самбу, кучу полезненьких скриптов... Естественно для всего этого дела используется extroot. Как мне обновляться? Хотелось бы ничего не терять в процессе апргейда, но на вики в хау-ту пишут, что надо перешиться и по новой сделать extroot, нет ли способа попроще?

    ReplyDelete
  3. К сожалению я тоже перепрошивался. Теми средставми обновления, что есть, ничего не получилось сделать

    ReplyDelete
  4. Спасибо - полезная статья, помогла мне.

    ReplyDelete
  5. http://obu4enie.kiev.ua/d-link-825-a-openwrt/dir-825-usb-20-.html

    ReplyDelete