Nhà phát triểnOpenWrt ProjectHọ hệ điều hànhTương tự UnixTình trạnghoạt độngĐang phát triểnKiểu mã nguồnMã nguồn mởPhát hành lần đầuTháng 1, 2004 (2004-01)Có hiệu lựctrong22 ngôn ngữ<1>Phương thứccập nhậtopkgHệ thốngquản lý góiopkgNền tảng50 nền tảng khác nhau Instruction sets: AVR32, ARM, CRIS, m68k, MIPS, PowerPC, SPARC, SuperH, Ubicom32, x86, x86-64<2>Loại hạt nhânMonolithic (Linux)Không gianngười dùngBusyBox, GNUGiao diệnmặc địnhGiao diện dòng lệnh, giao diện webGiấy phépPhần mềm miễn phí (GPL và một số giấy phép khác)Website chính thứcopenwrt.org

OpenWrt là một hệ điều hành /hệ điều hành nhúng dựa trên nhân Linux, và chủ yếu được sử dụng trên các thiết bị nhúng vào mạng lưới định tuyến đường truyền. Các thành phần chính là hạt nhân Linux, util-linux, uClibc và BusyBox. Tất cả các thành phần đã được tối ưu hóa kích thước, phải đủ nhỏ để nhúng vào bộ nhớ có hạn của các router dùng trong gia đình.

Bạn đang xem: Openwrt là gì

OpenWrt được cấu hình bằng cách sử dụng giao diện dòng lệnh (ash Shell), hoặc một giao diện Web (Luci). Có khoảng 3.500 gói phần mềm tùy chọn có sẵn để cài đặt qua hệ thống quản lý gói opkg.

OpenWrt có thể chạy trên các bộ định tuyến CPE, hệ thống mạng nhỏ, điện thoại thông minh (ví dụ: Neo FreeRunner), máy tính bỏ túi (ví dụ: Ben NanoNote), thậm chí cả máy tính xách tay (ví dụ: One Laptop per Child (OLPC)). Ngoài ra, OpenWrt có thể chạy trên các máy tính thông thường (ví dụ như kiến trúc x86). Nhiều bản vá lỗi từ các mã nguồn cơ sở của OpenWrt đã được đưa và đóng góp ngược lại cho nhân Linux bằng đường chính.


Mục lục


1 Lịch sử1.1 Releases1.2 Không tương thích phần cứng2 Tính năng2.1 Giao diện Web3 Phát triển4 Tham khảo5 Liên kết ngoài

Lịch sử

Dự án bắt đầu vì Linksys cung cấp Firmware của thiết bị định tuyến WRT54G theo GPL.<3> Theo các điều khoản của Giấy phép đó, Linksys đã được yêu cầu để làm cho mã nguồn của phiên bản sửa đổi của nó có sẵn theo giấy phép tương tự,<4><5> nó cho phép các nhà phát triển có thể phát sinh ra nhưng phiên bản tự do khác. Hỗ trợ ban đầu được giới hạn ở những dòng WRT54G, nhưng từ đó đã được mở rộng để bao gồm nhiều chipset khác, các nhà sản xuất và các loại thiết bị, bao gồm cả máy tính và điện thoại di động OpenMoko.

Sử dụng mã này như là một cơ sở và sau đó là một tài liệu tham khảo, các nhà phát triển tạo ra một bản phân phối Linux, cung cấp nhiều tính năng không tìm thấy trước đây trong các router ở mức khách hàng. Một số tính năng trước đây là yêu cầu phần mềm độc quyền. Trước khi giới thiệu OpenWrt 8.09, sử dụng Linux 2.6.25 và b43 module hạt nhân, đối với nhiều WLAN Broadcom dựa trên router WS chỉ có sẵn thông qua việc độc quyền wl.o module đó WS cũng cung cấp cho Linux kernel phiên bản 2.4.x chỉ.

Các tên mã của chi nhánh OpenWrt được đặt theo tên của đồ uống có cồn, thường bao gồm cả công thức nấu ăn của họ trong màn hình đăng nhập SSH được cho là tốt, như White Russian, Kamikaze, Backfire, Attitude Adjustment, Barrier Breaker.

