tEYEny Code
Brought to you by:
thomaskwscott
File | Date | Author | Commit |
---|---|---|---|
newiso | 2011-10-08 | thomaskwscott | [r1] Initial checkin of tEYEny development kit |
README.txt | 2011-10-28 | thomaskwscott | [r3] * Added wireless config to localApps system (se... |
extract.tar | 2011-10-28 | thomaskwscott | [r3] * Added wireless config to localApps system (se... |
mkiso.sh | 2011-10-08 | thomaskwscott | [r1] Initial checkin of tEYEny development kit |
package.sh | 2011-10-08 | thomaskwscott | [r1] Initial checkin of tEYEny development kit |
************************************************** ******** 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