Страницы

Поиск по вопросам

четверг, 2 января 2020 г.

Установка Linux в D-Link

#linux #маршрутизатор #d_link


Интерестно, есть ли на форуме люди, которые представляют себе, как собрать Линуксовое
ядро и установитить его в маршрутизатор D-link, ну или любой другой!?    


Ответы

Ответ 1



Задача сборки прошивки для девайса(роутер или что-то еще,- не важно) вообще говоря достаточно сложна: Чтобы собрать прошивку надо иметь исходники ядра, rootfs и тематического софта(того, который делает железки разными: веб-интерфейсы, приложения и т.п.). Скорее всего Ваша железка не содержит процессора х86 семейства. Соответственно Вам потребуется набор кросстулов(gcc, binutils) для компиляции ядра на x86 хост-машине. Скорее всего у Вас нет такого набора тулов от производителя железки, т.е. придется сначала собрать тулы. Уже на этом первом шаге у Вас могут возникнуть проблемы, типа: есть вероятность, что Вы не сможете найти правильный пакет gcc, который сможет генерить код на Вашу target железку. Если Вы нашли и собрали кросстулы, следующий пункт сборка ядра, модулей ядра(если они есть) и rootfs, если ее нет готовой. Здесь проблема в том, что у Вас скорее всего нет исходников всех необходимых драйверов/модулей (хотя может для роутера найдется все - я хз). Следующий пункт сборка приложений(если они есть), конфигурирование и укладка всего что есть в target файловую систему для сборки образа для заливки(это если у Вас прошивка единим образом кладется. Бывают случаи когда ядро и rootfs отдельно, а все остальное отдельно ставится уже после установки ядра и rootfs). Теперь если у Вас образ для заливки на руках, то надо разбираться со способом залики образа на коробку, мне известны следующие варианты: поднимаем на хосте прошивочный сервер, соединяем железку с хостом езернетом - жмем кнопки на железке и включаем ей питание. После начала процеса прошивки отпускаем кнопки. записываем образ на USB-флеху, втыкаем в железку USB-флеху, жмем кнопки - вкл. питание. используем JTAG - шьем аппаратно. загружаем железку в bootloader(сюда заходим через сериал-терминал), в бутлоадере скачиваем прошивку через tftp, там же прошиваем. загружаем железку в bootloader, в бутлоадере монтируем образ ядра через nfs, загружаемся в линукс с nfs. В процессе сборки/прошивки могут возникать следующие проблемки: криво собрались/прошились,- бутлоадер в наличии - пересобираемся/прошиваемся заново) криво прошились,- убили бутлоадер,- железка не встала - ищем JTAG) криво прошились,- железка не встала, сдохла флеха на железке - несем ее на свалку) Вобщем процесс увлекательный))

Ответ 2



В точности не помню, что использовал, но общий вердикт таков. Компиляция проходит на виртуальной машине, с настроенным окружением (компилятор, линковщик, libc и т.д.). После получения образа, подключаемся к маршрутизатору (обычно настраивается соединение через ком-порт) через PuTTY. Любая "коробка" содержит загрузчики ядра, те есть скрипт для загрузки скомпилированного образа. Далее настраиваем Boot Loader на работу с вашей осью.

Ответ 3



А почему бы не поставить на него что-нибудь уже готовое? Я, лично, предпочитаю dd-wrt. Рассматривайте это по аналогии с готовыми дистрибутивами для десктопов — уже готовый дистрибутив для роутера :). Дальше делайте с ним всё, что нужно — ssh есть, а чего ещё не хватает для счастья?

Ответ 4



dd-wrt еще были статьи в Хакере и на Хабре

Комментариев нет:

Отправить комментарий