Загрузить Gentoo на роутере с USB flash
sbar 11 июня, 2011 - 16:58
Доброго времени суток. Удавалось ли кому-нибудь загрузить с флешки систему на каком-нибудь роутере (скажем, на D-Link DIR-620)? Что для этого потребовалось? В идеале хотелось бы в штатной прошивке изменить загрузчик так, что бы он пытался грузиться в usb и в случае неудачи грузил то что прошито.
Подскажите какую-нибудь документацию, совсем ничего не нахожу (неправильно ищу?).
Заранее благодарен.
»
- Для комментирования войдите или зарегистрируйтесь
Загрузить Gentoo на роутере с USB flash
На кой с флешки ? с диска загрузи !
и как ты её прошил ?
Metall написал(а): На кой с
Диска пока что нет, планируется купить после того как удастся с флешкой.
Где взять информацию по установке? (хэндбук на той стадии установки совсем не многословен).
Конкретно пока не ясны 2 вещи:
1. Что сделать с загрузчиком и можно ли избежать изменение прошивки? (пока совершенно не понял как разобрать прошивку, как там добраться до загрузчика и самое главное: умеет ли вообще загрузчик грузить систему с usb и в случае неудачи грузить с другого места; прошивку отсюда брал: ftp://ftp.dlink.ru/pub/Router/DIR-620/Firmware/ (там тарболл, в котором шелл-скрипт, ядро и RootFS-образ, который не понятно как смонтировать)).
Если нельзя без модификации прошивки обойтись — подскажите как заставить взлететь прошивку на каком-нибудь QEMU, что бы убедиться что все правильно работает. Я пробовал запустить, перебрав все варианты CPU — всегда получаю "qemu: could not load kernel '/home/sbar/router/sys/img/Kernel'"
2. Я никак не пойму что это за архитектура процессора там такая и какой именно stage3 мне подойдет. Смотрю из busybox через telnet (uname там нет):
Я правильно понял, что мне подойдет 32-битная MIPS little-endian (исходя из вот этой страницы смотрю, попал туда из хэндбука)? Если да — я вижу 4 разновидности stage3-mipsel*.tar.gz — какой подойдет мне?
Что прошил? Пока только у маршрутизатора обновил прошивку до актуальной.
tldr: подскажите документацию по установке или объясните что делали на своем опыте, плиз
Может у энтузиастов
Может у энтузиастов поспрашать, которые прошивку от Олега на 320 допиливают
http://wl500g.info/
Вряд ли в qemu есть поддержка CPU Type = Ralink RT3052F
My website: http://comb.org.ru
С ноября 2022 нетбук HP mini (Processor: Atom n570)
:)
Ну блин... Это же вроде как MIPS32® 24K® Family - а qemu его вроде хавает нормально.
qemu -cpu ? x86
http://docs.dvo.ru/qemu-kvm-0.13.0-r2/html/qemu-tech.html#intro_005fmips_005femulation
Не знаю какой это давности, но
Current QEMU limitations:
Self-modifying code is not always handled correctly.
64 bit userland emulation is not implemented.
The system emulation is not complete enough to run real firmware.
The watchpoint debug facility is not implemented.
My website: http://comb.org.ru
С ноября 2022 нетбук HP mini (Processor: Atom n570)
Удавалось ли кому-нибудь
канешна, дарагой :)
Transdent IDE Flash 256M , Intel S5000S, Intel® PRO/1000 PT 4-port 1 gb :))
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Ok. Тот роутер по неведомой
Ok. Тот роутер по неведомой причине помер, сейчас есть похожий девайс: TP-Link mr3420. Поставил на него OpenWRT (по этой доке), смог загружать ее с флехи с помощью extroot, хочу тем же способом загружать Gentoo.
Кросскомпилятор из тулкита к официальной прошивке собирает программы, которые успешно запускаются на роутере. Порядок байтов — big-endian.
Скачал stage3-mips4_n32-20110212.tar.bz2 — не то:
Подскажите пожалуйста, какой stage3 подойдет мне, или его просто не существует? Спасибо.
n32 не подходит. ELF 32-bit
n32 не подходит.
ELF 32-bit MSB executable, MIPS, MIPS32 version 1 (SYSV), dynamically linked (uses shared libs), not stripped
ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), dynamically linked (uses shared libs), not stripped
У вас что-то похоже на это: http://habrahabr.ru/blogs/programming/117194/
попробуйте mipsel
Локальный оверлей растёт
mittorn написал(а): ELF
У меня на самом маршрутизаторе стоит ядро, которое грузит систему с исполняемыми файлами с порядком байтов big-endian. Пока что я собираюсь использовать только это ядро и загружать систему через extroot с флешки. Я полагаю, что я не смогу на ней запускать файлы с little-endian (попробую конечно, когда будет доступ к машине снова, спасибо). Есть еще варианты?
А что это за n32? Посоветуйте какую-нибудь годную документацию по серии этих процессоров (mips) (по ссылкам из хэндбука ходил -- не то; в гугле тоже был, кажется когда еще с d-link ковырялся)?
Вот еще попробовал собрать
Вот еще попробовал собрать тулкит вот таким образом:
LANG=C CBUILD=i686-pc-linux-gnu crossdev --without-headers --binutils 2.20.1-r1 --libc 2.11.2 --target mips-softfloat-linux-gnu
Собралось нечто кривое, неспособное hello world на Си собрать, удалось только на асме что-то собрать неработающее:
Опять не то. Мне нужно одно из следующего получить:
Что точно мне нужно передать crossdev'у, что б он выдал мне компилятор соответствующий?
В общем мне не подошел ни
В общем мне не подошел ни один из stage3: ни из experimental, ни из releases.
В хэндбуке вообще вот что написано: "Note: The MIPS32 and MIPS64 ISAs are a common source of confusion. The MIPS64 ISA level is actually a superset of the MIPS5 ISA, so it includes all instructions from MIPS5 and earlier ISAs. MIPS32 is the 32-bit subset of MIPS64, it exists because most applications only require 32-bit processing." — я так и не понял какой stage3 мне должен подойти. Попробовал еще stage3-mips64_multilib-20110713.tar.bz2 — не то опять:
Полагаю, что только из stage1 я могу собираться (или не могу? моей то архитектуры stage1 все равно нигде нет). Подскажите хорошую документацию по кросскомпиляции из stage1 в stage3, плиз. В гугле был, эти доки видел: 1, 2; главным образом непонятно который из stage1-архивов мне брать.
Если кто знает, где взять готовую сборку — также очень интересно.
Теоретически возможно все.
Теоретически возможно все. Практически это сведется к созданию специализированного дистрибутива наподобие вышеупомянутого openwrt. Glibc , с которой компилятся все гентопрограммы, жирноват для тактико-технических характеристик роутеров типа dlink. Придется портировать приложения на clib или что-то похожее. При отсутствии нужного стейжа его придется собирать кусками кросс-компилятором. И ядро пилить сильно. Судя по уровню вопроса вам не хватит квалификации. Патчеры и хакеры таких вопросов не задают. Они на них отвечают. Собственно чем не нравится готовый openvrt? На мой взгляд в нем достаточно пакетов для роутера.