Sự phát triển không ngừng trunk có tên Kamikaze cho đến tháng 2 năm 2011, nhưng với r25514 nó được đổi tên thành “Attitude Adjustment” và hiện đang được liên tục đổi tên thành tên ổn định tiếp theo.

Releases

TaggedTên MãPhiên bảnNgày phát hànhHạt nhân LinuxThư viện C chuẩnGói PMGói NguồnGhi chú(mặc định)(có sẵn)
Không cóPhiên bản cũ, không còn được hỗ trợ: pre Buildroot-NG0.xKhông cóKhông cóuClibc474≈ 310
r6268Phiên bản cũ, không còn được hỗ trợ: White Russian0.91/20062.4.30uClibc≈ 360≈ 140NVRAM-based, nas, wl. Nền tảng được hỗ trợ: brcm-2.4.
r7428Phiên bản cũ, không còn được hỗ trợ: Kamikaze7.066/20072.6.19uClibc≈ 750≈ 450Sử dụngopkg.

Nền tảng được hỗ trợ: atheros-2.6, au1000-2.6, brcm-2.4, brcm47xx-2.6, ixp4xx-2.6, imagicbox-2.6, rb532-2.6 and x86-2.6.

r7832Phiên bản cũ, không còn được hỗ trợ: Kamikaze7.077/20072.6.21uClibc≈ 790≈ 475Nền tảng mới: amcc-2.6.
r8679Phiên bản cũ, không còn được hỗ trợ: Kamikaze7.099/20072.6.21uClibc≈ 630≈ 500
r14547Phiên bản cũ, không còn được hỗ trợ: Kamikaze8.099/20082.6.26uClibc≈ 1,400≈ 875Nền tảng mới: ar71xx.
r16279Phiên bản cũ, không còn được hỗ trợ: Kamikaze8.09.1June 20092.6.26uClibc≈ 1,400≈ 875
r18961Phiên bản cũ, không còn được hỗ trợ: Kamikaze8.09.2tháng 1 ngày 10, 2010<6>2.6.26uClibc≈ 1,400≈ 875
r20742Phiên bản cũ, không còn được hỗ trợ: Backfire10.03tháng 4 ngày 7, 2010<7>2.6.32uClibc≈ 2,350≈ 1,050Nền tảng được hỗ trợ: 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 and xburst.
r29594Phiên bản cũ, không còn được hỗ trợ: Backfire10.03.1tháng 12 ngày 21, 2011<8>2.6.32uClibceglibcglibc≈ 2,950≈ 1,175
r36088Phiên bản cũ, không còn được hỗ trợ: Attitude Adjustment12.09tháng 4 ngày 25, 2013<9>3.3uClibceglibc≈ 3,450≈ 1,150CoDel (network scheduler) backported from Linux 3.5 to 3.3. New platforms: ramips, bcm2708 (Raspberry Pi) and others.
r42625Phiên bản cũ, không còn được hỗ trợ: Barrier Breaker14.07tháng 10 ngày 2, 2014<10>3.10.49<11>uClibcmusleglibc??New platforms: i.MX23, i.MX6<12> and mvebu.
r46767Phiên bản ổn định hiện tại: Chaos Calmer15.05tháng 9 ngày 11, 2015<13>3.18.20<14>uClibcmuslglibc<15>??nftables (available since Linux kernel 3.12); New platforms: TBA if any
trunkBản ra mắt trong tương lai: Designated Driver<16>developmentKhông có≥4.1musl<17>uClibcglibc??

Không tương thích phần cứng

Với phiên bản Attitude Adjustment (12.09) được phát hành bởi OpenWrt, tất cả các thiết bị phần cứng với 16 MB RAM hoặc ít hơn không còn được hỗ trợ như vì có thể bị tràn bộ nhớ. Phiên bản cũ hơn Backfire (10.03) được khuyến nghị cho các dòng bcm47xx, có một số vấn đề với sự ngưng hỗ trợ của Broadcom brcm-2.4.<18><19>

Tính năng

OpenWrt có sự mở rộng rất linh hoạt và đa dạng tính năng. Các tính năng chính:

