Pull to refresh

Comments 27

Все придумано уже до вас. Воспользуйтесь openembedded. Я публиковал пару статей о нем. Право слово им проще все это делается.
openembedded — немного не то. Здесь не надо создавать целую embedded систему. Напротив, надо скомпилить для готовой системы еще одну программу.

Я не уверен, что openembedded будет проще собрать правильный toolchain. При удаче можно скачать исходники toolchain у производителя, и тогда вообще ни каких сложностей не будет.
Как раз то. И он позволяет не только генерировать целую систему, но и пакеты. А вот насчет проще ли собрать тулчейн это вы зря. Наиболее просто тулчейн собирается при помощи crossdev (в Gentoo) или openembedded.
В portage нет uClibc 0.9.26, в openembedded нужно прыгнуть через голову, чтоб заработала gcc 2.95

После этого Вы говорите, что это это значительно проще, чем скачать готовый тулчейн и скомпилить его?
Я считаю, что пора завязывать пользоваться античными версиями ПО :) Если вы продолжите пользоваться именно этими версиями, то будьте готовы что часть софта вы просто не сможете собрать.
Возможно я не очень четко обозначил задачу. Я предлагаю добавить программы и модули в систему, без перепрошивок и т.п. Таким образом гарантия не нарушается.

В некоторых девайсах ядро собрано gcc 2.95 и во многих используется uClibc 0.9.26
Я предлагаю добавить программы и модули в систему, без перепрошивок и т.п. Таким образом гарантия не нарушается.
Вообще если вы модифицируете продукт под свои нужды таким образом и это не разрешено производителем, то вы теряете гарантию :)

В некоторых девайсах ядро собрано gcc 2.95 и во многих используется uClibc 0.9.26
Чем собрано ядро стреляет лишь при добавлении модулей к нему. Поверх него спокойно может работать и uClibc и glibc.
Если не менять прошивку, после перезагрузки девайса обнаружить запуск других программ будет невозможно.

Если в системе уже стоит uClibc 0.9.26, а нам нужно всего лишь добавить например tftp сервер, зачем еще одна версия libc?

Повторяю еще раз. Я не предлагаю собирать целую систему с нужными пакетами, менять ядро или устанавливать самый лучший дистрибутив. Я предлагаю с минимальными усилиями расширить функциональность.
Если не менять прошивку, после перезагрузки девайса обнаружить запуск других программ будет невозможно.

А где они тогда стоят? Или в память кладется и все? :)

Если в системе уже стоит uClibc 0.9.26, а нам нужно всего лишь добавить например tftp сервер, зачем еще одна версия libc?

Когда у вас не соберется этот самый tftp сервер вот тогда и поймете зачем.
А где они тогда стоят? Или в память кладется и все? :)

На HDD наверно. По крайней мере у меня на HDD.

Когда у вас не соберется этот самый tftp сервер вот тогда и поймете зачем.

Все что было нужно мне собралось. Следовательно есть ненулевая вероятность, что соберется и у других. В таком случае будет значительно проще использовать готовый тулчейн.
UFO just landed and posted this here
тулчейн для Вашей железки есть в природе?
Наклепать тулчейн можно, а вот с ядром не повезло.
UFO just landed and posted this here
какой роутер (производитель/модель)? какой SoC?
дело в том, что я занимался подобными железками и как правило можно можно или проапрейгдить ядро, или сделать бэкпорт нужной фичи.
UFO just landed and posted this here
у меня этот роутер стоит дома (правда только как wlan бридж) со старенькой openwrt прошивкой

залей свежую openwrt прошивку на 2.6 ядре и будет тебе счастье
UFO just landed and posted this here
Раз уж прошивка неродная, может попробовать заменить в ней ядро на 2.4.21?
UFO just landed and posted this here
Есть в наличии linksys nss4000, все пытаюсь самбу на по-новее обновить, ибо там она жутко древняя — 3.0.14а (2005 год.), пока безуспешно. Есть проблемы с вистой (думаю и с сервер 2008 тоже). Линксис на этот nas забил, в faq прикрутил отмазку — на server 2008 не работает и точка. Пока пробую обновить бинарниками для mipsel от дебиана. Рут получить в этой железке просто: сохранил конфиги на флешку, добавил шару на корень файловой системы, загрузил обратно и поменял хеш пароля рута в /etc/shadow.
а в чем непосредственно проблема?
1) Нет опыта работы с linux.
2) Железка используется в компании (стремно что то глобально там менять).
3) Файловая система для основных файлов — squashfs (только чтение), при ругательстве на отсутствие файлов приходится добавлять в сжатый файл файлы, и менять прошивку.
Ни с чем критичным пока не столкнулся, только долго это — добавляю файлы какие требуются и вечером из дома обновляюсь, смотрю чего опять требует и т.д. Глобально много файлов обновил — не загрузилось :) Пока вот так, в процессе. Если есть советы — буду благодарен. :)
с 1,2 конечно помочь сложно ;)

3) — напиши простые скрипты для распаковки/запаковки, поищи альтернативные прошивки
С запаковкой файлов в rootfs нет проблем, проблема пока сделать чтоб и самба поновее была и все остальное не отвалисось :) Зависимости по списку обновляю, авось заработает ;)
Альтернативные прошивки для «домашних» линксис nas'ов есть, этот вроде как для бизнеса, для него не видел, хоть и искал :(
Хотя наверно от NSLU2 может подойти…
Предлагаю по максимуму вынести бинарники и конфиги, связанные с самбой на другую файловую систему. Тогда будет значительно проще ковыряться.

Больше общих рекомендаций на ум не приходит. Если есть какие-то конкретные затыки, пишите, вдруг что придумаю.
Если железка умеет грузиться по сети, то лучше всего на время отладки лучше всего использовать эту функцию. Это позволит быстро модифицировать как ядро так и rootfs. Ну и логи виднее.
Sign up to leave a comment.

Articles