Coding with Titans

so breaking things happens constantly, but never on purpose

OpenWRT - omówienie

Zebrana garść informacji i odkryć a propos dystrybucji OpenWRT BackFire 10.03.

Nie będę ukrywał, iż będąc w posiadaniu ASUS WL-500gP v1 postanowiłem go wykorzystać do czegoś ciekawszego, niż tylko przepychania pakietów. Choć oryginaly firmware posiadał dość ciekawe funkcje, to i tak (zważywszy na niewielkie zużycie prądu oraz możliwość podpięcia urządzeń na USB) sprzęt ten wydawał się kuszący, aby uruchomić na nim:

  • serwer plików SAMBA w sieci lokalnej
  • serwer kontroli wersji (Subversion, Git, Mercurial)
  • serwer WWW
  • serwer SFTP/FTP

Na sam początek odsyłam do źródeł, czyli www.openwrt.org. Znajduje się tam cała wiedza, zgromadzona przez twórców tego projektu. Ma ona jednak jedną zasadniczą wadę - nie jest zbyt często akualizowana, co czasem prowadzi do sprzeczności albo niejednoznaczności (w najgorszym wypadku, niektóre rzeczy robi się już po prostu inaczej/lepiej). Trudne zatem może okazać się to dla osób słabo znających linuxa od strony jego wnętrzności i konfiguracji.

Lekarstwo jest jedno, a mianowicie - szukać następnych źródeł informacji:

  • www.openwrt.pl - opisuje podstawy konfiguracji oraz tworzy wstęp do tego, jak skompilować sobie własną dystrybucję pod sprzęt, który posiadamy
  • www.eko.one.pl - ciekawe artykuły dla początkujących, forum oraz prekompilowane wersje zawierające te obowiązkowe pakiety, o których niestety zapomnieli autorzy z openwrt.

Krótki poradnik o instalacji:

  1. Idąc za opisem z www.eko.one.pl, wgrywamy przygotowany firmware.
  2. Podłączamy pendrive lub dysk USB, który będzie nam służył do dwóch rzeczy - jako dodatkowa pamięć operacyjna oraz plikowa
  3. Tworzymy tam zatem dwie (minimum) partycje - jedną jako swap, drugą jako ext3.
  4. Na koniec mieszamy w pliku fstab (zgodznie z tym lub tym), przypisując odpowiednio plik wymiany (który zastąpi nam małą pamięć RAM routera) oraz bazową lokalizację systemu plików (flaga is_root i /overlay). Spowoduje to tym samym, że nie będziemy już ograniczeni fizycznym rozmiarem pamięci flash routera, a zyskamy tyle dostępnej przestrzeni, z jak wielkich partycji skorzystamy. Dzięki czemu nie będą już potrzebne żadne dodatkowe sztuczki, a wszystkie nowe (i przede wszystkim duże) pakiety zainstalują się bez problemu.

Krótki poradnik o własnej kompilacji ze źródeł:

  1. Na maszynie wirtualnej instalujemy Debiana (najlepiej tylko tryb konsoli, bo do niczego innego i tak nie będziemy wykorzystywać).
  2. Pobieramy źródła OpenWRT i instalujemy wymagane narzędzia (zgodnie z poradą).
  3. Dodatkowo po wpisaniu “make world” i tak wyskoczą na pewno inne zależne programy, których instalacja jest niezbędna. Najtrudniejsze jest jednak wybadanie, co się nie powiodło przy kompilacji 100-nego pakietu. Dlatego warto jeszcze przed przystąpieniem do budowania dodatki do lokalnej instancji perla (poprzez komendę: apt-get install yaml-perl*).
  4. Teraz wystarczy odczekać kilk-/kilkanaście godzin i oto mamy swój własny firmware.