Creating an iHRIS ISO

From IHRIS Wiki
Revision as of 13:29, 6 April 2010 by Litlfred (talk | contribs)

Note: This contains out of date information

While I haven't yet found a way to create a single installation CD containing everything needed to install the complete system, the following method creates an "Update CD" for Ubuntu LTS that contains all the packages necessary to install iHRIS Manage as well as all Operating System Updates. I used these steps to create this ISO image.

I recommend using a freshly installed Ubuntu LTS system for this. Using VMWare or VirtualBox OSE is useful for this. Ubuntu's Gutsy release includes the virtualbox-ose that provides a GUI for setting up

  1. Install apt-move (aptitude install apt-move). This tool will take the package cache and build Debian archive that we can burn to disk.
  2. Change the COPYONLY in /etc/apt-move.conf so that it reads COPYONLY=yes
  3. Add the IntraHealth repository by editting /etc/apt/sources.list and adding the line: deb http://www.intrahealth.org/debian/ ./
  4. Download all the updates without installing them. We avoid installing them to save time. (apt-get update; apt-get --download-only update)
  5. Download all packages necessary to install ihris-manage and mysql-server. (apt-get --download-only ihris-manage mysql-server)
  6. Create the repository. (apt-move update)
  7. Set up Disk metadata. (mkdir /mirrors/debian/.disk; echo 'IntraHealth Updates' > /mirrors/debian/.disk/info)
  8. (Skipped: Creating a GPG key and signing the Release. I want to have an official IntraHealth Key for this. And I erased the one I used.)
  9. Create the ISO. (aptitude install mkisofs; mkisofs -r -A 'IntraHealth Update' -o intrahealth-update.iso /mirrors/debian/)
  10. Burn the ISO to Disk

On the target system

  1. Add the disk's key to Apt's keyring.
  2. Add the disk to the list of disks available (apt-cdrom add)
  3. Install mysql-server (aptitude install mysql-server)
  4. Install ihris-manage (aptitude install ihris-manage)

(TODO: Figure out the keyring. I would like to have one that "just works", but I want to do this the right way.)