Aktualizacja OpenWRT

W styczniu opisałem jak zainstalować dopasowaną do własnych potrzeb dystrybucję OpenWRT na routerze ASUS WL-500g Premium. Pora na aktualizację.

Kopia zapasowa

Na wszelki wypadek, gdyby aktualizacja się nie powiodła warto wykonać kopię bezpieczeństwa aktualnego systemu. Informacje na temat wykonywania kopii całego oprogramowania (kernel + squashfs + jffs2) znajdziemy w wiki pod hasłem “BackupAndRestore“.

Aktualizacja źródeł

Zgodnie z instrukcją na stronie zatytułowanej “GetSource” pobieramy źródła. Jeśli mamy jeszcze poprzednie używamy svn switch –relocate, aby zmienić protokół z https:// na svn://, a następnie wydajemy polecenie svn up.

Nakładanie łatek

Łatka zwiększająca domyślny limit wielkości obszaru rootfs nie jest już potrzebna. Aktualny limit jest ustawiony wyżej niż ustawiała go łatka.

Łatka włączająca wsparcie dla OCF w OpenSSL wygląda tak:

Index: package/openssl/Makefile
===================================================================
--- package/openssl/Makefile    (wersja 18079)
+++ package/openssl/Makefile    (kopia robocza)
@@ -81,6 +81,8 @@
 define Build/Configure
    (cd $(PKG_BUILD_DIR); \
        ./Configure linux-openwrt \
+           --with-cryptodev \
+           --with-cryptodev-digests \
            --prefix=/usr \
            --openssldir=/etc/ssl \
            $(TARGET_CPPFLAGS) \

Konfiguracja źródeł

Uruchamiamy make menuconfig i wczytujemy poprzednio użyty plik konfiguracyjny.

Następnie w menu wybieramy Advanced configuration options (for developers), a w podmenu Use ccache oraz Toolchain Options, a w nim Enable Stack-Smashing Protection support.

Aby używać najnowszej wersji sterownika WiFi oraz najnowszego firmware wybieramy w menu głównym Kernel modules, a następnie Wireless Drivers. W tym podmenu wybieramy kmod-b43 oraz upewniamy się, że odznaczona pozostaje opcja kmod-b43legacy.

W tym samym podmenu możemy wybrać b43 firmware version. Wybieramy 4.178.10.4 (experimental).

Kompilacja i instalacja

Kompilację i instalację przeprowadzamy zgodnie z wcześniejszą instrukcją.

Problemy

Jedyny, i w dodatku prosty do usunięcia problem jaki napotkałem to…

OPKG: Could not obtain administrative lock

Jeśli po wydaniu polecenia opkg update zobaczymy komunikat:

Collected errors:
 * Could not obtain administrative lock

Należy utworzyć katalog /usr/lib/opkg. Jeśli katalog istnieje należy usunąć z niego plik lock.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>