**************************************************
******** tEYEny Development Guide ********
******** ********
******** Version: 1.0 ********
******** Date: 08/10/2011 ********
******** Author: Thomas Scott ********
**************************************************
Introduction
tEYEny is a Tinycore Linux (http://distro.ibiblio.org/tinycorelinux/welcome.html) based liveCD that incoroporates that incorporates the eyeOS 1.9 (http://www.eyeos.org/) web desktop environment. The aim is to create a hybrid cloud based environment requiring a minimal installation on the host system.
ToolChain:
To modify the tEYEny distribution the following tools will be required:
mkisofs
gzip
cpio
Development procedure:
Extract the extract folder:
sudo tar -xvf extract.tar
Make any changes required to extract (usually to the following:
extract/opt/bootsync.sh
extract/opt/tcz
extract/opt/deps.lst
extract/opt/mozilla.tar
run package.sh
run mkiso.sh
Structure:
tEYEny has 5 basic parts:
The base OS - TinyCore
The web server - Apache with php5
The web browser - Firefox
The web OS - eyeOS
The local apps interface - HTML/Javascript/PHP pages for local functionality
Boot procedure:
1. The base OS is booted and interrupted just prior to launching X
2. /opt/bootsync.sh is executed:
{
a. Tinycore packaged extensions (and dependencies) are installed for Apache, PHP and Firefox
b. A firefox profile is forced to include an addin to default Firefox to fullscreen mode and settings to launch firefox in a 1024x768 window.
c. The eyeOS installation media is unpacked to the webserver public folder
d. The X configuration files are tweaked to remove window borders, menus and bars
e. An entry is made to X.d to automatically start firefox after X has started and point it to the local webserver (i.e. to eyeOS)
}
3. X is started
Directory Structure:
tEYEny
|
-->extract // this is where the dev linux filesystem is held
|
-->newiso // this is where the iso components are held prior to compilation into a file
Utilities:
package.sh - This takes the dev filesystem from extract and packages it to newiso/boot/tinycore.gz. This should be done prior to running mkiso.sh
mkiso.sh - This takes the contents of the newiso directory and packages it into an iso file named TC-remsatered.iso
Adding/Removing Extensions:
The extract/opt/tcz folder holds TinyCore extension packages. Any new package should be inserted here.
Next the dependency should be added to extract/opt/deps.lst. This file is an ordered list of dependencies to be installed and as such dependencies will be installed from top to bottom.
PLEASE NOTE: package dependencies will not be automatically resolved and must be included using the procedure above
eyeOS:
The zip file extract/opt/eyeOS.zip contains the eyeOS installation package. During boot this is extracted to /usr/local/Apache2/htdocs
To modify eyeOS follow the procedure below:
1. Unzip the eyeOS.zip package to a temporary directory and within that directory:
2. mv package.eyepackage package.tar.gz
3. gunzip package.tar.gz
4. tar-xvf package.tar
This will create the eyeOS file system for modification. Significant modification should be avoided and typical usage simply adds shortcuts to menus and the desktop.
For desktop add a shortcut to:
system/conf/skel/files/Desktop/ with the extension .eyeLink
To change menus:
system/conf/skel/conf/eyeDock/conf.xml
To repackage eyeOS after you have made your changes follow the procedure below:
1. tar -cvf package.tar eyeOS
2. gzip package.tar
3. mv package.tar.gz package.eyepackage
4. record the result of: md5sum package.eyepackage
5. insert the above result into installer/index.php under the line containing 'INSTALL_MD5'
6. zip -r eyeOS.zip eyeOS
7. replace extract/opt/eyeOS.zip with the above zip.
Firefox Addin/Settings:
Fullscreen extension - Firefox must start in fullscreen mode. To do this the fullscreen addin is installed. Unfortuneately (but quite correctly) Firefox will not allow silent installation of addins so instead a complete profile is forced onto the firefox installation by unpacking /extract/opt/mozilla.tar and thus creating the /opt/.mozilla folder.
Startup width/height - By default firefox is configured to launch in a window smaller than the required 1024x768. To change this the localstore.rdf file in /extract/opt/mozilla.tar contains an entry that resets the opening window size. This is then applied to the tEYEny firefox installation when the profile is overwritten above.
Local Apps:
Local apps take the form of html/javascript/php pages that exist outside of the eyeOS ecosystem. They are included in eyeOS using the eyeIframize application that is bundled with eyeOS. An example shortcut would be:
eyeIframize.app http://localhost/localApps/Terminal/terminal.html
To work on local apps follow the procedure below:
1. copy extract/opt/localApps.zip to a temporary folder
2. unzip localApps.zip
Now simply add any html/js or php files to the created filesystem.
1. zip -r localApps.zip localApps
2. copy localApps.zip extract/opt/
To test your local apps, boot into the eyeOS desktop, launch the eyeIframize app and enter the address of your newly created app (e.g. http://localhost/localApps/Terminal/terminal.html).
Wireless:
tEYEny comes with basic wireless support. To set it up simply navigate to Accessories->Wireless Config. Alternately wireless can be set up via the terminal by following the guide here:
http://wiki.tinycorelinux.net/wiki:setting_up_wifi#simple_scripts_to_auto_connect_to_specific_networks