FIXME This page is not fully translated, yet. Please help completing the translation.
(remove this paragraph once the translation is finished)

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.
Nadeneyimli 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

Takip edin: Backup and restore

Varolan yapılandırma dosyalarını saklamak istemiyorsanız bu kısmı atlayabilirsiniz.

Komut satırında varsayılan yüklseltme temel OpenWrt yapılandırmasını, yapılandırma dosyalarını kaydederek ve sonra varsayılan konumlarına (/etc/config) geri yükleyerek otomatik korur. Bu ağ ayarları, Wi-Fi ayarları, cihazın makineadı vs. korur. Bir Openwrt komut-satırı yükseltmesi varsayılan olarak şu dosyaları korur:

  • opkg list-changed-conffiles ile listenenler
  • /lib/upgrade/keep.d/ içindeki metin dosyalarının içeriğinde listelenenler (örneğin, /lib/upgrade/keep.d/base-files-essential)
  • /etc/sysupgrade.conf içinde listelenenler

Bilginize: LuCI'nin kalıt ayar davranışı: /etc/config/luci dosyasının “config extern 'flash_keep'” kısmında ayrı bir küme ayar vardır. Geçmişte, görüşe göre bu dosyayı LuCI kullanıyordu (bkz. this post). Gelgelelim, LuCI yükseltme yöntemi aslında sysupgrade betiğini çağırır ve böylece görünüşe göre /etc/config/luci içindeki flash_keep ayarları yoksayılırlar.

Özel yüklenmiş paketlerin ve onların kendi yapılandırmalarının korunmayacağını dikkate al, buna bağlamda yükseltmeden sonra tekrar yüklenecek programlarını ve geri yüklenecek ayarları kaytetmen gereklidir. Bunu özdevimli halleden betikler mevcut. sysupgrade -k komutunu kullanın veya Opkg ekstralar.

