Написание данной статьи побудило меня чистое любопытство и желание освоить настройку на OpenWRT. Linux и всё что с ним связано, для меня - "тёмный лес", по этому мне пришлось перерыть кучу информации с сайтов и форумов, как наших так и зарубежных. Методом проб и ошибок я десятки раз устанавливал, настраивал, успешно превращал устройство в тыкву и начинал всё заново. В результате многочасовых разборок логики работы OpenWRT и поиска решений я периодически получал вынос головного мозга, красные как у рака глаза и сильное желание нажраться. Только в процессе написания этой статьи мне пришлось несколько раз делать перепрошивку, т.к. забывал зафиксировать (заскринить) какой-то важный момент, а текст без скрина не будет понятен читателю. В начале я собирался уместить всю информацию в одну статью, но потом передумал. Были опасения, что читатель утонет в море информации и не осилит всё за один раз. Будет несколько частей, много информации, скринов, ссылок и отступлений от темы. В принципе данный мануал подойдет под любой мини ПК или старенький ноутбук. На стационарный компьютер я бы не советовал это ставить из за высокого уровня шума и потребления энергии оным. Ну разве что только на виртуальную машину, да и то только ради саморазвития. Заранее прошу прощения, если в тексте вам попадутся не понятные комбинации слов, букв, символов, грамматические и орфографические ошибки. Хоть я и перечитывал статью несколько раз, возможно что-то пропустил. Надеюсь уважаемый читатель переварит мою писанину и выскажет свое мнение в комментариях.
Предыстория
Как-то раз, давным-давно, занесло меня на Митинский рынок. Уже даже не помню чего мне там было надо, в общем увидел на прилавке, среди всякого компьютерного старья IntelNUC. Сказать что он был сильно загажен - это ничего не сказать. Пыльный мох торчал изо всех щелей, но не смотря на это, он был в рабочем состоянии и с родным блоком питания. Внутри он был "пустой", т.е. без памяти, жесткого диска и платы расширения mini-PCIe. В общем я сторговался за 900 рублей, но без проверки и возможности возврата в случае чего. Принес домой, разобрал, отмыл от грязи. У меня в закромах была одна планка памяти на 512 Мб от ноутбука. Воткнул её в комп и запустил. Загрузился в BIOS и обновил его с сайта Intel. Потом сделал загрузочную флешку с WinPE и загрузился с неё. В общем малыш был рабочий хоть и слабенький, ведь у него стоит всего на всего Intel Atom CPU E3815 1.46GHz, так что на высокую производительность рассчитывать не приходилось.
Характеристики IntelNUC DE3815TYKE
- Процессор Intel Atom E3815, 1.46 ГГц (Одноядерный) пассивное охлаждение
- Оперативная память Нет в комплекте, 1 слот SO-DIMM DDR3L (1.35V) максимум до 8Гб
- Видео Intel HD Graphics
- Сеть Gigabit Ethernet
- Порты 1 x HDMI, 1 x USB 3.0, 2 x USB 2.0, 1 x VGA, 1 х RJ-45, 1 х наушники/микрофон
- Жесткий диск Нет в комплекте, возможно установить 1 х 2.5" SATA HDD/SSD
- Блок питания Внешний БП 36Вт
Шло время, ко мне обращались родные и друзья для того чтобы я проапгрейдил им ноутбук (увеличил память и поменял жесткий диск на SSD). После этого оставались старые планки и жесткие диски, кто-то забирал их для своих нужд, а кому-то они и задаром были не нужны. Таким образом я с периодичность апгрейдил свой NUK. Чего я только из него не делал, как не изгалялся, и домашний медиа сервер, и сервер Home Assistant, и регистратор для IP камер, и ТВ приставку. Как на универсальном ПК на нем, в принципе работают все программы, но жутко медленно и уныло. В общем наигравшись, я его забросил окончательно.
Внезапное желание собрать что-то нужное
Последнее время тема прошивки роутеров под OpenWRT стала очень популярна. Это позволяет ускорить работу бытового роутера и расширить его функционал. И тут у меня появилось внезапное желание провернуть подобное со своим NUK'ом. А что, всё равно лежит без дела. Безвозвратно окирпичить его, даже сильно постаравшись не получиться, а опыта поднабраться и дополнительных знаний, совсем не помешает. Для начала решил определиться с конфигурацией подопытного и что он будет выполнять. У компьютера только один сетевой разъем RJ-45 и полноценный роутер из него ну никак не получится. Остановился на том, что это будет этакий дорожный вариант роутера для дачи и поездок в отпуск. За выход в интернет будет отвечать разблокированный и перепрошитый ZTE MF823. Для расширения функционала, в разъем mini-PCIe на Али был куплен двухдиапазонный модуль Intel 7260HMW без Bluetooth за 470₽.
Так как на борту уже присутствует eMMC-накопитель, емкостью 4 ГБ, от SATA диска для ОС можно отказаться, а поставить его как дополнительное хранилище под файлы. Читатель резонно может сказать - ведь eMMC медленнее любого современного SSD и будет прав. Я решил пойти таким путем, чтобы узнать будет ли работать эта конфигурация без дополнительных затрат. Память решил пока поставить 2Гб, в крайнем случае если этого будет мало, в запасе есть планки на 4 и 8 Гб. Вот вроде и всё по железу.
Как записать прошивку на внутренний накопитель я уже знал, приходилось это проворачивать когда "превращал" NUK в ТВ приставку под управлением LibreELEC. Стоял вопрос как собрать нужную прошивку именно под мои железки. С этим вопросом я и обратился на известный ресурс на букву Хэ, где тут же получил ответ типа: "Ничего у вас не выйдет дорогой товарищ, готовых решений нет и вообще это бессмысленная затея." Ну собственно другого ответа я и не ожидал. Пришлось разбираться самому. У меня есть роутер Asus RT-N56UB1 и у него как раз есть возможность подключать жесткие диски, USB модемы, а сама прошивка называлась AsusWRT, и под него оказывается уже давно есть стабильная рабочая версия OpenWRT. Тогда я и подумал, а что если я сравню пришивки по набору пакетов и просто накидаю не достающие в прошивку под NUC. Эта затея дала мне некоторую ясность и начальные познания в формировании готового образа для OpenWRT. Правда пришлось еще искать информацию какой пакет за что отвечает, ну да ладно, если кому интересно - вот эта сводная таблица:
Методом "тыка" я перебрал все возможные варианты и комбинации, пока не набрел на страничку под названием Package categories на сайте OpenWRT. И в разделе Packages in firmware category нашел всё что искал и даже с запасом, на случай замены модема или wifi модуля. Чуть позже я подробнее остановлюсь на этой теме. И вот однажды, когда я уже начал терять интерес и готов был опять отложить NUC в долгий ящик, случилось чудо, образ собрался без ошибок, в тестовом варианте наконец то запустился на компьютере и ЗАРАБОТАЛ.Подготовительный этап
Для того, чтобы вам немного передохнуть и подготовиться к серьёзной работе, предлагаю немного поскачивать по ссылкам необходимый софт. Итак, нам понадобится:
- Загрузочная флешка/внешний диск размером от 8 Гб с WinPE и всяким полезным софтом. Лично у меня прошло все чисто и гладко со сборкой от Sergei Strelec. Инструкция по установке на флешку имеется в архиве в файле readme. Вы можете использовать любую другую, которой вы привыкли пользоваться.
- Программа balenaEtcher для записи прошивки OpenWRT на внутреннюю память или жесткий диск (SSD). Последние версии у меня почему-то вылетали и по этому советую скачать версию balenaEtcher-Portable-1.10.6.exe Если что, тут лежат все версии: перейти. Эту программу закидываем на загрузочную флешку из пункта один.
- Нам понадобится программа для доступа к роутеру по протоколу SSH. Этих программ много, начиная от древней PuTTy и заканчивая Xshell, которую я и рекомендую поставить. На крайний случай в сборке образа OpenWRT уже есть эмулятор терминала ttyd, можно будет воспользоваться им.
- Еще понадобится программа WinSCP чтобы можно было в удобном и привычном формате редактировать файлы, создавать папки и давать им разрешения.
Небольшое отступление по поводу пакетов для физических устройств. Если у вас другая сетевая карта и другой модуль WIFI, то вам нужно пройти сюда
И заменить или добавить необходимые вам пакеты в подготовленном списке
Для всех стандартных USB модемов я добавил в подготовленный список всё что нашел, так что если у вас только какой-то экзотический модем, вам так же придётся самому найти пакеты под него. Пакет который нужен для дополнительной поддержки многих сетевых устройств уже есть в составе подготовленного списка.
Сборка началась...
Все идет как надо...
Ура! Мы только что скомпилировали свою собственную сборку прошивки. Возьмём с полки пирожок. Если выскочила ошибка на первом же этапе сборки tr-validate_manifest, проверьте в логе сборки, возможно что-то не правильно скопировалось и потерялся пробел или пакет, который вы сами добавили вступил в конфликт с другими пакетами или устарел и уже не поддерживается системой.
Прошивка роутера
Разрешаем все типы загрузки
Выбираем Windows 8, Windows 10 в качестве загрузочных. Если включите Fast Boot, не забудьте проставить галочки на показ при загрузке кнопок F2, F7, F10 иначе в дальнейшем будет проблемой выбрать загрузку с USB и попасть в BIOS
Тут всё отключаем
Нажимаем F10 чтобы сохранить настройки и перезагрузить компьютер. После перезагрузки периодически нажимаем F10 до появления экрана выбора загрузочного диска. Тут я вкратце расписал для разных типов ПК, возможные примерные варианты отображения информации. Выбираем нашу загрузочную флешку или диск, как в моём случае и жмём Enter
Хочу сразу предупредить на 2 Гб. памяти всё это работает очень медленно, наберитесь терпения
Запускаем программу для работы с дисками. В принципе все они подходят, тут выбор за вами.
Как я уже говорил, мне пришлось несколько раз проходить все этапы прошивки, т.к. забывал сделать скрин. Вот пожалуйста, сейчас удалю все что целый час настраивал. Всё ради читателя!
Удаляем все разделы с Диска 0
Конвертируем раздел из GPT в MRB иначе будет ругаться balenaEtcher
Диск к прошивке подготовлен. Можно оправиться и перекурить
Запускаем портативную версию balenaEtcherВыбираем встроенную память. Если вы будете ставить образ на жесткий дик (SSD) выбирайте его.
Началась прошивка
Бывает и такой неожиданный конец, однако как показа практика все записалось
Так и есть, всё прошло отлично. Видимо программный глюк. Обратите внимание, у нас осталось 3.5 Гб незанятой области, в дальнейшем мы её будем использовать под файл подкачки и небольшую область для хранения файлов.
Теперь очень важный момент, не пропустите его! Обязательно выключаем компьютер через меню Windows. Это важно. Поверьте! Сначала выключаем потом далее по списку.Вот и всё, а ты боялась. Даже юбка не помялась.
Первое включение
Вот это портянка!
Займемся настройкой беспроводной сети. Предварительно можно посмотреть загруженность эфира и выбрать свободный канал. Переходим в раздел Статус - Анализ каналов
Производим настройку частоты, канала, максимальной мощности (на максимум) и код страны.
Во вкладке Защита беспроводной сети выбираем алгоритм шифрования
Закрываем настройки и применяем их.
Теперь нам доступна точка доступа и можно к ней подключаться.
Одна беда и первое разочарование, роутер работает только в каком то одном диапазоне частот или 2.4Ghz или 5Ghz. Что я только не делал, как не ухищрялся и не менял настройки конфигурационных файлов, ничего не помогает. По идее, как я везде читал, несмотря на одно физическое устройство, у нас в списке беспроводных сетей должно быть два устройства radio0 и radio1. Но их нет! Возможно сам модуль не в состоянии одновременно тянуть два канала, может ещё что, не знаю.
Сохраним настройки
Теперь произведем дополнительные настройки
После перезагрузки видим что точка доступа активна и к ней подключены клиенты
Теперь займемся не распределенной (свободной) памятью на eMMC. Устанавливаем, запускаем и настраиваем программу Xshell
Вводим размер для диска подкачки. Я задал значение 1G, что соответствует 1 Гб. Жмем Enter
Задаем Тип диска (Type)
Выбираем Linux Swap
Снова выбираем свободную область Free space клавишами вверх/вниз и жмем New
Нажимаем Enter подтверждая что всё оставшееся свободное пространство отдаем под следующий раздел.
Выбираем Linux Filesystem или MBR partition scheme, но потом его нужно будет отдельно форматировать в NTFS. Нажимаем Write и применяем настройки разделов.Переходим в раздел Система - Монтирование дисков. Жмем сначала на Создать config, затем Монтировать подключенные устройства
Подключаем диск для подкачки. Тот который мы сделали 1 Гб.
Выбираем UUID ориентируясь на размер
Теперь ставим галочки на новых разделах и нажимаем Применить.
Два новых раздела смонтированы и доступны для использования. Если вы захотите подключить внешний USB диск или флешку, они должны монтироваться автоматически и будут доступны в системе.
В той же папке находим файл group. Нажимаем Править
Теперь при входе на сетевой диск из Windows заполняем форму данными нового пользователя
И вуаля! Вход на сетевой диск открыт
Конечно теперь придется делать авторизацию на ТВ приставке и телевизоре с Android. Но это делается только один раз, так что не напрягает.
Комментариев нет:
Отправить комментарий