How to make my very own ubuntu minimal install?
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.
Solution 1:
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/
Solution 2:
How to customize an install CD:
Here is the official documentation:
https://help.ubuntu.com/community/InstallCDCustomization
You'll find examples scripts here:
https://help.ubuntu.com/community/InstallCDCustomization/Scripts
https://help.ubuntu.com/community/InstallCDCustomization/PreseedExamples