Show pagesourceOld revisionsBacklinksBack to top × Table of Contents OpenWrt bellenimi uçbirim kullanarak yükseltme Yedekleme OpenWrt bellenim yükseltme imajını indirme ve doğrulama Komut-satırı yönergeleri OpenWrt bellenimi çak Yükseltme-sonrası adımlar Yeni paket yapı seçeneklerinin karşılaştırmak Hafıza yetersizliği çözümleri: /tmp indirilen dosya için çok küçük OpenWrt bellenimi uçbirim kullanarak yükseltme Sadece deneyimli kullanıcılar için! Bu klavuz varolan bir OpenWrt bellenimini yeni bir versiyona SSH komut satırından yükseltir. Bu wiki sayfasındaki pek çok bilgi generic OpenWrt OS upgrade procedure içeriğinin tıpkısıdır. Deneyimli olmayan kullanıcılara bunun yerine OpenWrt bellenimi LuCI kullanarak yükseltmeleri şiddetle önerilir. Eğer ilk açılışta bazı yapılandırma seçeneklerine, örneğin çakmadan sonra Wi-Fi'ın çalışır olmasına ihtiyacınız varsa, şu klavuzu takip edin: İlk başlangıçta çalışır Wi-Fi'li OpenWrt çakma Yedekleme Takip edin: backup_restore Varolan yapılandırma dosyalarını saklamak istemiyorsanız bu kısmı atlayabilirsiniz. OpenWrt bellenim yükseltme imajını indirme ve doğrulama Komut satırı yükseltmeleri için sadece “-sysupgrade.bin” ile biten OpenWrt bellenim imajlarını indirin ve kullanın. x86 sistemler için “sysupgrade” imajı yoktur, sadece yeni bellenim imajının aynı doyasistemi ailesine sahip olduğundan emin olun. Not: sysupgrade işlemi, yükseltme süreci sırasında flaş deposunu indirdiğinden yükseltme dosyası /tmp içine yerleştirilmeli. Yükseltme dosyası /tmp içinde değilse sysupgrade herhangi bir yükseltme gerçekleştirmez sadece sistemi yeniden başlatır. Arzu edilen yükseltme dosyasıni OpenWrt'nin /tmp dizinine indirin ve Bellenim doğrulama-toplamını doğrulayın. /tmp dizini cihazın RAM'inde konumlandırlır: Boş hafızanın hazır bulunurluğunun kontrolü: free komutu. Eğer serbest hafıza bellenim dosyası boyutu + biraz fazla hafıza kadarsa (bellenim dosyanızın iki katı mükemmeldir), devam. Devam eden değişkenleri, OpenWrt bellenim dosyanızın indirme adresine ayarlayın (URL'i özelleştirmelisiniz!). Yönlendiricinizin mimarisi için İndrme sayfasının ilave dosyalar kısmında, İmaj Dosyaları kısmının aşağısında “sha256sums” dosyasına bir bağlantı bulacaksınız: DOWNLOAD_LINK="http://BELLENIMBINURLİ"; SHA256SUMS="http://SHA256URLİ" Bellenim doğrulama toplamını indirip şununla doğrulayın: cd /tmp;wget $DOWNLOAD_LINK;wget $SHA256SUMS;sha256sum -c sha256sums 2>/dev/null|grep OK Ekran çıktısında, doğru doğrulama-toplamı onayını arayın: DOSYA_ADI: OK Doğrulama-toplamı onayı uyuşmuyorsa devam etmeyin Sorun giderme: Eğer 'wget' kullanamıyorsanız (örneğin: bellenimi OpenWrt'ye PC'nizden aktarmak istiyorsanız) scp kullanabilirsiniz: scp openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin root@192.168.1.1:/tmp (Doğru-düzgün scp kullanmak için cihazınızın root hesabı için boş olmayan bir parola ayarlamış olduğunuzdan emin olurn.) ssh kullanabilirsiniz: ssh root@192.168.1.1 “cat > /tmp/openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin” < openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin (Ayrıca cihazınız root hesabı için boş olmayan bir parola belirlediğinizden emin olun.) ayrıca nc/netcat kullanabilirsiniz: Gnu/Linux bilgisayarınızda şunu çalıştırın: cat [belirtilmiş bellenim].bin | pv -b | nc -l -p 3333 OpenWrt cihazınızda şunu çalıştırın (Gnu/Linux bilgisayarınızın IP adresınin 192.168.1.111 olduğu varsayılarak): nc 192.168.1.111 3333 > /tmp/[belirtilen bellenim].bin Eğer doğrulama-toplamı uyuşmuyorsa: Bellenim indirmeyi tekrar yapın, eğer uyuşma süruyorsa yardım isteyin"Installing and Using OpenWrt" Forum Eğer RAM az ise görülecek: CLI - Yetersiz Ram Çözümleri. Komut-satırı yönergeleri OpenWrt bellinim yükseltme muamelesi için sysupgrade tesisatını sağlar. Bellenim imajı kontrol-özetini doğrula Yönlendiricinin yeterli serbest RAM'i olduğunu doğrula. Yerel kişisel-bilgisayardan bellenimi upload et. Bellenimi çak. # Serbest RAM kontrolü free # Bellenim upload scp bellenim_imgesi.bin root@openwrt.lan:/tmp # Bellenimi çak sysupgrade -v /tmp/bellenim_imgesi.bin Eğer sysupgrade mevcut değil ise. # Bellenimi çak mtd -r write /tmp/bellenim_imgesi.bin bellenim sysupgrade verbose seçeneği şuna benzer bir çıktı vermeli. Kurtarılan yapılandırma dosyaları listesi ne paketler yüklendiğine ve hangi dosyaların kurtarılmak üzere yapılandırıldığına göre değişir. Saving config files... etc/config/dhcp etc/config/dropbear etc/config/firewall etc/config/luci etc/config/network etc/config/snmpd etc/config/system etc/config/ubootenv etc/config/ucitrack etc/config/uhttpd etc/config/wireless etc/dropbear/authorized_keys etc/dropbear/dropbear_dss_host_key etc/dropbear/dropbear_rsa_host_key etc/firewall.user etc/group etc/hosts etc/inittab etc/passwd etc/profile etc/rc.local etc/shadow etc/shells etc/sudoers etc/sudoers.d/custom etc/sysctl.conf etc/sysupgrade.conf killall: watchdog: no process killed Sending TERM to remaining processes ... ubusd askfirst logd logread netifd odhcpd snmpd uhttpd ntpd dnsmasq Sending KILL to remaining processes ... askfirst Switching to ramdisk... Performing system upgrade... Unlocking firmware ... Writing from <stdin> to firmware ... [w] Appending jffs2 data from /tmp/sysupgrade.tgz to firmware...TRX header not found Error fixing up TRX header Upgrade completed Rebooting system... Not: “TRX header not found” ve “Error fixing up TRX header” hataları OpenWrt geliştiricisi jow'un https://dev.openwrt.org/ticket/8623 bildirisine göre sorun değiller. Yönlendirici yeniden hatta dönene kadar bekle. Kendiliğinden yeniden başlatma sonrası, sistem önceki aynı yapılandırma ayarlarıyla kendisine gelmeli: aynı IP adresi, aynı SSH parolası, vesaire. Aşağıdaki “OpenWrt yükseltme sonrası ek yapılandırma” kısmına devam et. Sorun giderme Eğer yararı olmazsa, cold reset (= cihazın electirik akımı beslemesini kes, birkaç saniye bekle ve yeniden bağla). /etc/opkg.conf ile ilgili here açıklandığı üzere hassas ol. Bilinmeyen nedenlerden sysupgrade sonrası cold reset gerekliliği sıklıkla bildirilmiştir. Eğer bunu uzaktan icra ettiyseniz bu çok çok kötü. OpenWrt bellenimi çak Bellenim dosyası şimdi /tmp içinde, öyleyse çakma sürecine başlayabilirsiniz Eğer uzaktan yükseltiyorsanız, tercihen cihazın konumunda bir yardımcı bulundurun (bazı cihazlar yükseltmeden sonra fiziksel sıfırlama gerektirdiğinden) Yükseltme için şu komutu icra edin: sysupgrade -v /tmp/*.bin Eski yapılandırma dosyalarını saklamak istemiyor ve cihazı temiz durumdan yapıandırmak istiyorsanız `-n` seçimini ekleyebilirsiniz (network/system ayarları da yitirilecekler) Yeni bellenim çakılırken, şuna benzer bir çıktı gösterilecek:Saving config files... etc/config/dhcp ... etc/config/wireless etc/dropbear/authorized_keys ... etc/sysupgrade.conf killall: watchdog: no process killed Sending TERM to remaining processes ... ubusd askfirst logd logread netifd odhcpd snmpd uhttpd ntpd dnsmasq Sending KILL to remaining processes ... askfirst Switching to ramdisk... Performing system upgrade... Unlocking firmware ... Writing from <stdin> to firmware ... [w] Appending jffs2 data from /tmp/sysupgrade.tgz to firmware...TRX header not found Error fixing up TRX header Upgrade completed Rebooting system... “TRX header not found” ve “Error fixing up TRX header” hatalarını yoksayın. bu hatalar https://dev.openwrt.org/ticket/8623'a göre alâkasızlar Router çevrimiçine dönene kadar bekleyin. Sistem aynı yapılandırma ayarlarıyla (aynı ağ IP adresi, aynı SSH parolasi, vs.) başlamalı Sorun giderme: kendiliğinden yeniden başlamıyor veya tepkisiz kalıyor: 5 dakika bekleyin, sonra fiziksel sıfırlama yapın: Kapatın, 2-3 saniye bekleyin ve açın (veya fişini çekip takın). Bunu cihaz güncellerken yapmak cihazı yazılımsal takoz edebilir ve kurtarmak için seri veya hatta jtag bağlantısı gerektirebilirdi. Böyle bir soğuk yeniden başlatmanın uçbirimden sysupgrade sonrasi gerekliliği bildirilmiştir. OPKG meseleleri: eğer çakma sonrası paket yükleme meseleleriniz veya opkg.conf'un geçersiz verisi varsa, okuyun: https://dev.openwrt.org/ticket/13309 'sysupgrade' kullanılabilir değil OpenWrt cihazınizda, bellenimi çakmak için yerine 'mtd' kullanabilirsiniz: mtd -r write /tmp/openwrt-ar71xx-generic-wzr-hp-ag300h-squashfs-sysupgrade.bin firmware Yükseltme-sonrası adımlar Yeni işletim sistemi versiyonunu onaylayın: Bellenimin hakikaten yükseltildiğini görmenin daha basit yolu. SSH'ta giriş manşeti, versiyon gibi sürüm bilgilerini belirtir. eğer extroot kullandıysanız, onu restore etmek için this howto'e bakın Yükseltilebilir paketler için kontrol yapın Opkg Package Manager. Bellenim yükseltmesinden sonra, temel işletim sistemi bellenim imajı derlendikten sonra daha güncel paketlerin sürülmüşlüğünü kontrol etmek iyidir. Kullanıcı-yüklemesi paketleri yeniden kurmak. Başarılı bir yükseltme sonrası, notlarınıza göre önceki yüklü paketlerin tümünü yeniden yüklemeye ihtiyacınız olacak. Paket yapılandırma dosyaları yukarıdaki adımlara göre muhafaza edilmiş olmalılar, ama paketlerin kendileri değil. Eğer forumdaki betikleri kullandıysanız bu adım gerekli olmayabilir. Paketleri körleme yükseltmek (el veya betik ile) sizi her türlü belaya sürükleyebilir. Bir paketin sadece yükseltilmiş bir sürümü var diye onun yüklenmesi gerektiği veya uygun işleyeceği anlamına gelmez. Herhangi bir yükseltme yapmadan önce yükseltmenin güvenli olup olmadığını tespit etmek için kendinizi bilgilendirin.Avoid upgrading core packages. OpenWrt'de paketleri yönetmenin/yüklemenin iki yolu var: LuCI web arayüzü Yazılım menüsü (Sistem > Yazılım), ve komut satırı arayüzü(KSA). İki yöntem de aynı KSA opkg çalıştırılabilir kodlarını çağırır, ve OpenWrt 19.07.0 itibarı ile, LuCI arayüzünün yükseltilebilir paketleri listeleyen bir 'Güncelleştirmeler' sekmesi vardır. LuCI Yükselt... düğmesi, bu sayfanın konusu olan aynı opkg upgrade komutunu icra eder. Paketleri yükseltmekte, LuCI ve KSA için aynı uyarılar geçerlidir. Genel anlamda, opkg upgrade kullanımı asla önerilmez. Hemen her koşulda ondan sakınılmalıdır. Özel olarak, toptan yükseltmenin büyük sorunlara yol açması çok olasıdır, ama yine de tekil paketlerin yükseltilmesi de sorunlara neden olabilir. Aynı zamanda bunun OpenWrt sürümlerini (ana sürümler gibi bakım sürümleri de) yükseltmek için sysupgrade yolundan farklı olduğunu vurgulamak da önemlidir. opkg upgrade OpenWrt sürümünü yükseltmez. Sadece sysupgrade bunu yapabilir. Bu ikisi eşdeğer değildir. Büyük Linux dağıtımlarında farklı olarak, OpenWrt sınırlı kaynaklı sistemlerde çalışması için en iyi duruma getirilmiştir. Bu dahili ABI (Application Binary Interface) uyumluluği ve çekirdek sürümü bağlılığı doğrulamaysı içermeyen opkg paket yöneticisini kapsar. Her ne kadar bazan hiç sorun olmasa da, garantisi yok ve yüseltme küçüğünden büyüğüne çeşitli uyumsuzluklarla sonuçlanabilir, ve sorun çözme çok zor olabilir. Ek olarak, opkg upgrade süreci çakarbellek boşluğu tüketir. Aslı (yerleşik ROM) üzerine yazmadığı (ve yazamayacağı) için, yükseltilmiş paketleri r/w katmanında depolaması gerekir. Çoğu durumda, kayda değer önem/risk taşıyan güvenlik yamaları, sysupgrade sistemiyle kullanılmak üzere resmi kararlı bakım sürümünde, hızla yayınlanır. Güncelliği korumak için önerilen yöntem budur. Son seviyede olmayı isteyenler enstantane sürümlerini kullanmayı değerlendirmeliler, ama kararlı ve enstantane sürümleri arasındaki farklılıkların bilincinde olmalılar. Veya, alternatif olarak, istenen güncellenmiş paketleri kapsayan özel bir imaj oluşturmalılar. Hâlâ opkg upgrade kullanmak isteyen kalan kullanıcılar bunu seçilmiş tekil paketler için yapmalılar (toptan güncelleme ve kör güncelleme!) ve çözmek için varsayılanlara tam sıfırlamayı zorunlu kılabilecek sorunların ortaya çıkabileceğinin farkında olmalılar. Halihazırda sorunlarınız varsa veya yükseltilmiş paketleri geri çevirmek istiyorsanız: bir yedek oluşturun (seçmeli; sıfırlama tamamlandıktan sonra geri yüklenebilir) ve varsayılanlara sıfırlamayı icra edin (firstboot). Eğer paketleri, özellikle de bir betik ile yükseltmeyi seçerseniz, uyarıldınız. Forumda çikayet etmeyin, ve sonuçlarla kendiniz başa çıkmaya, sorun giermeye, ve çözümlemeye hazır olun. Yeni paket yapı seçeneklerinin karşılaştırmak Yeni paket yüklemeleri yeni, varsayılan paket yapılandırma dosyaları yüklemiş olacaklar. Varolan yapılandırma dosyalarınız hali halihazırda yerlerinde olacaklarından, opkg bununla ilgili bir uyarı göstermiş ve yeni yapılandırmayı *-opkg dosya adlarıyla kaydetmiş olmalı. Paketçe sağlanan yeni yapılandırma dosyaları önceki özelleştirilmiş olanlarla karşılaştırılıp olası yeni seçenek ve sözdizimi değişiklikleri birleştirilmeli. diff aleti buna yardımcı olur El ile yapılandırma ''diff''i # diffutils yükle opkg install diffutils # tüm -opkg dosyalarını bul find /etc -name *-opkg # güncel özelleştirilmiş /etc/config/snmpd karşı yeni /etc/config/snmpd-opkg diff /etc/config/snmpd /etc/config/snmpd-opkg # yeni değişiklikleri etkin yapı dosyasına el ile ekle / birleştir vi /etc/config/snmpd # VEYA bakıcı tarafından sağlanan yeni versiyornu kullanabilir ve eski yapı dosyasının üstüne yazabilirsin mv /etc/config/snmpd-opkg /etc/config/snmpd # yapılandırma dosyası bakıcı sürümünü kaldır rm /etc/config/snmpd-opkg # Bazı kullanıcı-yüklemesi paketlerin entinleştirilmeye ve başlatılmaya ihtiyaçları var, örneğin snmpd başlatmak: /etc/init.d/snmpd enable && /etc/init.d/snmpd start # isteğe bağlı: El ile yeniden başlatma beklenen tüm işlevselliğin önceki gibi çalıştığından emin olmak için iyi bir fikir reboot Opkg/UCI ekleri diff Takip eden özellikleri kullanabilmek için Opkg ekleri ve UCI ekleri kur. # Paketleri yükle opkg update opkg install diffutils # Yeni yapılandırmaları bul opkg newconf # UCI yapılandırmalarını karşılaştır uci diff snmpd # Gerekli değişiklikleri güncel sürüme birleştir vi /etc/config/snmpd rm /etc/config/snmpd-opkg # Veya güncel sürümü yeni olanla değiştir mv /etc/config/snmpd-opkg /etc/config/snmpd # Yeni yapılandırmayı uygula /etc/init.d/snmpd restart Hafıza yetersizliği çözümleri: /tmp indirilen dosya için çok küçük Eğer cihazının /tmp dosyasistemi OpenWrt yükseltme imgesini barındırmak için yeterince geniş değil ise, bu kısım geçici olarak RAM serbestleştirmek için ipuçları sağlar. İlkin hafıza kullanımını free veya top veya cat /proc/meminfo komutlarıyla kontrol et; eğer imge boyutu ve biraz ek MiB kadar serbest hafıza varsa devam et. # free total used free shared buffers Mem: 29540 18124 **11416** 0 1248 -/+ buffers: 16876 12664 Swap: 0 0 0 Bu örnekte tam olarak 11416 KiB kullanılmayan RAM var. Gerikalan tüm 32768 - 11416 = 21352 KiB bir şekilde kullanımda ve bunun bir kısmı kernel tarafından kullanılabilir kılınabilir ve gerekirse yapılır, buradaki sorun bunun tam olarak ne kadar olduğunu bilmiyor olmamız. yeterince kullanılabilir olduğundan emin ol. Aynı zamanda /tmp'deki boş alan serbest hafızadan sayılır. Bundan dolayı: # free Mem: 13388 12636 752 0 1292 Swap: 0 0 0 Total: 13388 12636 752 # df Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 2304 2304 0 100% /rom tmpfs 6696 60 6636 1% /tmp tmpfs 512 0 512 0% /dev /dev/mtdblock3 576 288 288 50% /overlay mini_fo:/overlay 2304 2304 0 100% / Birinin tam olarak 752+6636 KiB kullanılabilir serbest hafızası var. Biraz RAM boşaltmanın en hızlı ve güvenli yolu, paket listelerini silmektir: rm -r /tmp/opkg-lists/ cache'leri at: sync && echo 3 > /proc/sys/vm/drop_caches sonraki başlatmada kablosuz sürücülerinin yüklenmesini engeleeme ve yeniden başlatma: rm /etc/modules.d/*80211* rm /etc/modules.d/*ath9k* rm /etc/modules.d/b43* reboot Kablosuz sürüculer genellikle bir miktar RAM tutar ve kablo ile bağlıysanız gerekli değillerdir. RAM boşaltmak için ilgili sembolik bağlantıları etc/modules.d'den silebilir ve yeniden başlatabilirsin. Hala /tmp'de yer yok mu? Sadece diğer yöntemlerle yeterli RAM serbestleştiremediysen netcat kullan. Süreç boyunca herhangi bir şebeke meselesi cihazını takoz edebilir. ssh kullanarak çak # Linux PC cat firmware_image.bin | ssh root@openwrt.lan mtd write - firmware netcat kullanarak çak # Linux PC nc -q 0 192.168.1.1 1234 < openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin # OpenWrt nc -l -p 1234 | mtd write - firmware This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.OKMore information about cookies Last modified: 2022/04/24 18:01by sorcun