/LibraryBox-Installer

OpenWRT installation script

Primary LanguageShell

Installer script and helper stuff for an automatic installation of
LibraryBox on OpenWRT (with special custom image).

Makefile	-  OpenWRT Makefile for box-installer package creation


syslog_recv.py  -  simply python script for client computer,
		   collecting installation log information.
		   Client has to be connected via wired and fixed 
		   	IP  192.168.1.2

files/bin/box_installer.sh - Script doing the work , loggs to STDOUT and STDERR
files/bin/box_installer_start.sh   - Script launching syslog daemon and reroutes installer output to syslog-daeming.
files/bin/box_init_setup.sh  - Script for a simple user menu setting time & password

Requirements on the firmware:
-----------------------------

Package "extendRoot" installed (not initialized)
Package "box-Installer" 

Further Requirments.
--------------------
On the USB Stick has to be located:

<USB Stick>/install		- Contains
			/auto_package	- One or more lined file with the packages needed to be installed after bootup
			/OpenWRT.img.gz - (prepared) ext3-image file
			/<packageimg>	- Stuff that needed by 'box packge 
			/cache		- folder containing all needed .ipk files
			/Package.gz_main		- Package-List from public repository
			/Package.gz_piratebox	- Package-List from PirateBox repository (optional)
<USB Stick>/auto_flash	- Images in this folder will be used for flashing during bootup
					   After a reboot the .bin file is renamed. For flashing sysupgrade is used to
					   make a firmware compatibility check.
					   Befor reflashing, the file gets renamed, that it wont run into a loop, because
					    of incompatibilities.
<USB Stick>/stop.txt		- if that file is created, the auto installer will not start the auto installation.  This is used
					   for manual interception during an upgrade or uncommon setups.
<USB Stick>/install.log	- Ongoing logfile written & appended during installation.
				
			

Optional stuff:

<USB Stick>/stop.txt		- If you create that file, the auto_package file won't be processed
				  during one boot 

<USB Stick>/auto_flash		- If you lay down an .bin file, that file will be flashed automatical
				  during the next boot, if it fits to the device.
				  That happens before auto_package is processed.
				  Flashed images will be renamed and flashed from the 
				  ram (not directly from USB)

What happens
-------------


1. Check if the architecture is supported by auto flash tool and a image file is available.
1.1. If yes, try to identify the model.
1.2. If image foud, rename the image file with an incremented number (of existing files. That it won't be redetected again.
1.3.  Create a copy into /tmp and execute sysupgrade on it. (and do a reboot)
2. If stop.txt exists, stop here. (create a log entry)
3. If extendRoot filesystem wasn't enabled, 
3.1. start logging
3.2. Run box_installer script for extendRoot initialization.
3.3. Copy over logfile
4. If auto_package install file is there
4.1. run automatic package install
4.2. move installed packages out of auto_package to auto_package_done
4.3. if that was the last line, remove auto_package file
4.4. trigger a reboot


Signaling on Router
-------------------

If available and possible during the following steps, LED signals are given:

	1.  Start of extendRoot init ==>> Steady blinking wifi LED  (can be all available WLAN-LEDs)
	2.  END   of extendRoot init ==>> Steady bright wifi LED
	3.  Start of package installation ==> Steady blinking USB LED
	4.  END   of package installation ==> Steady brigh USB LED