Extroot w Gargoyle (OpenWRT) na przykładzie TL-MR3220

W poprzednim wpisie pisałem jak zmienić oprogramowanie w TP-Linku TL-MR3220 na Gargoyle (OpenWRT). Zmiana oprogramowania oraz pokazana w tym wpisie aktywacja extroota na zewnętrznym nośniku podpiętym pod port USB otworzy pole do dalszych modyfikacji. Należy zaznaczyć, że bez uruchomienia extroota praktycznie nie mamy możliwości instalacji dodatkowego oprogramowania, gdyż urządzenie posiada tylko 4MB pamięci flash, której wolnej zostaje bardzo niewiele.

Jako, że w routerze zainstalowany jest obraz obsego to również instalacja extroota będzie oparta o jego wskazania z drobnymi modyfikacjami.

Pierwszym krokiem jest przygotowanie nośnika USB (pendrive, przenośny dysk twardy, etc.). Do podzielenia nośnika osobiście użyję narzędzia GParted, które można np. pobrać w postaci obrazu ISO i nagrać na płytę CD.

W moim przypadku za nośnik posłuży pendrive Patriot o pojemności 8GB, który podzielę na 2 podstawowe partycję:

  1. SWAP o rozmiarze 256MB
  2. DANYCH o rozmiarze pozostałego wolnego miejsca (system plików ext2)

Przygotowanie nośnika z użyciem GParted

Podłączamy nośnik do portu USB routera i odczekujemy chwilę. W międzyczasie można się już połączyć z routerem po SSH. W następnej kolejności musimy sprawdzić czy nośnik nie został automatycznie zamontowany. W tym celu wykonujemy polecenie:

mount | grep /dev/sd

Jeżeli polecenie zwróci nam wynik to musimy odmontować nośnik poleceniem:

umount /dev/sda2

Następnie należy odczytać numery ID poszczególnych partycji. Dokonamy tego z użyciem komendy:

blkid

Otrzymane wartości kopiujemy i możemy przystąpić do aktywacji extroota. W tym celu wprowadzamy najpierw polecenia dla partycji, na której będzie działać extroot. Istotne jest wklejenie otrzymanego wcześniej ID (jeżeli nośnik jest podzielony w sposób taki sam jak ja to zrobiłem to interesuje nas ID dla /dev/sda2).

uci set fstab.@mount[0].enabled=1
uci set fstab.@mount[0].uuid=970648f6-ecf5-49a0-8b43-322af3a61723
uci set fstab.@mount[0].is_rootfs=1
uci set fstab.@mount[0].fstype=ext2
uci set fstab.@mount[0].options=rw,noatime
uci commit

Teraz wprowadzamy kolejne polecenia, aby włączyć przestrzeń wymiany (SWAP).

uci set fstab.@swap[0].device=/dev/sda1
uci set fstab.@swap[0].uuid=865f7e35-d7c6-4285-aa70-4f16aea3253e
uci set fstab.@swap[0].enabled=1
uci commit

Zanim jeszcze uruchomimy ponownie router warto skopiować bieżącą konfigurację na nośnik, o ile nie chcemy pozbyć się bieżących ustawień. Ową czynność wykonany poleceniami:

mount -t ext2 /dev/sda2 /mnt
cp -R /overlay/* /mnt
umount /dev/sda2
sync

Po skończeniu uruchamiamy ponownie router poleceniem reboot. Cierpliwie czekamy aż router się uruchomi (chwilę to potrwa) i ponownie łączymy się po SSH.

Pozostaje już tylko sprawdzić czy mamy do dyspozycji więcej miejsca i pamięci, w tym celu wykonywujemy polecenie:

df -h
free

Poprawnie wykonany extroot wraz ze SWAPem

Polecam również zapoznać się z wpisem na temat usuwania błędów na nośniku z aktywnym extrootem.

Brak dostępnych komentarzy.

Dodaj komentarz

Filtered HTML

  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • To post pieces of code, surround them with <code>...</code> tags. For PHP code, you can use <?php ... ?>, which will also colour it based on syntax.
  • Dozwolone znaczniki HTML: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Znaki końca linii i akapitu dodawane są automatycznie.

Plain text

  • Znaczniki HTML niedozwolone.
  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • Znaki końca linii i akapitu dodawane są automatycznie.
CAPTCHA
Ten tekst ma na celu określenie czy jesteś człowiekiem. Ma to zapobiec mechanizmom rozpowszechniającym SPAM.
Image CAPTCHA
Enter the characters shown in the image.