Samba, Transmission и размер OpenWRT

В двух последних статьях мы собирали прошивку OpenWRT сначала с Samba, затем с Transmission.

У кого на борту устройства встроенная память 8мб — вряд ли заметили, как резко увеличилась наша прошивка, у кого же 4мб — у них прошивка перестала устанавливаться по банальной причине — больше места нет.
Попробуем всё таки как то сэкономить место, убрав причину лишних килобайт.

Итак, имею прошивку для TP-Link TL-WR842N/ND v2. Которая увеличилась примерно на ~2Мб после добавления в неё Samba и Transmission.

Исходный размер			5,2 Мб	5439492 байт

В ходе изучения содержания прошивки обнаружил, что имеется два пакета, выполняющих одинаковые задачи:

libopenssl			1.0.1i	681305 байт
libpolarssl			1.3.8	133887 байт

OpenSSL — это весьма популярная библиотека для шифрования.
PolarSSL — это аналог OpenSSL для встраиваемых решений. Несколько ограниченная функциональность по сравнению с последней, но зато значительно компактный размер.

Логика подсказывает, что если есть OpenSSL, то PolarSSL нам как мертвому припарка. С другой стороны если нам удастся заставить программу, которая притащила в наше гнездо OpenSSL работать с PolarSSL, то можно сэкономить поболее, чем пол мегабайта.

Найдем кто втянул эти библиотеки в нашу прошивку.

Как оказалось, Transmission в зависимостях требует OpenSSL, а вот PolarSSL на данный момент он воспринимать отказывается.
А вот файловый сервер Samba притянул libcurl, а вот тот в свою очередь потребовал наличия PolarSSL, хотя, как оказалось, OpenSSL он тоже весьма поддерживает.

Запустим конфигурацию прошивки и наведем порядок:

make menuconfig

Сначала отучим curl от PolarSSL

Libraries
    -*- libcurl  --->
        Configuration  --->
            SSL library --->
                (X) OpenSSL

В принципе можно было бы вообще отключить поддержку SSL curl’ом, но мало ли что в будущем понадобится. Ведь от OpenSSL нам Transmission отказаться не позволит.

Теперь не забудем исключить PolarSSL из состава нашей прошивки

Libraries
    SSL  --->
         < > libpolarssl

И вновь пересоберем прошивку и посмотрим сколько у нас в итоге освободится места.

make clean
make -j3 V=-1

После сборки смотрим на размер

Исходный размер			5,2 Мб	5439492 байт
Без PolarSSL			5,1 Мб	5308420 байт

Не фонтан, но пока собирал, вспомнил, что Transmission я собрал и с Web-интерфейсом и возможностью удаленного управления:

transmission-remote		2.84	172279 байт
transmission-web		2.84	206814 байт

Веб-интерфейсом я не пользуюсь вообще. Логичнее от него избавиться вовсе.

Network  --->
   BitTorrent  --->
      < > transmission-web

И опять пересобираем, можно без чистки, так как мы всего лишь один пакет исключили.

Исходный размер			5,2 Мб	5439492 байт
Без PolarSSL			5,1 Мб	5308420 байт
Без PolarSSL и transmission-web	4,9 Мб	5177348 байт

Уже лучше, но хотелось бы еще сэкономить. Но это дело уже не касается связки Samba+Transmission.
Почувствовал себя ранним Билл Гейтсом и захотелось выжать максимум из прошивки. Вернее минимум из её размера, без потери необходимой функциональности.

Ждите еще статей на эту тему.

Кстати, друзья, теперь за всеми свежими и важными записями можете следить прямо из паблика ВКонтакте.

Подпишись в один клик:

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

  1. В общем данная инфа не актуальна поскольку trunk вообще иногда не позволяет почему то убирать галочки с компонентов системы, тем самым зачистка лишнего становится невозможной затеей.

  2. ммм проверил, да, спасибо стали вроде отключатся, вопрос как их нарочито проверить, я то проверял случайно, сейчас собираюсь транк собирать себе…

  3. Я бы почувствовал себя Нео если бы впихал самбу+трансмишн+экст2 простейший и все это уместилось в мои 4мб флэшухи…+ было бы неплохо заиметь гайд по тому как и чем подготавливать юсб флэшку на 16гб под дир 320

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

Войти с помощью: