Спасибо за труды! Надо будет попробовать, уж если оно на rt-n16 работает, то на 66-ом летать будет...![]()
Коллеги, ниже приведён алгоритм для установки полноценного дистрибутива Debian Stable на наши роутеры без какой-либо модификации прошивки.
Из состава Debian можно будет запускать только нужные вам сервисы, поэтому издержки на подобную «виртуализацию» будут минимальны.
Алгоритм годится для любой прошивки: энтузиасткой, томатовской, мерлиновской или (практически) любой другой, включая Zyxel Keenetic.
В последнем, только отсутствует команда chroot в составе busybox'а, поэтому для кинетиков я её собрал статическим бинарником.
Подготовка файлов на Debian ПК
Debian Testing (Wheezy) на наших роутерах «не взлетит» из-за слишком старого ядра, а вот Debian Stable (Squeeze) — как огонь.
Кто желает, может воспользоваться моим готовым скриптом, здесь я распишу всё по шагам.
На ПК с Debian необходимо приготовить файловую системы дистрибутива для MIPSEL-платформы:
И подправить скрипт, финиширующий установку на роутере, чтобы он не «ругался» на то,Code:sudo apt-get install debootstrap sudo debootstrap --arch mipsel --foreign --variant=minbase --exclude=yaboot,udev,dbus --include=mc,aptitude stable ./debian ftp://ftp.debian.org/debian
что вы устанавливаете Debian не в корневую файловую систему, а в какую-то папку.
Поправьте одну строчку любым известным вам способом:
Далее запакуйте приготовленные для роутера файлы и отправьте архив на роутер:Code:--- a/debian/debootstrap/functions +++ b/debian/debootstrap/functions @@ -1252,7 +1252,7 @@ case "$HOST_OS" in *freebsd*|hurd*) ;; - *) + nothing) mknod "$1/test-dev-null" c 1 3 || return 1 if ! echo test > "$1/test-dev-null"; then rm -f "$1/test-dev-null"
sudo при упаковке не ради красного словца, к ряду файлов подготовленной файловой системе есть доступ только у root'а.Code:sudo tar -cvzf ./debian-stable-mipsel.tgz ./debian/
ПК больше не понадобится, остальные манипуляции будут прямо на роутере.
Распаковка файлов на роутере
Выберите папку на USB-носителе, изначально распакованный Debian будет занимать порядка 170 мегабайт:
Запустите второй этап установки Debian, уже на роутере:Code:cd <папка> tar -xvzf ./debian-stable-mipsel.tgz
В принципе уже всё. Для того, чтобы в новой Debian можно было устанавливать пакеты выполните:Code:mount -o bind /dev/ <папка>/debian/dev/ mount -o bind /proc/ <папка>/debian/proc/ mount -o bind /sys/ <папка>/debian/sys/ chroot ./debian /debootstrap/debootstrap --second-stage
Для ленивых я подготовил архив с уже настроенным дистрибутивом.Code:echo deb ftp://ftp.us.debian.org/debian/ stable main > ./debian/etc/apt/sources.list echo nameserver 8.8.8.8 > ./debian/etc/resolv.conf
Распаковывайте, да используйте!
Вход в chroot-среду
Выход из chroot-средыCode:mount -o bind /dev/ <папка>/debian/dev/ mount -o bind /proc/ <папка>/debian/proc/ mount -o bind /sys/ <папка>/debian/sys/ chroot <папка>/debian /bin/bash
Использование chroot-средыCode:exit
Тут всё зависит только от вашей фантазии, например, можно поставить transmission:
ВсёCode:apt-get update apt-get install transmission-daemonОн уже работает. Обратите внимание, что в chroot-среде сейчас запущен только выбранный вами сервис transmission-daemon,
никаких других дебиановских программ, включая всю «бороду» rc-скриптов, в памяти нет.
SNB: http://forums.smallnetbuilder.com/sh...ad.php?t=10558
UPD Cоставил скрипт S99debian, который будет запускать и останавливать выбранные пользователем сервисы в среде chroot.
Поместите скрипт в папку /opt/etc/init.d и отредактируйте в нём путь до распакованной Debian-среды.
ARM Для тех, кто пожелает Debian на ARM-based роутере ASUS с прошивкой asuswrt/asuswrt-merlin запилил бинарник chroot.
Базовую среду Debian придётся приготовить самому, используя эти скрипты. Только замените в них "mipsel" на "armel".
SNB: http://forums.smallnetbuilder.com/sh...ad.php?t=15528
Last edited by Omega; 01-10-2014 at 13:41. Reason: дополнение по ARM
Спасибо за труды! Надо будет попробовать, уж если оно на rt-n16 работает, то на 66-ом летать будет...![]()
RT-N66U Tomato Firmware 1.28.0000 MIPSR2-109 K26 USB AIO-64K
WL-500W: 1.9.2.7-d-r2624 + huawei 353 - дачный интернет
Чет даже попробовать захотелось. Вот только боюсь, что памяти свободной не хватит. Почти всю трансмиссия захватила. Так бы понатыкал всяких полезняшек.![]()
Роутер: RT-N66U
Прошивка: Tomato Firmware 1.28.0000 MIPSR2 K26 USB AIO-64K by Shibby
доброго времени суток, Александр. Скачал ваш архивчик, все окейно встало, запускаю дебиан, и он пишет
bash: warning: setlocale: LC_ALL: cannot change locale (ru_RU.UTF-8)
и ест-но русь не отбражается
поиском поискал, не нашел решения... Подскажите плиз, как это поправить. И еще тупй вопрос, а почему в debian нет многих ходовых команд, например ps
заранее спасибо.
RT-N66U Tomato Firmware 1.28.0000 MIPSR2-109 K26 USB AIO-64K
WL-500W: 1.9.2.7-d-r2624 + huawei 353 - дачный интернет
Спасибо, все получилось. Теперь, если позволите, чисто теоритический вопрос... Как думаете, вот это http://forum.torrentstream.org/index.php?topic=1464.0 реално поднять на 66-ом для просмотра через nstreamplayer_lmod (или просто lmod) на телевизоре. То есть от всего этого хозяйства для линукса нужны, насколько я понимаю, только серверные (образно говоря) дела.
RT-N66U Tomato Firmware 1.28.0000 MIPSR2-109 K26 USB AIO-64K
WL-500W: 1.9.2.7-d-r2624 + huawei 353 - дачный интернет
Для России ftp://ftp.debian.org/debian лучше заменить на http://mirror.yandex.ru/debian/
Всяко быстрее будет![]()
Роутер: RT-N66U
Прошивка: Tomato Firmware 1.28.0000 MIPSR2 K26 USB AIO-64K by Shibby
доброго времени суток, Александр. Только сильно не материтесь... Поясните плиз некоторые моменты, у самого не хватает мозгов...
1. Не понятно, почему нет очень многих команд... ps,top и т.п.
2. не понятно как проверить сеть из под дебиана. ведь даже команды ping нет.
или поясните в чем отличие этого дебиана от ообычного. Просто закралась у меня очень дурная идея... Попробовать vlc из под дебиана...
Решил я пересоздать debian, но не могу удалить три папки dev,proc и sys из каталога, куда был развернут debian. Мне конечно стыдно, но что-то идей пока нема... Подскажите плиз куда копать...
Last edited by Omega; 08-12-2013 at 19:15. Reason: fixed
RT-N66U Tomato Firmware 1.28.0000 MIPSR2-109 K26 USB AIO-64K
WL-500W: 1.9.2.7-d-r2624 + huawei 353 - дачный интернет
Можно так.
спасибо большое, насколько я понимаю, именно по этой причине нет ходовых команд. И чтобы добывить нужную команду, надо в приведенном вами коде заменить wget на нужную команду...
Весь мозг сломал... В очередной раз убеждаюсь, что линукс хорош только тогда, когда он настроен. Иначе там без бутылки (и не одной) не разберешься.
Продолжаю я тут решать свою хотелку с vlc... Скомпилил все необх.кодеки (h264,lame,ffmpeg) а вот vlc, гад, собираться не хочет, поставил из репы. встал норамально, работает, но он не видит уст. кодеков. В инете полно вопросов про это, но решения что-то не видно, либо оно не срабатывает .
подскажите плиз направление куда хоть копать...
===================================
UPD Проблема с кодеками решена. Теперь можно двигаться дальше....
Last edited by Omega; 08-12-2013 at 19:17. Reason: fixed
RT-N66U Tomato Firmware 1.28.0000 MIPSR2-109 K26 USB AIO-64K
WL-500W: 1.9.2.7-d-r2624 + huawei 353 - дачный интернет
Инструкция с chroot на RT-N66U с TomatoUSB у меня не сработала. wheezy убежал далеко с той поры, и ядро в прошивке для него слишком старое.![]()
Роутер: RT-N66U
Прошивка: Tomato Firmware 1.28.0000 MIPSR2 K26 USB AIO-64K by Shibby
Для тех, кто пожелает Debian на ARM-based роутере ASUS с прошивкой asuswrt/asuswrt-merlin запилил бинарник chroot. Базовую среду Debian придётся приготовить самому, используя эти скрипты. Только замените в них "mipsel" на "armel".