Nhà phát triển | OpenWrt Project |
---|---|
Họ hệ điều hành | Tương tự Unix |
Tình trạng hoạt động | Đang phát triển |
Kiểu mã nguồn | Mã nguồn mở |
Phát hành lần đầu | Tháng 1 năm 2004 |
Có hiệu lực trong | 22 ngôn ngữ[1] |
Phương thức cập nhật | opkg |
Hệ thống quản lý gói | opkg |
Nền tảng | 50 nền tảng khác nhau Instruction sets: AVR32, ARM, CRIS, m68k, MIPS, PowerPC, SPARC, SuperH, Ubicom32, x86, x86-64[2] |
Loại nhân | Monolithic (Linux) |
Không gian người dùng | BusyBox, GNU |
Giao diện mặc định | Giao diện dòng lệnh, giao diện web |
Giấy phép | Phần mềm miễn phí (GPL và một số giấy phép khác) |
Website chính thức | openwrt |
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.
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.
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.
Tagged | Tên Mã | Phiên bản | Ngày phát hành | Hạt nhân Linux | Thư viện C chuẩn | Gói PM | Gói Nguồn | Ghi chú | |
---|---|---|---|---|---|---|---|---|---|
(mặc định) | (có sẵn) | ||||||||
— | pre Buildroot-NG | 0.x | — | — | uClibc | 474 | ≈ 310 | ||
r6268 | White Russian | 0.9 | 1/2006 | 2.4.30 | uClibc | ≈ 360 | ≈ 140 | NVRAM-based, nas , wl . Nền tảng được hỗ trợ: brcm-2.4 .
| |
r7428 | Kamikaze | 7.06 | 6/2007 | 2.6.19 | uClibc | ≈ 750 | ≈ 450 | Sử dụngopkg .
Nền tảng được hỗ trợ: | |
r7832 | Kamikaze | 7.07 | 7/2007 | 2.6.21 | uClibc | ≈ 790 | ≈ 475 | Nền tảng mới: amcc-2.6 .
| |
r8679 | Kamikaze | 7.09 | 9/2007 | 2.6.21 | uClibc | ≈ 630 | ≈ 500 | ||
r14547 | Kamikaze | 8.09 | 9/2008 | 2.6.26 | uClibc | ≈ 1,400 | ≈ 875 | Nền tảng mới: ar71xx .
| |
r16279 | Kamikaze | 8.09.1 | June 2009 | 2.6.26 | uClibc | ≈ 1,400 | ≈ 875 | ||
r18961 | Kamikaze | 8.09.2 | tháng 1 ngày 10, 2010[6] | 2.6.26 | uClibc | ≈ 1,400 | ≈ 875 | ||
r20742 | Backfire | 10.03 | tháng 4 ngày 7, 2010[7] | 2.6.32 | uClibc | ≈ 2,350 | ≈ 1,050 | Nề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 .
| |
r29594 | Backfire | 10.03.1 | tháng 12 ngày 21, 2011[8] | 2.6.32 | uClibc | eglibc glibc |
≈ 2,950 | ≈ 1,175 | |
r36088 | Attitude Adjustment | 12.09 | tháng 4 ngày 25, 2013[9] | 3.3 | uClibc | eglibc | ≈ 3,450 | ≈ 1,150 | CoDel (network scheduler) backported from Linux 3.5 to 3.3. New platforms: ramips , bcm2708 (Raspberry Pi) and others.
|
r42625 | Barrier Breaker | 14.07 | tháng 10 ngày 2, 2014[10] | 3.10.49[11] | uClibc | musl eglibc |
? | ? | New platforms: i.MX23 , i.MX6 [12] and mvebu .
|
r46767 | Chaos Calmer | 15.05 | tháng 9 ngày 11, 2015[13] | 3.18.20[14] | uClibc | musl glibc[15] |
? | ? | nftables (available since Linux kernel 3.12); New platforms: TBA if any |
trunk | [16] | Designated Driverdevelopment | — | ≥4.1 | musl[17] | uClibc glibc |
? | ? | |
Phiên bản cũ Phiên bản mới nhất Phiên bản xem trước mới nhất Ra mắt trong tương lai |
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]
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:
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.
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]
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]