Một hệ thống tập tin gốc có thể ghi, cho phép người dùng thêm, xóa hoặc sửa đổi bất kỳ tập tin. Điều này được thực hiện bằng cách sử dụng overlayfs<20><21> có hệ thống tập tin chỉ đọc được nén với SquashFS, và JFFS2 thể ghi Copy-on-Write. JFFS2 hỗ trợ chống hao mòn flash “wear leveling”.Quản lý gói opkg, tương tự như dpkg, cho phép người dùng cài đặt và gỡ bỏ phần mềm. Các kho gói chứa khoảng 3500 gói. Điều này trái ngược với firmware Linux dựa trên dựa trên các hệ thống tập tin chỉ đọc mà không có khả năng sửa đổi các phần mềm được cài đặt mà không cần xây dựng lại và trở thành một ảnh firmware hoàn tất.Một tập hợp các mã gọi là UCI (giao diện cấu hình Unified) Dự kiến để thống nhất và đơn giản hóa cấu hình của toàn bộ hệ thống<22>Cấu hình mở rộng của toàn bộ trình điều khiển phần cứng, ví dụ như xây dựng tích hợp switch mạng và VLAN, WNIC s, modem DSL s, FX, các nút phần cứng có sẵn, vvkhả năng toàn diện để cấu hình các tính năng mạng như:Định tuyến thông qua iproute2, Quagga, BIRD, vvlưới mạng qua BATMAN, OLSR và IEEE chuẩn 802.11s của các trình điều khiển WNICchức năng <> ví dụ như làm những hành động thiết bị như một repeater không dây, một điểm truy cập không dây, một cầu nối không dây, một cổng khóa, hoặc một sự kết hợp của những việc này với ví dụ ChilliSpot, WiFiDog Captive Portal, vvbảo mật không dây: Packet injection, ví dụ: Airpwn, lorcon, eatường lửa, NAT và port forwarding thông qua netfilter; PeerGuardian có sẵntự động được cấu hình cổng giao thức chuyển tiếp UPnP và NAT-PMP qua upnpd, vvcổng gõ qua knockd và knockTR-069 <23>IPS qua Snort (phần mềm)quản lý hoạt động hàng đợi (AQM) thông qua mạng scheduler của hạt nhân Linux, có nhiều người sẵn sàng xếp hàng kỷ luật s. CODEL đã Been backported đến 3,3 Kernel.<24> Điều này gói gọn giao thông hình thành để đảm bảo phân phối công bằng băng thông giữa nhiều người sử dụng và chất lượng dịch vụ (QoS) cho sử dụng đồng thời của các ứng dụng như VoIP, chơi game trực tuyến, và phương tiện truyền thông mà không cần trải qua các tác động tiêu cực của liên kết bão hòa.cân bằng tải để sử dụng với nhiều ISPIP tunnelingmở rộng mạng lưới giám sát thời gian thực và thống kê thông qua các ví dụ: RRDtool, Collectd, Nagios, Munin lite, Zabbix, vvDomain Name System (DNS) và DHCP qua dnsmasq, MaraDNS, vvDịch vụ DNS động để duy trì một tên miền cố định với một ISP không cung cấp một địa chỉ IP tĩnhhệ thống phân phối không dây (WDS) bao gồm WPA-PSK, WPA2-PSK, WPA-PSK / WPA2-PSK Mixed-Mode chế độ mã hóaOpenWrt hỗ trợ bất kỳ phần cứng có hỗ trợ Linux; thiết bị có thể được ví dụ như kết nối qua USB với một thiết bị nhúng bao gồmmáy inbăng thông rộng di động, modemwebcamcard âm thanhgói phần mềm đáng chú ý để sử dụng các phần cứng hỗ trợ là:chia sẻ tập tin qua SAMBA, (tương thích với Windows), NFS và FTP, chia sẻ máy in qua máy chủ CUPS in (spooling) hoặc p910nd (không spooling)PulseAudio, Music Player Daemon, Audio / Video trực tuyến thông qua các tiêu chuẩn AV DLNA / UPnP, iTunes (DAAP) máy chủAsterisk (PBX)MQ Telemetry Transport qua MosquittoMở rộng một giao diện Web Ajax, nhờ dự án Luci<25>fix lỗi và cập nhật thường xuyên, ngay cả đối với các thiết bị không còn được hỗ trợ bởi các nhà sản xuất của họ.

Giao diện Web

