Linux-rendszermagon alapuló beágyazott operációs rendszer From Wikipedia, the free encyclopedia
Az OpenWrt Linux-rendszermagon alapuló beágyazott operációs rendszer, melyet elsősorban beágyazott készülékeken alkalmaznak a hálózati adatforgalmak útválasztására. A rendszer főbb alkotóelemei között szerepel a Linux-kernel, az util-linux, a uClibc vagy a musl,[4] illetve a BusyBox. Az OpenWrt összes alkotóeleme a legkisebb méret elérésére van optimalizálva, hogy a rendszer elég kicsi legyen az otthoni routerek limitált háttértárába és memóriájába való telepítéshez.
OpenWrt | |
OpenWrt 15.05 („Chaos Calmer”) bejelentkező képernyő | |
Fejlesztő | OpenWrt Project |
Forráskód | Nyílt |
OS-család | Unix-szerű |
Programozási nyelv | Lua |
Legelső kiadás | 2004. január |
Stabil verzió | 15.05 (Chaos Calmer) (2015. szeptember 11.[1]) |
Fejlesztői verzió | 15.05-rc3 Chaos Calmer (2015. július 15.)[2] |
Frissítés | opkg |
Hardver | 50 különböző platform, amik a következő utasításkészleteket használják: AVR32, ARM, CRIS, m68k, MIPS, PowerPC, SPARC, SuperH, Ubicom32, x86, x86-64[3] |
Csomagkezelő | opkg |
Kernel | Monolitikus (Linux) |
Felhasználói felület | CLI, WebUI-k |
Licenc | Szabad szoftver (GPL és egyéb licencek) |
Státusz | aktuális |
Weboldal | https://openwrt.org/ |
Az OpenWrt parancssoros (ash rendszerhéj) vagy webes felületen (LuCI) keresztül konfigurálható. A rendszerhez körülbelül 3500 kiegészítő szoftvercsomag telepíthető az opkg csomagkezelő rendszer segítségével.
Az OpenWrt számos különböző típusú készülékre, így útválasztókra, hálózati átjárókra, okostelefonokra (például Neo FreeRunner), zsebszámítógépekre (például Ben NanoNote) és laptopokra (például One Laptop per Child) is telepíthető. Az OpenWrt-t átlagos, x86 architektúrájú számítógépeken is lehet futtatni. Az OpenWrt kódbázisának számos foltja visszakerült a fővonalas Linux-rendszermagba.
A projekt azért születhetett meg, mivel a Linksys a WRT54G vezeték nélküli útválasztójának firmware-ét GPL licenc alatti szabadon hozzáférhető kód alapján készítette el.[5] A Linksys a licenc feltételei szerint köteles volt ugyanazon licenc alatt közzétenni a módosított verziójának forráskódját,[6][7] aminek köszönhetően a független fejlesztőknek lehetőségük nyílt további származékos verziók elkészítésére. A hardveres támogatás kezdetben a WRT54G sorozatra korlátozódott, azonban azóta számos más chipsetre, gyártóra és eszköztípusra kiterjedt, így például a plug computerekre és az Openmoko mobiltelefonokra.
A fejlesztők ezt a kódot alapként, majd később referenciaként használva elkészítettek egy Linux-disztribúciót, ami számos, a fogyasztói szintű útválasztókra nem jellemző funkciót is kínál. Ennek néhány funkciója eredetileg zárt forráskódú szoftvert igényelt. Az OpenWrt 8.09 bevezetése előtt, a Linux 2.6.25 rendszermag és a b43
kernelmodul használata miatt számos Broadcom-alapú útválasztónál kizárólag a 2.4.x verziójú Linux-kernelhez írt zárt forráskódú wl.o
modullal volt elérhető a Wireless LAN.
Az OpenWrt fejlesztési ágak kódneveiket alkoholos italokról, így például a White Russian, a Kamikaze, a Backfire, az Attitude Adjustment, a Barrier Breaker vagy a Chaos Calmer koktélokról kapták, ezek receptje általában a MOTD fájlban is olvashatóak.
2011 februárjáig a fejlesztési szoftverágat is Kamikazénak hívták, azonban az r25514-es kiadással átnevezték „Attitude Adjustment”-re és azóta mindig a következő stabil kiadás nevét veszi fel.
Színek: | Régi kiadás | Aktuális kiadás | Jövőbeli kiadás |
---|
Címke | Kódnév | Verzió | Megjelenés | Linux-kernel | C szabvány programkönyvtár | Bináris csomagok | Forráscsomagok | Megjegyzés | |
---|---|---|---|---|---|---|---|---|---|
(alap) | (elérhető) | ||||||||
— | pre Buildroot-NG | 0.x | — | — | uClibc | 474 | ? 310 | ||
r6268 | White Russian | 0.9 | 2006. január | 2.4.30 | uClibc | ? 360 | ? 140 | NVRAM-alapú, nas , wl . Támogatott platform: brcm-2.4 . | |
r7428 | Kamikaze | 7.06 | 2007. június | 2.6.19 | uClibc | ? 750 | ? 450 | Az opkg -t használja. Támogatott platformok: atheros-2.6 , au1000-2.6 , brcm-2.4 , brcm47xx-2.6 , ixp4xx-2.6 , imagicbox-2.6 , rb532-2.6 és x86-2.6 . | |
r7832 | Kamikaze | 7.07 | 2007. július | 2.6.21 | uClibc | ? 790 | ? 475 | Új platform: amcc-2.6 . | |
r8679 | Kamikaze | 7.09 | 2007. szeptember | 2.6.21 | uClibc | ? 630 | ? 500 | ||
r14547 | Kamikaze | 8.09 | 2008. szeptember | 2.6.26 | uClibc | ? 1400 | ? 875 | ||
r16279 | Kamikaze | 8.09.1 | 2009. június | 2.6.26 | uClibc | ? 1400 | ? 875 | ||
r18961 | Kamikaze | 8.09.2 | 2010. január 10.[8] | 2.6.26 | uClibc | ? 1400 | ? 875 | ||
r20742 | Backfire | 10.03 | 2010. április 7.[9] | 2.6.32 | uClibc | ? 2350 | ? 1050 | Támogatott platformok: adm5120_mips , adm5120_mipsel , ar7 , ar71xx , atheros , au1000 , avr32 , brcm-2.4 , brcm47xx , brcm63xx , cobalt , ep80579 , ifxmips , ixp4xx , kirkwood , octeon , orion , ppc40x , ppc44x , rb532 , rdc , x86 és xburst . | |
r29594 | Backfire | 10.03.1 | 2011. december 21.[10] | 2.6.32 | uClibc | eglibc glibc |
? 2950 | ? 1175 | |
r36088 | Attitude Adjustment | 12.09 | 2013. április 25.[11] | 3.3 | uClibc | eglibc | ? 3450 | ? 1150 | CoDel (hálózati ütemező) visszaportolva a Linux 3.5-ről a 3.3-ba. Új platformok: ramips , bcm2708 (Raspberry Pi) és egyebek. |
r42625 | Barrier Breaker | 14.07 | 2014. október 2.[12] | 3.10.49[13] | uClibc | musl eglibc |
? | ? | Új platformok: i.MX23 , i.MX6 [14] és mvebu . |
r46767 | Chaos Calmer | 15.05 | 2015. szeptember 11.[15] | 3.18.20[16] | uClibc | musl glibc[17] |
? | ? | nftables (a 3.12-es Linux-kerneltől érhető el). |
trunk | Designated Driver[18] | development | — | ≥4.1.11 | musl[19] | uClibc glibc |
? | ? |
Az OpenWrt Attitude Adjustment (12.09) ágának megjelenésével a 16 MB vagy annál kevesebb RAM-mal rendelkező készülékek támogatása megszűnt, mivel ezek könnyen kifuthatnak a memóriából. A bcm47xx
készülékekre a korábbi Backfire (10.03) ajánlott, mivel az ilyen eszközökben felmerülő problémákat az elavult brcm-2.4
Broadcom-célcím támogatásának megszűnése jeleneti.[20][21]
Az OpenWrt a bazárelvet követi és a rengeteg beállítási lehetőségéről ismert. Főbb funkciói között szerepel:
Az OpenWrtnek a 8.09-es verzió előtt minimális webes felhasználói felülete volt. Az OpenWrt 8.09-es és újabb kiadásai már egy alkalmasabb webes felhasználói felületet tartalmaznak.[28] Ez a felület a LuCI-n alapul, ami egy Lua programozási nyelvben írt MVC keretrendszer.[27]
Az X-Wrt projekt egy alternatív webes felületet is biztosít webif2 néven, mely az OpenWrt csomaggyűjteményeiben érhető el.
A Gargoyle Router Management Utility[29] webes felhasználói felület az OpenWrthez, amely nagy hangsúlyt fektet a használhatóságra. A Gargoyle eredetileg az OpenWrt csomagjaként volt elérhető, azonban mivel annak írója módosításokat kezdett végezni az OpenWrt alapértelmezett rendszerfelépítésében, ezért a csomag kikerült a csomagtárolóból és kizárólag különálló firmware-képfájlként érhető el. A Gargoyle széles körben használja a JavaScriptet, hogy a lehető legtöbb munkát átruházza a kliensgépre, és elsősorban a könnyű kezelhetőségre összpontosít, így arra törekednek, hogy elérjék vele a kereskedelmi útválasztók firmware-jének felhasználói élményét.
Az OpenWrt fejlesztői környezetének és fordítóprogramjának együttese, az OpenWrt Buildroot a Buildroot rendszer erősen módosított változatán alapul. Az OpenWrt Buildroot egy halom makefile-ból és foltból áll, melyek egy megfelelő keresztfordító eszközkészlet segítségével automatizálják a teljes Linux alapú OpenWrt-firmware fordítását.[30][31]
A beépített eszközök általában eltérő processzort használnak, mint az OpenWrt-firmware-képfálok fordítására használt gazdagépek, ezért szükséges van egy keresztfordító eszközkészletre. Az ilyen eszközkészletek a gazdagépen futnak, azonban a célzott beágyazott eszköz és annak processzorának utasításkészlet-architektúrájára (ISA) írják a kódot. Példának okáért, ha a gazdagép x86-ot használ, míg a céleszköz MIPS32-t, akkor egy az X86-on futó átlagos eszközkészlet X86 architektúrára generál kódot, míg egy keresztfordító eszközkészlet MIPS32 architektúrára. Az OpenWrt Buildroot automatizálja az egész folyamatot, hogy a legtöbb beépített készülék és gazdagép utasításkészlet-architektúráján működjön.[30][32]
Az OpenWrt Buildroot a következő funkciókat kínálja:[30][32]
Az OpenWrt fejlesztői környezete a rendszerfájlok felépítése mellett egy egyszerűsített platformfüggetlen mechanizmust is biztosít az OpenWrt-szoftvercsomagok fordítására. Ehhez szükség van a szoftvercsomagok forráskódjára a makefile-szerű utasításkészlet felépítéséhez, illetve opcionálisan foltok és hibajavítások vagy helyigény-optimalizációk is mellékelhetőek.[33]
Az OpenWrt-t, illetve legfőképp a Buildroot fordítórendszert számos helyen alkalmazzák:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.