Add New Page: You are not allowed to add pages Select section/namespace. New page title.

Quick Start Architecture


The QuickStart is a “on first boot” interface that walks a user through customizing a node. This is intended to make the initial setup of a node trivial for a new user.

What does QuickStart read from: (executables and files)

/etc/config/wireless Used to gather wireless devices and information about wireless interfaces

/etc/config/quickstart Used to gather data about the contents of the current page.

/etc/commotion/profiles.d/ Used to gather variables within profiles to present to the user

/etc/config/olsrd Used to identify if plugins are enabled

localhost:2006/neighbors - txtinfo plugin Used to gather information about the number of nearby neighbors.

servald keyring list Used to gather the current servald keyring id

What does QuickStart run / write to: (executables (non-standard) and files)

/etc/config/wireless Used to add wireless interfaces and later change variables within wireless interfaces.

/etc/config/network Used to create network interfaces that correspond to various commotion profiles and wireless interfaces.

/etc/config/quickstart Used to set the current and last page, as well as to change the completion status of quickstart and turn off/on the application portal.

/etc/commotion/profiles.d/ Used to create profiles or to modify values within profiles.

/etc/config/olsrd Used to turn off/on plugins and modify libraries used by olsrd and add a new servald keyring id.

/etc/commotion/keys.d/mdp/serval.keyring used to add a new keyring

/etc/init.d/network restart used to allow networking to process the uci values and commotiond profiles

/etc/init.d/commotiond restart used to set the commotiond profiles to certain interfaces so that networking can process them

system password luci.sys.user.setpasswd Used to allow the user to set a new root user password

/usr/lib/luci-splash/splashtext.html Used to allow a user to add custom splash text

/etc/config/luci_splash Used to set the homepage and leasetime of the splash page on a users node

grep (totally standard, but used as an example for the rest of the team) To identify if certain files exists

awk (totally standard, but used as an example for the rest of the team) to make changes to commotion profiles

sed (totally standard, but used as an example for the rest of the team) to make changes to commotion profiles

/tmp/config.test to put temporary commotion profiles generated by awk based profile customization

What are QuickStarts internals and how are they used:

/etc/config/quickstart “quickstart” is the config file that specifies the pages, buttons, and path a user experiences when using the quickstart. This is read by and written to by the QS.lua file using uci functions.

/luci/controller/QS/buttons.lua buttons.lua holds the functions that buttons run on-click. This is called by QS.lua when a button with a predefined function is clicked.

/luci/controller/QS/modules.lua modules.lua contains the functions that gather data for a quickstart page to render and process any inputs to their corresponding .htm module forms. This is called by the QS.lua function.

/luci/controller/QS/QS.lua QS.lua is the main controller of the QuickStart program. It controls the loading of pages defined in /etc/config/quickstart and the processing of any data generated by a user on those pages. Finally it restarts the network and commotiond functions at the end of the Quickstart to set the settings generated by the user. This function is called by LuCI when a user goes to the /QuickStart page while the “complete” value in /etc/config/quickstart does not equal true.

/luci/view/QS/main/main.htm The main.htm file is the container that the modules and buttons defined in /etc/config/quickstart are loaded into to create custom pages for quickstart. This file is loaded by the QS.lua file upon every reload or button press.

/luci/view/QS/modules/ The various modules contained within this folder are the html front ends which data is loaded into, and from which users can insert data into the Quickstart. These files are called by the main.html file as determined by the list of modules it is passed from the QS.lua file.

commotion_architecture/core_components/quick_start_architecture.txt · Last modified: 2013/11/08 21:26 (external edit)
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported