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:
===================================================================
--- 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.