Ubuntu – How to make the very own ubuntu minimal install

automated-installUbuntu

I have made a complete application solution built on top of ubuntu.

Now that I have this ready; i'm looking to make my very own install of ubuntu (the smallest footprint possible with only the very bare minimal packages that my application requires).

My application consisty mainly of a mysql server, php, proftp and nginx (plus some other bash scripts).

The idea would be to have a clean & lean installer that will install everything so that i can redistribute this 'application' with a simple installation cd (easier for the end user).

I've stumbled upon Ubuntu Minimal Remix (http://www.ubuntu-mini-remix.org/)

Which seems a good starting point; but it's a live cd; I can install my whole application framework on it, no problem. But then, i don't know how to make an installer or how to build the iso that will actually install my "appliance".

I'd appreciate any simple guidelines or directions to get me started.

Best Answer

It me me quite some time to figure out how remastering worked. I finally got the hang of it and wrote down the steps used to create my first live CD with installer. I want to thank Pilolli Pietro for this google code wiki page: http://code.google.com/p/ardesia/wiki/Create_a_live_distro.

This line is specifically used to add an installer (executed from the context of the remix):

// check the dependencies of that package to find out what other 
// flavors you could use.
apt-get --with-install-recommends install ubiquity-frontend-kde

All steps I took are below. I know some stuff is missing, but it's more to get an idea of how this works.

// get a util to help with creating the image
sudo apt-get install uck

// clean any previous stuff
sudo uck-remaster-clean
// unpack the iso
sudo uck-remaster-unpack-iso /mnt/iso/ubuntu-mini-remix-12.10-i386.iso
// unpack the root fs
sudo uck-remaster-unpack-rootfs
// change focus to the root fs
sudo uck-remaster-chroot-rootfs

  // make repositories available (uncomment all universe and multiverse entries)
  nano /etc/apt/sources.list
  // update apt
  apt-get update

  // disable automatic suggestions (--with-install-recommends can temporary enable them)
  nano /etc/apt/apt.conf
  //-- contents
  APT::Install-Recommends "false";
  APT::Install-Suggests "false";
  //--

  // install kde desktop
  apt-get install plasma-desktop
  // install ltsp client and kubuntu theme for ldm
  apt-get install ltsp-client ldm-kubuntu-theme
  // install basic applications
  apt-get install dolphin kdesdk-dolphin-plugins kdepasswd kfind konsole kwrite kompare plasma-widget-folderview
  // install browser
  apt-get install chromium-browser
  // install package manager
  apt-get install muon muon-updater muon-notifier
  // add an installer
  apt-get --with-install-recommends install ubiquity-frontend-kde
  // remove any leftovers of installed and then uninstalled packages (should not do anything)
  apt-get autoremove
  // clean the cache
  apt-get clean
  // change focus
  exit

// pack the root fs
sudo uck-remaster-pack-rootfs
// create an iso
sudo uck-remaster-pack-iso ubuntu-mini-kde-12.10-i386.iso
//copy the iso
cp ~/tmp/remaster-new-files/ubuntu-mini-kde-12.10-i386.iso /mnt/iso/