OpenWRT — борьба за размер для DIR-320 ч.6: отказываемся от IPv6

Много воды утекло, много экспериментов проведено.
Приоткрою завесу тайны — на данный момент удалось достичь размера прошивки для DIR-320 A1 с Transmission и Samba на борту в 4 мбайт. Еще выпилить 400 кбайт и познаем дзэн.

Но выдавать тайны буду порционально, проверяя каждый шаг, дабы не вводить в заблуждение.

Итак, сегодня мы поговорим об удаление поддержки IPv6 из недр ядра и пакетов нашей уже компактной прошивки.
Какое то время данная возможность была в подвешенном состоянии — разработчики среды сборки прошивки что-то намудрили с зависимостями и долгое время сначала приходилось в ручную их разгребать, а на выходе получали прошивку, которая впадала в самую настоящую панику.

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

Отключение поддержки IPv6 в пакетах

Данный шаг основной, и надеюсь, в скором будущем будет единственным необходимым.

Если вдруг кто-то забыл, то в меню среды сборки можно зайти сия незатейливой командой:

make menuconfig

Далее ползем в глобальные настройки и вырубаем этого зверя нахрен:

Global build settings  --->
   [ ] Enable IPv6 support in packages

Данный пункт по задумке должен отключить всё, что связано с IPv6, уже весьма серьезно справляется, выпиливая модули ядра, кучу всяких мелких пакетов.

Хотел было на этом месте остановиться, но пойду до конца.

Отключение поддержки IPv6 в BusyBox

Это первый момент, который на сегодня не учли разработчики.
Вышестоящее телодвижение не выпилит, к сожалению, поддержку IPv6 в BusyBox.
Но мы ребята настойчивые и отключим сами:

Base system  --->
   <*> busybox  --->
      [*] Customize busybox options
          Networking Utilities  --->
             [ ] Enable IPv6 support

Но и на этом не все.

Удаление прочих пакетов для IPv6

Осталось еще два пакета, которые с большой вероятностью у Вас останутся висеть в составе прошивки, но от которых толка без поддержки IPv6 — как от козла молока.

Пакет первый — odhcpd.
Да, это DHCP-сервер. Вот только в настоящее время нужен он в OpenWRT для раздачи IPv6 адресов. За IPv4, так уж исторически сложилось, в OpenWRT отвечает DNSMasq.
Понятия не имею, почему разработчики решили городить такой зверинец из пакетов, каждый из которых может работать с обеими версий протокола. Пока разбираться мне лень, тем более компетентность этих людей явно повыше моей. Но точно скажу — теперь он нам не нужен.

Отключаем:

Network  --->
   < > odhcpd

Пакет второй — luci-proto-ipv6
Впрочем, он будет у Вас включен, только если до этого собирали прошивку с веб-интерфейсом под капотом.
Отключается просто:

LuCI  --->
   5. Protocols  --->
      < > luci-proto-ipv6

Ну вот и всё.
Собираем

make

И сообщаем, кто сколько драгоценных килобайт смог сэкономить.
У меня этот шаг для описанной сборки со всеми предыдущими оптимизациями по размеру выпилил 256 килобайт.

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

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

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

  1. Здравствуйте Денис, возникли такие вопросы:
    1) какой максимальный размер возможен для прошивки openWRT для dir 300 ? (4мб предел — это понятно…а 3.7мб прошьётся ли ?)
    2) возможно ли прошить b3 ревизию openWRT (при сборке которой выдает «penwrt-ramips-rt305x-dir-300-b1-squashfs-factory.bin» ) Не произойдет ли конфликта ? (не хотелось бы делать кирпич)
    3) в чем отличия factory.bin и sysupgrade.bin ? только возможностью прошивать через Web-interface ?

    • 1 — максимальный размер сходу назвать не смогу, но он в районе 3.2-3.7 мбайт, тут больше от тех.части устройства зависит, но я бы порекомендовал для 4 мбайт держать для себя планку 3.1 мбайт — не забывайте, что надо оставить место под перезаписываемые данные, те же конфиги.
      2 — если верить документации, то DIR-300 b1/b2/b3 как минимум в рамках OpenWRT обратно совместимы
      3 — factory — для установки OpenWRT поверх заводской прошивки через WEB-интерфейс, остальные все обновления — sysupgrade

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

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