Difference between revisions of "Kuro Auto Installer"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
 
m
 
(18 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 +
{{Articles|Kurobox}}
 
= Kurobox Automatic Installer =
 
= Kurobox Automatic Installer =
 
== Project Goals ==
 
== Project Goals ==
Line 5: Line 6:
  
 
== Current Release ==
 
== Current Release ==
* Release 1.1 was stamped on May 16,2006
+
* Release 1.2 was stamped on May 31, 2006
 +
* Release 1.1 was stamped on May 16, 2006 BROKEN DO NOT USE!!!
 
* Release 1.0 was stamped on May 15, 2006
 
* Release 1.0 was stamped on May 15, 2006
  
 
== Supported hosts ==
 
== Supported hosts ==
Any host platform that has a working Python 2.4 intreperter should work.
+
Any host platform that has a working Python 2.4 interpreter should work.
  
 
Currently tested platforms:
 
Currently tested platforms:
 
*Linux (Suse 10.0)
 
*Linux (Suse 10.0)
 
*Windows XP
 
*Windows XP
 +
 +
You can download Python at [http://www.python.org/download/ http://www.python.org/download/]
  
 
== Supported Target distributions ==
 
== Supported Target distributions ==
Line 20: Line 24:
 
*Sylver 5.0
 
*Sylver 5.0
 
*Debian
 
*Debian
 +
*Gentoo
 
If you would like your application to be included contact me at linwoes at gmail dot com
 
If you would like your application to be included contact me at linwoes at gmail dot com
  
 
== Unsupported Target distributions ==
 
== Unsupported Target distributions ==
These targets currently are not supported but will be soon
+
These targets currently are not supported, but will be soon
 
*Fedora Core 4
 
*Fedora Core 4
*Gentoo
 
  
 
= Download information =
 
= Download information =
Coming Soon
+
[http://www.kurobox.com/bwaite/downloads/1.2 Kurobox installer]
 +
 
 +
[http://www.kurobox.com/bwaite/downloads/distributions/RevolutionInstall-1.0.tar.gz Revolution install]
 +
 
 +
[http://www.kurobox.com/bwaite/downloads/distributions/SylverInstall-1.0.tar.gz Sylver Install]
 +
 
 +
[http://www.kurobox.com/bwaite/downloads/distributions/DebianInstall-1.0.tar.gz Debian Install]
 +
 
 +
[http://www.kurobox.com/bwaite/downloads/distributions/GentooInstall-1.0.tar.gz Gentoo Install]
  
 
= Developer Information =
 
= Developer Information =
Line 34: Line 46:
 
To use the installer all you need to do is simply create a configfile. The Config file is a simple XML format.
 
To use the installer all you need to do is simply create a configfile. The Config file is a simple XML format.
  
=== Note for developers ===
+
Note for developers
I fully intend that after the 1.X release cycle I will not break compatabilily in major release series. The 1.X series is special becuase I think it meets all the needs but we shall learn all too quickly it does not.
+
I fully intend that after the 1.x release cycle I will not break compatabilily in major
 +
release series. The 1.x series is special because I think it meets all the needs, but we
 +
shall learn all too quickly it does not.
  
Config file layout:
+
==== Config file layout ====
 
* distribution : Name of distribution
 
* distribution : Name of distribution
 
**version : Version
 
**version : Version
Line 66: Line 80:
  
 
== Changelog ==
 
== Changelog ==
'''Changes from 1.0 to 1.0.1'''
+
'''Changes from 1.1 to 1.2'''
 +
* Do Not use 1.1! It is just plain broken. 1.2 fixes the installer.
 +
* Use os.path.split() for configfile parsing.
 +
 
 +
'''Changes from 1.0 to 1.1'''
 
* Added support for remote fetching of distribution image from URL provided in filename.
 
* Added support for remote fetching of distribution image from URL provided in filename.
 
* Added ability to use directories to store distribution info.
 
* Added ability to use directories to store distribution info.
Line 81: Line 99:
 
* A better user interface to allow a user to customize some settings in real-time.
 
* A better user interface to allow a user to customize some settings in real-time.
 
* GUI interface to installer
 
* GUI interface to installer
 +
* Image file verification via md5sum
 
* Code Cleanups
 
* Code Cleanups
 +
* Allow alternate filename/URL for distribution

Latest revision as of 20:29, 15 July 2007

Contents

Kurobox Automatic Installer

Project Goals

This project is intended to make a stable installer that can be used by anyone developing Kurobox applications or distributions. Its goal is to be simple enough to use that a novice can install their Kurobox the first time everytime. Its second goal is to develop an architecture that all distributions can easily take advantage of without unserstanding the internals of the installer.

Current Release

  • Release 1.2 was stamped on May 31, 2006
  • Release 1.1 was stamped on May 16, 2006 BROKEN DO NOT USE!!!
  • Release 1.0 was stamped on May 15, 2006

Supported hosts

Any host platform that has a working Python 2.4 interpreter should work.

Currently tested platforms:

  • Linux (Suse 10.0)
  • Windows XP

You can download Python at http://www.python.org/download/

Supported Target distributions

  • Standard Revolution 1.0 release
  • Revolution 1.0 release with English Web
  • Sylver 5.0
  • Debian
  • Gentoo

If you would like your application to be included contact me at linwoes at gmail dot com

Unsupported Target distributions

These targets currently are not supported, but will be soon

  • Fedora Core 4

Download information

Kurobox installer

Revolution install

Sylver Install

Debian Install

Gentoo Install

Developer Information

Building an installer target

To use the installer all you need to do is simply create a configfile. The Config file is a simple XML format.

Note for developers
I fully intend that after the 1.x release cycle I will not break compatabilily in major
release series. The 1.x series is special because I think it meets all the needs, but we
shall learn all too quickly it does not.

Config file layout

  • distribution : Name of distribution
    • version : Version
    • preinstall: (Optional) A script or executable that will run on the Kurobox before any disk partitioning occurs.
    • postinstall: (Optional) A script or executable that will run on the Kurobox after the distribution has been installed. Here you could customize the startup and cleanup anything that may need it.
    • image
      • filename: The distribution filename. (As of 1.1 this can be a URL to download from)
      • filetype: The type of compression used for the file above.
        valid types are:
        • raw - Just a file
        • zip - Windows zip format
        • tar - Unix tar format
        • gz - Gzip format
        • tgz - Unix Tar + Gzip format
        • tbz - Unix Tar + Bzip2 format
      • pasword: (Optional) Password to decrypt the compressed file (Unsupported)
    • network: Network device name (eth0)
      • ip: IP Address to assign to the configured Kurobox (dhcp Only)
      • netmask: Netmask Address to assign to the configured Kurobox (dhcp Only)
      • broadcast: Broadcast Address to assign to the configured Kurobox(dhcp Only)
      • hostname: Hostname to assign to the configured Kurobox
      • disk - The device to install on (hda)
        • fdisk - if yes, then run fdisk to create partitions
        • partition - Number of the partition. You may make any number of partitions, but the Kurobox must boot from /dev/hda1.
          • name - Descriptive name of partition
          • size - Size of partition. Can be in blocks, numM, numG, or REST. A single partition should be of size REST as it will use all remaining space.
          • fstype - Type of filesystem to create on the partition
          • format - If yes, format partition to create filesystem

Changelog

Changes from 1.1 to 1.2

  • Do Not use 1.1! It is just plain broken. 1.2 fixes the installer.
  • Use os.path.split() for configfile parsing.

Changes from 1.0 to 1.1

  • Added support for remote fetching of distribution image from URL provided in filename.
  • Added ability to use directories to store distribution info.
  • Fixed bug where installer crashed if no physical Kurobox was found.
  • Added check such that kuro_installer can be imported from other sources.

Version 1.0

  • Initial Release

Upcoming features

  • Add support for a series pre and post install actions
  • Add support for configuration of network interfaces
  • Add support to and name label to partitions that support it
  • A better user interface to allow a user to customize some settings in real-time.
  • GUI interface to installer
  • Image file verification via md5sum
  • Code Cleanups
  • Allow alternate filename/URL for distribution