Difference between Gargoyle and OpenWRT

General discussion about Gargoyle, OpenWrt or anything else even remotely related to the project

Moderator: Moderators

Post Reply
Fonel
Posts: 20
Joined: Sun Feb 01, 2009 9:03 pm

Difference between Gargoyle and OpenWRT

Post by Fonel »

Besides the web-interface what other differences are there between the normal OpenWRT distribution and the Gargoyle distribution? Is there a list somewhere that lists the modifications you made to the OpenWRT base?

Also as I understood it the LuCI web-interface uses a specially developed framework to communicate with the OpenWRT base so as to avoid having to run shell-scripts. How does Gargoyle solve this?

Eric
Site Admin
Posts: 1443
Joined: Sat Jun 14, 2008 1:14 pm

Re: Difference between Gargoyle and OpenWRT

Post by Eric »

There really aren't many modifications to the actual openwrt base. I've added a couple of kernel modules, but these provide more functionality and shouldn't affect any existing functionality. I also made a couple very minor modifications to the network init scripts (/etc/init.d/network and /lib/network/config.sh) becaise the network, particularly dhcp, wasn't restarting correctly on some devices.

The vast majority of modifications add functionality on top of what's already there. If you're interested in exactly what changes are made you might want to browse the openwrt code base (which of course is open source) and can be found at http://trac.assembla.com/gargoyle-router/ The first step in the build process is downloading the default 8.09 code.,and then making the minor modifications necessary.

Regarding your question about LuCI: LuCI uses a framework written in Lua to streamline development. Lua has some advantages, from a programming perspective, over shell scripts, but it's about as slow, since it's an interpretted language. Gargoyle just runs shell scripts, but I've optimised them to be small shell scripts that run fairly quickly. Also, the majority of the GUI code is written javascript, so that a lot of the computation necessary is handled client-side, while the shell scripts on the back end just do the bare minimum of what is necessary.

Post Reply