OpenWrt Forum Archive

Topic: software architecture of openwrt

The content of this topic has been archived on 11 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

HI,all:
      Does anyone be familiar with software architecture of openwrt?I found nothing useful information from wiki and forum,hope for someone give me effective advice:where i can find such information.Thanks!!

What do you mean by software architecture?
I think that a source code does not have an architecture, it is compiled for a specific hardware architecture.
OpenWrt can be compiled to different architectures according to the hardware you have, and that's why there is no architecture mentioned in the wiki.

If you mean the general characteristics of Openwrt, it has a Linux kernel as the basic system, on top of which there are then additional packages for various functionalities. E.g. dnsmasq provides DHCP/NAT functionality, radvd the ipv6 advertising, hostapd the wifi functionality (for many hardwarearchitectures), etc.

http://wiki.openwrt.org/about/start

If you check the source code, you will notice that the "target" section has Linux and the hardware drivers, "package" has the additional core packages, the separate "packages" feed the optional add-on functionalities and "luci" feed the GUI.

https://dev.openwrt.org/browser/trunk
https://dev.openwrt.org/browser/packages
http://luci.subsignal.org/trac/browser/luci/trunk

familiar with the UCI(first and must),it's really cool thing in openwrt.
familiar with the linux kernel,you need know which things do in kernel space,which things do in user space...
familiar with the netifd,libubox,ubus.
familiar with the LuCI if you want to understand how to crate webpage with magic base on UCI.
familiar with opensouce package so you know which package you need install when you need some function.

Some basic knowlege you also need know:cross-compile,makefile,shell script,network,embedded system build,computer architecture...

Nobody know all,but it's really a long long long long long way need study.

hnyman wrote:

If you mean the general characteristics of Openwrt, it has a Linux kernel as the basic system, on top of which there are then additional packages for various functionalities. E.g. dnsmasq provides DHCP/NAT functionality, radvd the ipv6 advertising, hostapd the wifi functionality (for many hardwarearchitectures), etc.

http://wiki.openwrt.org/about/start

If you check the source code, you will notice that the "target" section has Linux and the hardware drivers, "package" has the additional core packages, the separate "packages" feed the optional add-on functionalities and "luci" feed the GUI.

https://dev.openwrt.org/browser/trunk
https://dev.openwrt.org/browser/packages
http://luci.subsignal.org/trac/browser/luci/trunk

kindly can you tell me how to update, pcsc and ccid for brcm63xx openwrt? thanks

trygun wrote:

kindly can you tell me how to update, pcsc and ccid for brcm63xx openwrt? thanks

What do you mean? Update the two packages pcsc-lite and ccid to a newer source version? Or what?

Those two packages can be found in :
https://dev.openwrt.org/browser/packages/utils/ccid
https://dev.openwrt.org/browser/package … /pcsc-lite

If you want to update their versions in your local svn repository, bump the version numbers in their Makefiles and correct the checksums of the downloadable source files (from the debian repository) and possibly correct the download link if it points directly to the source file (instead of just the download directory). And possibly create new patches if those packages would now require new patches in Openwrt.

I would like to update the executable pcscd and CCID drver on my router tell me how to compile openwrt backfire brcm63xx?

Thank you all!All of your replys are useful to me!Now i know opewrt can be considered as a app developed on linux, so what i asked in this POST is actually a very stupid question.Thanks again!

hnyman wrote:
trygun wrote:

kindly can you tell me how to update, pcsc and ccid for brcm63xx openwrt? thanks

What do you mean? Update the two packages pcsc-lite and ccid to a newer source version? Or what?

Those two packages can be found in :
https://dev.openwrt.org/browser/packages/utils/ccid
https://dev.openwrt.org/browser/package … /pcsc-lite

If you want to update their versions in your local svn repository, bump the version numbers in their Makefiles and correct the checksums of the downloadable source files (from the debian repository) and possibly correct the download link if it points directly to the source file (instead of just the download directory). And possibly create new patches if those packages would now require new patches in Openwrt.

hello hnyman i'm sorry...
I can illustrate the correct sequence of commands for creating packets?
I want to update pcsc and ccid for my backfire..

After downloading the source svn co svn://svn.openwrt.org/openwrt/branches/backfire
and edit the file makefile as you explained
commands are these?

./scripts/feeds update -a
./scripts/feeds install -a
make prereq
make package/symlinks
make menuconfig ------> select target and packages (M)
make defconfig
make tools/install
make toolchain/install
make package/xxxxxx/compile V=99

thank you very much

The discussion might have continued from here.