Trước khi phát hành 8.09, OpenWrt có một giao diện web tối giản. Trong OpenWrt phát hành 8.09 và mới hơn, Có khả năng nhiều hơn một giao diện web được bao gồm.<26> Giao diện này được dựa trên Luci, A MVC Framework viết trong ngôn ngữ lập trình Lua.<25>

Các dự án X-WRT cung cấp một giao diện web thay thế, có tên webif² trong kho gói, cho các phiên bản hiện tại và trước đây của OpenWrt.

Các Gargoyle Router Management Utility<27> là một giao diện Web cho OpenWrt với A nhấn mạnh vào khả năng sử dụng. Ban đầu nó được có sẵn như là một tập hợp các gói cho OpenWrt. Là tác giả của Gargoyle bắt đầu thực hiện sửa đổi để bố trí hệ thống cơ bản của OpenWrt, hệ thống gói đã được giảm và tải duy nhất hiện đang có sẵn là những hình firmware đầy đủ. Gargoyle sử dụng rộng rải JavaScript, để giảm tải như làm việc nhiều càng tốt để các máy tính của khách hàng, và đang tập trung vào tính dễ sử dụng, phấn đấu để đạt được một mức độ so sánh với cảm giác của thiết bị định tuyến firmwares thương mại.


*

*

Phát triển

Môi trường và xây dựng phát triển hệ thống OpenWrt, được biết đến với nhau như OpenWrt Buildroot, được dựa trên một hệ thống Buildroot thay đổi rất nhiều. OpenWrt Buildroot là một tập hợp các bản vá lỗi và Makefile Đó Tự động hóa Quy trình xây dựng một hệ thống hoàn chỉnh dựa trên Linux OpenWrt cho một thiết bị nhúng, bởi Xây dựng và sử dụng một Cross-compilation toolchain thích hợp.<28><29>

Thiết bị nhúng thường sử dụng một bộ xử lý khác nhau hơn so với một máy tính được tìm thấy trong máy chủ được sử dụng để xây dựng hình ảnh hệ thống OpenWrt của họ, đòi hỏi một toolchain cross-biên dịch. Như một toolchain lập chạy trên một hệ thống máy chủ, nhưng tạo ra mã cho một thiết bị nhúng nhắm mục tiêu và kiến trúc tập lệnh của vi xử lý (ISA). Ví dụ, nếu một hệ thống máy chủ sử dụng x86 và một hệ thống mục tiêu sử dụng MIPS32, toolchain compilation thường xuyên của các máy chủ chạy trên x86 và tạo ra mã cho kiến trúc x86, trong khi các toolchain cross-compilation chạy trên x86 và tạo ra mã cho các kiến trúc MIPS32. OpenWrt Buildroot Tự động hóa toàn bộ quá trình này để làm việc trên các kiến trúc tập lệnh của Embedded Devices Hầu hết các máy chủ và hệ thống.<28><30>

OpenWrt Buildroot Cung cấp các tính năng sau:<28><30>

Làm cho nó dễ dàng để port phần mềm trên các kiến ​​trúc khác nhauSử dụng kconfig (Linux kernel menuconfig) cho cấu hình của tất cả các tùy chọnCung cấp một toolchain cross-compiler tích hợp (gcc, ld, uClibc,…)cung cấp một khái niệm trừu tượng autotools (automake, autoconf), cmake và SConsXử lý tiêu chuẩn OpenWrt hình ảnh xây dựng quy trình làm việc: tải về, vá, cấu hình, biên dịch và đóng góiCung cấp một số bản sửa lỗi phổ biến cho biết gói nặng hành xử.

Xem thêm: Nghĩa Của Từ Wheel Là Gì ? Wheel Nghĩa Là Gì Trong Tiếng Anh

Ngoài việc xây dựng hình ảnh của hệ thống, môi trường phát triển OpenWrt cũng cung cấp một cơ chế cho việc đơn giản hóa xây dựng nền tảng của các gói phần mềm OpenWrt. Các mã nguồn cho mỗi gói phần mềm được yêu cầu để cung cấp một tập Makefile như các hướng dẫn xây dựng, và thiết lập một tùy chọn của các bản vá lỗi cho bản sửa lỗi hoặc tối ưu hóa.<31>

Tham khảo


^

Liên kết ngoài

*

Lịch thi đấu World Cup