Where do I start to create my own Ubuntu derivative? [duplicate]
Solution 1:
An Ubuntu remix is just a meta package (like xubuntu-desktop) that depends on whatever software should be installed by default. To get the source of some existing meta *buntu desktops do:
apt-get source xubuntu-desktop
apt-get source lubuntu-desktop
This will fetch the base package of x/lubuntu. It is just a regular Debian package, it has files debian/control debian/rules etc. It can be rebuilt by doing:
apt-get build-dep xubuntu-desktop
dpkg-buildpackage -b -uc
Each architecture has its own list of files to install ("desktop-amd64", "desktop-powerpc" etc). To create your own derivative:
- take the lubuntu/xubuntu source as a base
- adapt it (eg. replace lubuntu with nicbuntu everywhere)
- edit the dependency lists to add the packages you want
- build your meta package
- install it (
dpkg -i nicbuntu.deb
orgdebi nicbuntu.deb
if you want to pull in dependencies)
Once you have your meta package working, you can build an installer iso image. There are plenty of answers already explaining how to do that (this one is quite detailed).
The only extra things you need to remember to do are:
- add your nicbuntu.deb and any packages it depends on to the iso image
- regenerate the Packages file (
apt-ftparchive
, see linked answer) - add "nicbuntu" to the the pre-seed file (again, see linked answer)
Obviously there are a lot of specific details that you will need to get working, but basically that's all there is to it.