<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Remaster_Ubuntu_Server</id>
	<title>Remaster Ubuntu Server - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Remaster_Ubuntu_Server"/>
	<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Remaster_Ubuntu_Server&amp;action=history"/>
	<updated>2026-04-20T14:11:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Remaster_Ubuntu_Server&amp;diff=39639&amp;oldid=prev</id>
		<title>Onnowpurbo: New page: Sumber: http://razvangavril.com/linux-administration/custom-ubuntu-server-iso/   Remastering the Ubuntu Desktop ISO is easy considering the existing graphical tools but did you ever wanted...</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Remaster_Ubuntu_Server&amp;diff=39639&amp;oldid=prev"/>
		<updated>2014-02-09T02:00:01Z</updated>

		<summary type="html">&lt;p&gt;New page: Sumber: http://razvangavril.com/linux-administration/custom-ubuntu-server-iso/   Remastering the Ubuntu Desktop ISO is easy considering the existing graphical tools but did you ever wanted...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Sumber: http://razvangavril.com/linux-administration/custom-ubuntu-server-iso/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remastering the Ubuntu Desktop ISO is easy considering the existing graphical tools but did you ever wanted to build your custom Ubuntu Server Edition ISO ?&lt;br /&gt;
Preparing the Environment&lt;br /&gt;
&lt;br /&gt;
You’ll need a clean copy of the Ubuntu Server ISO that you want to customize. Since 10.04 is the latest Ubuntu version I will write down my examples using it but everything should work pretty much unchanged for older or newer versions.&lt;br /&gt;
&lt;br /&gt;
After you have you have the original iso image downloaded, make a copy it’s contents so we can later apply our patching there.&lt;br /&gt;
&lt;br /&gt;
 cd /home/rgavril/Work&lt;br /&gt;
 &lt;br /&gt;
 mkdir original-iso custom-iso&lt;br /&gt;
 mount -o loop ./ubuntu-10.04-server-i386.iso ./original-iso&lt;br /&gt;
 &lt;br /&gt;
 cp -r ./original-iso/* ./custom-iso/&lt;br /&gt;
 cp -r ./original-iso/.disk/ ./custom-iso/&lt;br /&gt;
 &lt;br /&gt;
 umount ./original-iso/&lt;br /&gt;
&lt;br /&gt;
==Adding a Boot Menu Option==&lt;br /&gt;
&lt;br /&gt;
For start let’s add a option to the cd boot menu. You’ll need to modify isolinux/text.cfg and insert the next lines between default install and label install:&lt;br /&gt;
&lt;br /&gt;
 label custom&lt;br /&gt;
   menu label ^Install Custom Ubuntu Server&lt;br /&gt;
   kernel /install/vmlinuz&lt;br /&gt;
   append  file=/cdrom/preseed/ubuntu-custom.seed initrd=/install/initrd.gz quiet ks=cdrom:/isolinux/ks-custom.cfg --&lt;br /&gt;
&lt;br /&gt;
This newly added block is very similar to the label install one. The two important additions being the file and ks boot options that I will later explain.&lt;br /&gt;
&lt;br /&gt;
If you want to make your menu option the default one, you only need to change the default install to default custom or whatever you used as a label.&lt;br /&gt;
&lt;br /&gt;
==Kickstart-ing==&lt;br /&gt;
&lt;br /&gt;
KickStart is a unattended installation method developed by Red Hat and later adopted and adapted by Debian and Ubuntu. To keep it short, the Ubuntu installer can read an external file and figure out how to configure the system (create partitions, set timezones and keyboard layouts ..) without asking the user.&lt;br /&gt;
&lt;br /&gt;
There’s no need to write everything using a text editor as we have a powerful tool to create such configuration files:&lt;br /&gt;
&lt;br /&gt;
 apt-get install system-config-kickstart&lt;br /&gt;
 ksconfig&lt;br /&gt;
&lt;br /&gt;
After creating your ks.cfg file, you will need to move it on the custom-iso/ at the path specified in text.cfg. That’s the location where the ubuntu installer will look for it.&lt;br /&gt;
&lt;br /&gt;
 cp ks.cfg custom-iso/isolinux/ks-custom.cfg&lt;br /&gt;
&lt;br /&gt;
==Preseeding Packages==&lt;br /&gt;
&lt;br /&gt;
The installer in not the only one that may present questions to the user. When installed, some package rely on the user to explicitly set different parameters.&lt;br /&gt;
&lt;br /&gt;
Preseeding is the action of setting, in advance, this kind of package parameters. It’s a very powerful method that you can use even for replacing kickstart. In this article, I’ll use it as a addition to kickstart as is more harder to tune the ubuntu installer, mostly because it lacks a gui.&lt;br /&gt;
&lt;br /&gt;
The params can be set trough a configuration file specified by the file in text.cfg. I recommend starting with the existing preseed file from the original cd:&lt;br /&gt;
&lt;br /&gt;
 cp custom-iso/preseed/ubuntu-server.seed custom-iso/preseed/ubuntu-custom.seed&lt;br /&gt;
&lt;br /&gt;
Using debconf-get-selections from the debconf-utils package you can look over a running ubuntu system to figure out what parameters you can tune. For example here are the possible configuration settings for the openssh-server together with their values :&lt;br /&gt;
&lt;br /&gt;
 root@xps1330:~/work# debconf-get-selections | grep openssh&lt;br /&gt;
 openssh-server	ssh/vulnerable_host_keys	note&lt;br /&gt;
 openssh-server	ssh/use_old_init_script	boolean	true&lt;br /&gt;
 openssh-server	ssh/encrypted_host_key_but_no_keygen	note&lt;br /&gt;
 openssh-server	ssh/disable_cr_auth	boolean	false&lt;br /&gt;
&lt;br /&gt;
==Adding Extra Packages==&lt;br /&gt;
&lt;br /&gt;
Ubuntu’s ksconfig utility does’n provide a way to select extra packages as the Package Selection is not working. In order to specify what extra packages you want to install you’ll need to modify the kickstart configuration file by hand.&lt;br /&gt;
&lt;br /&gt;
 vim custom-iso/isolinux/ks-custom.cfg&lt;br /&gt;
&lt;br /&gt;
Depending on the extra packages that you want to install by default, add some similar lines to the end of the file :&lt;br /&gt;
&lt;br /&gt;
 %packages&lt;br /&gt;
 openssh-server&lt;br /&gt;
 asterisk&lt;br /&gt;
 asterisk-mysql&lt;br /&gt;
&lt;br /&gt;
==Offline Installation==&lt;br /&gt;
&lt;br /&gt;
When having additional packages installed by default, there’s a big chance are that those particular packages may not be on the default iso. If you have an active internet connection during the install, the packages will be automatically fetched from the online repositories. But if you’re internet connection is not working, the install process will fail. In order to prevent the problem and create a offline installable cd, you’ll need to perform some extra steps.&lt;br /&gt;
&lt;br /&gt;
You’ll need to downloading and copying the extra debs and all their dependencies on your iso. Please note that in doing so you may increase the iso size a lot and be forced to use a dvd.&lt;br /&gt;
&lt;br /&gt;
It’s very hard to figure out what debs are missing from your iso. In order to make a list of needed debs I use the following steps:&lt;br /&gt;
&lt;br /&gt;
* On a virtual machine, install a ubuntu server using the original cd image.&lt;br /&gt;
* Boot the newly installed ubuntu server, make sure the cd is mountable and cdrom directive is available in sources.list&lt;br /&gt;
* Do an apt-get install of the extra packages that I want to have installed by default&lt;br /&gt;
* Make a backup of the debs located in /var/cache/apt/archives as this are the missing ones that need to be on the iso&lt;br /&gt;
&lt;br /&gt;
Considering that you downloaded the extra packages, and that they are located in the extradebs/ directory within the current folder. You will need to copy them on the cd and create a repository by running this commands:&lt;br /&gt;
&lt;br /&gt;
 mkdir -p custom-iso/dists/stable/extras/binary-i386&lt;br /&gt;
 mkdir -p custom-iso/pool/extras/&lt;br /&gt;
 &lt;br /&gt;
 cp ./extradebs/*.deb custom-iso/pool/extras/&lt;br /&gt;
 &lt;br /&gt;
 pushd custom-iso&lt;br /&gt;
 apt-ftparchive packages ./pool/extras/ &amp;gt; dists/stable/extras/binary-i386/Packages&lt;br /&gt;
 gzip -c ./dists/stable/extras/binary-i386/Packages | tee ./dists/stable/extras/binary-i386/Packages.gz &amp;gt; /dev/null&lt;br /&gt;
 popd&lt;br /&gt;
&lt;br /&gt;
==Generating the new ISO==&lt;br /&gt;
&lt;br /&gt;
All you need to do now is build you new iso and give it a test drive to see how it works:&lt;br /&gt;
&lt;br /&gt;
 mkisofs -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -z -iso-level 4 -c isolinux/isolinux.cat -o ./ubuntu-10.04-custom-i386.iso custom-iso/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Referensi==&lt;br /&gt;
&lt;br /&gt;
* http://razvangavril.com/linux-administration/custom-ubuntu-server-iso/&lt;/div&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
</feed>