Customized Ark Linux CDs
From Ark Linux Wiki
Contents |
How to create a customized Ark Linux CD
Quick and dirty notes -- needs to be cleaned up some day. Some parts of this text assume you have ssh access to arklinux.org - if you don't, just let us know what you're trying to do and we'll give you sufficient access.
Deciding what packages go on the CD
Check out the files controlling the normal CD:
cvs -d :pserver:cvs@cvs.arklinux.org:/cvs/arklinux -z4 co base-home
Copy the files over to base-YOURPROJECT on:
cp -a base-home base-YOURPROJECT ; rm -rf base-YOURPROJECT/CVS
Edit the file base-YOURPROJECT/install.ark to list the packages you'd like to have included. The format should be fairly obvious. The various section names are ignored by the present installer, future versions may allow to omit some sections from an install. The packages you put in must obviously be present in the Ark repository.
Import the modified files into Ark svn:
svn import svn://arklinux.org/custom-al/trunk/base-YOURPROJECT .
(this repository must be created by an Ark admin - a direct interface will be made available in the future.).
Adding packages that aren't in the repository
The best way to do this is to add the packages to the repository first so they're available to everyone. If this isn't possible for some reason (e.g. they don't conform with Ark's licensing policy, or it doesn't pass QA checks), add them to the svn repository under
svn://arklinux.org/custom-al/trunk/extras-YOURPROJECT
(this repository must be created by an Ark admin - a direct interface will be made available in the future.).
For information on how to package your software properly, check the RPM packaging guide.
Adding steps to be run immediately after installation
Any .sh file in the repository
svn://arklinux.org/custom-al/trunk/extras-YOURPROJECT
(this repository must be created by an Ark admin - a direct interface will be made available in the future.). will be copied to the CD and run after normal installation is done.
The scripts will be run inside the newly installed system (or, for the live CD, in the live environment before the CD is built), so you can do anything here, including modifying config files you want to be different in your system.
Modifying the installer in other ways
The CD builder always takes the current installer version from svn:
svn co svn://arklinux.org/installer/trunk installer
It also passes command lines to the compiler that allow the code to identify what is being built -- so if you want to do something to the installer that shouldn't go into normal Ark Linux CDs, place it in #ifdef statements. e.g. if you're working on YourLinux, and you want it to print something to the console, add
#ifdef YOURLINUX cout << "This all wouldn't be possible without Ark Linux!" << endl; #endif
to the installer source code and commit your change.
Build your CD
Build your CD by running buildiso dockyard-devel YOURPROJECT or, for a live CD, buildiso-live dockyard-devel YOURPROJECT on arklinux.org. (You can build your customized distribution both as install and live CD). The resulting file will be /mnt/ark/dockyard-devel/iso/arklinux-YOURPROJECT.iso.
Contributing
If you build your own Ark based distribution, please consider Helping us. This will also drive YOUR project forward.
Keeping your changes for yourself
By default, your distribution will be made available publically, and your code is available publically in our SVN repository. If, for some reason, you want to build an OS without making it public (e.g. if you're including non-free applications), contact us and let us know why you want to prevent your OS from being public. We will usually allow it, possibly in exchange for a contribution to our project. You can also get commercial support on thesis writing.