Optware – pakiety OpenWrt w DD-WRT

Stali czytelnicy bloga wiedzą, że ma moim routerze TP-Link TL-WR1043ND od dawna gości OpenWrt (aktualnie w wersji Gargoyle PL). Niedawno stałem się też posiadaczem innego routera TP-Linka – mianowicie TL-WDR4900. Jako, że nie znalazłem jakoś szczególnie interesującego buildu OpenWrt dla tego modelu zdecydowałem się wgrać DD-WRT. Po początkowym zachwycie ilością opcji w GUI zatęskniłem za tym co najbardziej lubię w OpenWrt – możliwością instalacji wybranych pakietów – a mówiąc językiem użytkowników DD-WRT za możliwością instalacji optware 🙂

Przygotowanie sprzętu pod instalację Optware

Oprócz samego routera działającego pod kontrolą DD-WRT potrzebny nam będzie jakiś dysk USB lub pendrive. Będziemy musieli podzielić go na partycje. Najlepiej zrobić to z poziomu desktopowego Linuksa, przykładowo w programie GParted. Podział partycji jaki sam stosuję i Wam proponuję zaczerpnąłem od Vargaleksa:

  1. Partycja Swap – 128 MB,
  2. Partycja Optware na ext4 – 512 MB,
  3. Partycja Data – cała reszta przeznaczona na dane.
Partitions created with GParted

Partitions created with GParted

Tak przygotowany dysk USB / pendrive podłączamy do routera. I przechodzimy do konfiguracji samego routera, gdzie na zakładce Services -> USB włączamy:

  • Core USB Support
  • USB Storage Support
  • Automatic Drive Mount

Po czym na zakładce Administration -> Management klikamy Reboot Router.

Po ponownym zalogowaniu na zakładce Services -> USB powinniśmy stwierdzić, że partycje zostały automatycznie zamontowane.

USB Support

USB Support

Najważniejsze dla informacje znajdują się na dole strony, a są to:

  1. /dev/sda1 mounted to swap
  2. /dev/sda2 mounted to /opt
  3. /dev/sda3 mounted to /tmp/mnt/sda3

Dysk USB / pendrive zamontował się zatem prawidłowo.

Instalacja Optware

Dalsza część opisu bazuje na tym tutorialu. Okazało się jednak, że nie mogłem ślepo za nim podążać – pojawiły się błędy. Tak zaczęły się eksperymenty, które doprowadziły do powstania poprawionego (pozbawionego błędów) i uproszczonego (pozbawionego niepotrzebnych kroków) opisu instalacji optware w DD-WRT.

Logujemy się do routera przez SSH i wykonujemy:

Pierwsza z komend utworzy plik, po którym będzie rozpoznawana partycja Optware. Kolejne przeniosą lokalizację katalogów /etc i /tmp/root (katalog domowy roota) na partycję Optware.

Zmodyfikujemy plik konfiguracyjny ipkg, co pozwoli nam na zainstalowanie menadżera pakietów opkg. opkg jest forkiem ipkg i w całości go zastępuje. Będzie nam służył do ściągania i instalacji pakietów OpenWrt, pilnując przy tym zależności. W dalszej części tutoriala zwróć uwagę na architekturę routera. Poniższy opis dotyczy routera TP-Link TL-WDR4900 zbudowanego na platformie Freescale MPC85xx, stąd mpc85xx w nazwach plików i katalogów, jeśli twój router zbudowany jest na innej architekturze, pamiętaj o zmianie nazw. Pewnie najczęściej będziecie to zmiana na ar71xx 🙂 Pamiętajcie także o zmianie wersji pakietów na aktualne.

Podczas instalacji opkg powinniśmy zobaczyć taki komunikat:

To był pierwszy i ostatni raz kiedy musieliśmy użyć menadżera pakietów ipkg, od tej chili posługujemy się już tylko opkg. Nie przejmujemy się powyższymi błędami, zaraz je naprawimy, zgodnie z resztą z powyższą sugestią.

Zmodyfikujemy zatem plik konfiguracyjny opkg oraz uaktualnimy listę dostępnych pakietów OpenWrt:

Powinniśmy zobaczyć:

Wcześniej napisałem, że menadżer pakietów opkg dba o zależności, ale jest od tego wyjątek – standardową bibliotekę języka C musimy zainstalować ręcznie:

O prawidłowym przebiegu instalacji świadczyć będzie następujący komunikat:

Na koniec musimy jeszcze przejść na zakładkę Administration -> Commands, wkleić poniższy skrypt startowy:

a następnie kliknąć Save Startup.

Skrypt ten sprawdza obecność partycji Optware, po czym montuje odpowiednie katalogi z tejże partycji pod /etc i /tmp/root (katalog domowy roota).

Optware Startup Script

Optware Startup Script

Ostatni raz przechodzimy na zakładkę Administration -> Management, gdzie klikamy Reboot Router. Po restarcie logujemy się przez SSH, gdzie możemy sprawdzić listę dostępnych pakietów OpenWrt:

czy zainstalować któryś z nich:

Brak możliwości komentowania.