Difference between revisions of "Mesh/Firmware/Generating"

From Sudo Room
Jump to navigation Jump to search
Line 1: Line 1:
= wlan slovenija =
wlan slovenija has a firmware generator tool. Here are some links:
*[https://github.com/wlanslovenija/nodewatcher/blob/master/generator/config_generator.py config_generator.py: the core code for the generator]
*[https://github.com/wlanslovenija/nodewatcher/blob/master/generator/build_image.py build_image.py: the command line tool that uses config_generator.py]
Some relevant code from config_generator.py:
<pre>
      buildString = 'make image FILES="../files" PROFILE="%s" PACKAGES="policy-routing olsrd uhttpd tc nodewatcher-core nodewatcher-clients ntpclient hostapd -ppp -ppp-mod-pppoe -wpad-mini kmod-l2tp kmod-l2tp-ip kmod-l2tp-eth tunneldigger wireless-tools qos-scripts %s"' % (profile_map[self.portLayout], pkgs)
      os.chdir(path)
      os.system(buildString)
</pre>
= freifunk =
= freifunk =


Line 18: Line 33:
While I understand why community profiles would be a good idea, it seems odd that the configuration would happen on the device. Why not generate all of the required configuration before generating the image? That way you save a bit of space and an extra reboot of the device.
While I understand why community profiles would be a good idea, it seems odd that the configuration would happen on the device. Why not generate all of the required configuration before generating the image? That way you save a bit of space and an extra reboot of the device.


= wlan slovenija =
After looking at the code, I am not inclined to use it. Lots of freifunk-specific stuff. Few comments. In the end, all it does that we really care about is take a few values from the web app, write some config files for openwrt and run "make image" with some parameters. It does have a system for queuing builds, which is nice. Honestly, I think we're going to be better off making our own system
 
wlan slovenija has a firmware generator tool. Here are some links:
 
*[https://github.com/wlanslovenija/nodewatcher/blob/master/generator/config_generator.py config_generator.py: the core code for the generator]
*[https://github.com/wlanslovenija/nodewatcher/blob/master/generator/build_image.py build_image.py: the command line tool that uses config_generator.py]
 
Some relevant code from config_generator.py:
 
<pre>
      buildString = 'make image FILES="../files" PROFILE="%s" PACKAGES="policy-routing olsrd uhttpd tc nodewatcher-core nodewatcher-clients ntpclient hostapd -ppp -ppp-mod-pppoe -wpad-mini kmod-l2tp kmod-l2tp-ip kmod-l2tp-eth tunneldigger wireless-tools qos-scripts %s"' % (profile_map[self.portLayout], pkgs)
      os.chdir(path)
      os.system(buildString)
</pre>

Revision as of 10:36, 13 August 2013

wlan slovenija

wlan slovenija has a firmware generator tool. Here are some links:

Some relevant code from config_generator.py:

      buildString = 'make image FILES="../files" PROFILE="%s" PACKAGES="policy-routing olsrd uhttpd tc nodewatcher-core nodewatcher-clients ntpclient hostapd -ppp -ppp-mod-pppoe -wpad-mini kmod-l2tp kmod-l2tp-ip kmod-l2tp-eth tunneldigger wireless-tools qos-scripts %s"' % (profile_map[self.portLayout], pkgs)
      os.chdir(path)
      os.system(buildString)

freifunk

Freifunk has a web app called meshkit for generating images.

Meshkit takes a strange approach. From the readme file:

Meshkit itself just writes a uci config file and stores it in
/etc/config/meshkwizard in the resulting firmware image. The actual
configuration is done by meshwizard, which uses community profiles
and the settings from meshkit to configure the device at first boot after
the device has been flashed.

While I understand why community profiles would be a good idea, it seems odd that the configuration would happen on the device. Why not generate all of the required configuration before generating the image? That way you save a bit of space and an extra reboot of the device.

After looking at the code, I am not inclined to use it. Lots of freifunk-specific stuff. Few comments. In the end, all it does that we really care about is take a few values from the web app, write some config files for openwrt and run "make image" with some parameters. It does have a system for queuing builds, which is nice. Honestly, I think we're going to be better off making our own system