logo
banner banner

Blog Details

Created with Pixso. Home Created with Pixso. Blog Created with Pixso.

An In-Depth Look at OpenWrt: Development, Features, Advantages, and Disadvantages

An In-Depth Look at OpenWrt: Development, Features, Advantages, and Disadvantages

2025-01-08

Development Background

After Linksys released the source code of WRT54G/GS, numerous different versions of firmware emerged online to enhance the original functions. Most of these firmwares utilized 99% of Linksys' source code, with only 1% of additional code. Each firmware was designed for specific markets, which had two drawbacks. Firstly, it was difficult to integrate the strengths of various firmware versions. Secondly, these versions gradually drifted further from the official Linux distributions.

OpenWrt took a different approach. It started from scratch, gradually adding software components to approximate the functionality of Linksys' firmware. The success of OpenWrt lies in its writable file system, enabling developers to avoid recompiling after every modification, making it more like a mini Linux computer system.

 

Development History

The OpenWrt project commenced in January 2004. The first version was based on the GPL source code provided by Linksys and the buildroot project in uclibc. This version was labeled as the "stable" version, and many projects still use it today, with Freifunk - Firmware and Sip@Home being relatively well - known examples.

In early 2005, some new developers joined the project. A few months later, they released the first "experimental" version. Different from previous versions, this one almost completely abandoned Linksys' GPL source code, adopted buildroot2 as the core technology, and fully modularized OpenWrt. OpenWrt used the officially released Linux kernel source code (2.4.30), along with some patches and network drivers. The development team also added many free tools to OpenWrt, which could directly write images into Flash (mtd), configure wireless functions, and enable VLAN switching functions. This version was named "White Russian", and version 1.0 was announced at the end of 2005.

 

System Characteristics

OpenWrt is a highly modular and automated embedded Linux system, boasting powerful network components and excellent extensibility. It is frequently applied in industrial control devices, telephones, small robots, smart homes, routers, and VOIP devices. Meanwhile, it offers over 100 pre - compiled software packages, and this number is constantly increasing. Moreover, the OpenWrt SDK simplifies the software development process.

Unlike many other router - oriented distributions, OpenWrt is a fully - fledged, easily modifiable router operating system written from scratch. In practice, this means that users can utilize the desired functions without unnecessary clutter, and the Linux kernel supporting these functions is much newer than that of most distributions.

 

Advantages

 

For those with a certain understanding of the Linux system who wish to study or engage with embedded Linux, OpenWrt is an ideal choice. OpenWrt provides excellent support for various processor architectures, including ARM, X86, PowerPC, and MIPS. With more than 3,000 software packages, covering the entire system from toolchains, the Linux kernel, software packages to the root file system, users can quickly and conveniently customize an embedded system with specific functions to produce firmware by simply using the "make" command.

 

In general, the development process of embedded Linux, regardless of whether it involves ARM, PowerPC, or MIPS processors, typically includes the following steps:

 

  1. Create a Linux cross - compilation environment;

  2. Build a Bootloader;

  3. Transplant the Linux kernel;

  4. Establish a Rootfs (root file system);

  5. Install drivers;

  6. Install software.

 

Once familiar with these basic development processes of embedded Linux, developers are no longer limited to MIPS processors and wireless routers. They can attempt to transplant embedded Linux to other processors or non - wireless router systems, customize suitable application software, and build a complete embedded product.

 

Disadvantages

 

  1. Due to differences in CPU core architectures, many applications often crash when transplanted to OpenWrt.

  2. Since the source code of the ADSL hardware module drivers is not open, the ADSL modules of many ADSL integrated wireless routers cannot function, resulting in a lack of functionality (except for RG100A and DB120).

  3. As OpenWrt is not an officially released router firmware, it is difficult to use (flash the firmware). Additionally, its Linux - based nature leads to a relatively high entry barrier for OpenWrt.

banner
Blog Details
Created with Pixso. Home Created with Pixso. Blog Created with Pixso.

An In-Depth Look at OpenWrt: Development, Features, Advantages, and Disadvantages

An In-Depth Look at OpenWrt: Development, Features, Advantages, and Disadvantages

Development Background

After Linksys released the source code of WRT54G/GS, numerous different versions of firmware emerged online to enhance the original functions. Most of these firmwares utilized 99% of Linksys' source code, with only 1% of additional code. Each firmware was designed for specific markets, which had two drawbacks. Firstly, it was difficult to integrate the strengths of various firmware versions. Secondly, these versions gradually drifted further from the official Linux distributions.

OpenWrt took a different approach. It started from scratch, gradually adding software components to approximate the functionality of Linksys' firmware. The success of OpenWrt lies in its writable file system, enabling developers to avoid recompiling after every modification, making it more like a mini Linux computer system.

 

Development History

The OpenWrt project commenced in January 2004. The first version was based on the GPL source code provided by Linksys and the buildroot project in uclibc. This version was labeled as the "stable" version, and many projects still use it today, with Freifunk - Firmware and Sip@Home being relatively well - known examples.

In early 2005, some new developers joined the project. A few months later, they released the first "experimental" version. Different from previous versions, this one almost completely abandoned Linksys' GPL source code, adopted buildroot2 as the core technology, and fully modularized OpenWrt. OpenWrt used the officially released Linux kernel source code (2.4.30), along with some patches and network drivers. The development team also added many free tools to OpenWrt, which could directly write images into Flash (mtd), configure wireless functions, and enable VLAN switching functions. This version was named "White Russian", and version 1.0 was announced at the end of 2005.

 

System Characteristics

OpenWrt is a highly modular and automated embedded Linux system, boasting powerful network components and excellent extensibility. It is frequently applied in industrial control devices, telephones, small robots, smart homes, routers, and VOIP devices. Meanwhile, it offers over 100 pre - compiled software packages, and this number is constantly increasing. Moreover, the OpenWrt SDK simplifies the software development process.

Unlike many other router - oriented distributions, OpenWrt is a fully - fledged, easily modifiable router operating system written from scratch. In practice, this means that users can utilize the desired functions without unnecessary clutter, and the Linux kernel supporting these functions is much newer than that of most distributions.

 

Advantages

 

For those with a certain understanding of the Linux system who wish to study or engage with embedded Linux, OpenWrt is an ideal choice. OpenWrt provides excellent support for various processor architectures, including ARM, X86, PowerPC, and MIPS. With more than 3,000 software packages, covering the entire system from toolchains, the Linux kernel, software packages to the root file system, users can quickly and conveniently customize an embedded system with specific functions to produce firmware by simply using the "make" command.

 

In general, the development process of embedded Linux, regardless of whether it involves ARM, PowerPC, or MIPS processors, typically includes the following steps:

 

  1. Create a Linux cross - compilation environment;

  2. Build a Bootloader;

  3. Transplant the Linux kernel;

  4. Establish a Rootfs (root file system);

  5. Install drivers;

  6. Install software.

 

Once familiar with these basic development processes of embedded Linux, developers are no longer limited to MIPS processors and wireless routers. They can attempt to transplant embedded Linux to other processors or non - wireless router systems, customize suitable application software, and build a complete embedded product.

 

Disadvantages

 

  1. Due to differences in CPU core architectures, many applications often crash when transplanted to OpenWrt.

  2. Since the source code of the ADSL hardware module drivers is not open, the ADSL modules of many ADSL integrated wireless routers cannot function, resulting in a lack of functionality (except for RG100A and DB120).

  3. As OpenWrt is not an officially released router firmware, it is difficult to use (flash the firmware). Additionally, its Linux - based nature leads to a relatively high entry barrier for OpenWrt.