Komut satırı yükseltmeleri için sadece “-sysupgrade.bin” ile biten OpenWrt bellenim imajlarını 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çeklestirmez 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:

  1. 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.
  2. 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:
  3. DOWNLOAD_LINK="http://BELLENIMBINURLİ"; SHA256SUMS="http://SHA256URLİ"
  4. 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
  5. Ekran çıktısında, doğru doğrulama-toplamı onayını arayın:
    DOSYA_ADI: OK
  6. 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:
      1. Gnu/Linux bilgisayarınızda şunu çalıştırın: cat [belirtilmiş bellenim].bin | pv -b | nc -l -p 3333
      2. 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: Cihazınızın /tmp dosyasistemi yükseltme imgesini barındıracak kadar büyük değilse, RAM açmalısınız (yer açmak gibi).
    • Öncelikle, basitçe cihazı yeniden başlatmayı deneyin, be zaten yeterli miktarda RAM'i kullanılabilir kılabilir.
    • Biraz boş alan kazanmayı paket fihristini kaldırarak deneyebilirsiniz:
      rm -r /tmp/opkg-lists/
    • Önbelleği boşaltmayı da deneyebilirsiniz:
      sync && echo 3 > /proc/sys/vm/drop_caches
    • Bir miktar RAM boşaltmak için son çaresizce tedbir olarak, kablosuz sürücülerini silip, yeniden başlatarak devredışı birakabilirdiniz. Kablasz sürücüleri genelde bir miktar RAM tutar ve yükseltiyorsanız, yeniden yüklenecekleri için çok da gerekli değildirler. Tabi ki sisteme kablosuzla bağlanıyorsanız bunu yapmamalısınız.
      rm /etc/modules.d/*80211*; rm /etc/modules.d/*ath9k*; rm /etc/modules.d/b43*
      reboot
  1. Bellenim dosyası şimdi /tmp içinde, öyleyse çakma sürecine başlayabilirsiniz
  2. 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)
  3. Yükseltme için şu komutu icra edin:
    sysupgrade -v /tmp/*.bin
  4. 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)
  5. 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...
  6. “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
  7. 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 * Az RAM: Sadece gerçekten çok küçük RAM'li cihazlar için önerilir, daha tehlikeli flashing-by-streaming-to-mtd varyantini deneyebilirdiniz (tehlikeli, çünkü bellenim istemciden cihaza çakma süresince akar. Süreç sırasindaki herhangi bir ağ meselesi cihazı takoz edebilir). Eğer gerçekten başka vesileyle yeterli RAM** boşaltamıyorsanız bu yöntemi kullanın. Bunun için netcat OpenWrt cihazda yükllü olmalı. Netcat için yardıma ihtiyacınız varsa, harici bağlantılara başvurun: 1, 2, 3, 4, 5
    1. Gnu/Linux bilgisayarınızda, koşturun:
      nc -q0 192.168.1.1 1234 < openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin
    2. OpenWrt cihazda, koşturun:
      nc -l -p 1234 | mtd write - firmware
  • 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

    Blindly upgrading packages (manually or via script) can lead you into all sorts of trouble.

    Just because there is an updated version of a given package does not mean it should be installed or that it will function properly. Inform yourself before doing any upgrades to determine if it is safe to upgrade. Avoid upgrading core packages.


    There are two ways to manage/install packages in OpenWrt: with the LuCI web interface Software menu (System > Software), and via the command line interface (CLI). Both methods invoke the same CLI opkg executable, and as of OpenWrt 19.07.0, the LuCI interface now has an 'Updates' tab with a listing of packages that have available upgrades. The LuCI Upgrade… button performs the same opkg upgrade command that is discussed in this article. The same warnings apply to upgrading packages using LuCI and the CLI.


    Generally speaking, the use of opkg upgrade is very highly discouraged. It should be avoided in almost all circumstances. In particular, bulk upgrading is very likely to result in major problems, but even upgrading individual packages may cause issues. It is also important to stress that this is distinctly different from the sysupgrade path for upgrading OpenWrt releases (major versions as well as maintenance upgrades). opkg upgrade will not update the OpenWrt version. Only sysupgrade can do that. The two are not equivalent.

    Unlike the 'big distros' of Linux, OpenWrt is optimized to run on systems with limited resources. This includes the opkg package manager, which does not have built-in ABI (Application Binary Interface) compatibility and kernel version dependencies verification. Although sometimes there may be no issues, there is no guarantee and the upgrade can result in various types of incompatibilities that can range from minor to severe, and it may be very difficult to troubleshoot. In addition, the opkg upgrade process will consume flash storage space. Since it does not (and cannot) overwrite the original (stored in ROM), it must store the upgraded packages in the r/w overlay.

    In the vast majority of cases, any security patches of significant importance/risk will be rapidly released in an official stable maintenance release to be upgraded using the sysupgrade system. This is the recommended method for keeping up-to-date.

    Those looking to be on the bleeding edge can consider using the snapshot releases, but should be mindful of the differences between stable and snapshot. Or, alternatively, build a custom image with the desired updated packages included in that image. The remaining users who still want to use opkg upgrade should only do so with selected individual packages (do not bulk update, and do not blindly update) and they should be aware that problems may occur that could necessitate a complete reset-to-defaults to resolve.

    If you're already having issues, or wish to 'undo' the upgraded packages: create a backup (optional; can be restored after the reset is complete) and then perform a reset to defaults (firstboot).

    If you do choose to upgrade packages, especially with a script, you have been warned. Don't complain on the forum, and be ready to deal with the consequences, troubleshooting, and resolution yourself.

  • 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.
  • Kullanıcı-yüklemesi paketlerde varsayılan ayarlar değişiklikleri için kontrol yapın.
    Yeni paket yüklemeleri, paket yapılandırmalarının yeni varsayılan versiyonlarını yüklemiş olacaklar. Var olan yapılandırma dosyalarınız halihazırda yerlerinde olduklarından, opkg bununla ilgili bir uyarı göstmiş olacak ve yeni yapılandırma dosyası versiyonlarını …-opkg dosya-adlarıyla kaydetmiş olacak. Yeni paket-sağlaması yapılandırma dosyaları sizin daha eski özelleştirilmiş dosyalarınızla, bu dosyalardaki yeni seçeneklerin veya sözdizimi değişikliklerinin birleştirilmesi için karşılaştırılmalılar. diffutils programı bunun için elverişli.
    diffutils'i yükleyin
    opkg install diffutils

    tüm -opkg dosyalarını tespit edin

    find /etc -name *-opkg

    eski özelleştirilmiş /etc/config/snmpd ile yeni genel /etc/config/snmpd-opkg dosyasını karşılaştırın

    diff /etc/config/snmpd /etc/config/snmpd-opkg

    gerekli değişiklikleri yapılandırma dosyasının aktif versiyonununun içine birleştirin

    vi /etc/config/snmpd

    eğer paket yöneticisinin sağladığı yeni versiyonun eski yapilandırma dosyasının yerine geçmesi gerekiyorsa sadece üstüne yazın

    mv /etc/config/snmpd-opkg /etc/config/snmpd 

    yapılandırma dosyasının paket yöneticisi-versiyonunu kaldırarak temizleyin

    rm /etc/config/snmpd-opkg
  • Bazı kullanıcı-yüklemesi paketlerin mümkün kılınmaya ve başlatılmaya ihtiyaçları var, örneğin snmpd'yi başlatmak için:
    /etc/init.d/snmpd enable && /etc/init.d/snmpd start
  • Yükseltme-sonrası adımlarınızdan sonra elle yeniden-başlatma icra edin. Bir cihazı yeniden başlatmak ve tüm beklenen işlevselliğin önceki gibi çalıştığından emin olmak iyi bir fikirdir.
    reboot
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.More information about cookies
  • Last modified: 2021/03/16 14:50
  • by sorcun