Introduction

In my previous article, I described the basics of Cobbler and how to get a simple installation up and running and distributing Linux.

While I was able to get simple RedHat-based distributions installed easily, I had some problems with Ubuntu. Although it was easy enough to configure Cobbler to distribute Ubuntu via PXE, I wanted it to utilize a kickstart file to automate responses. I had been doing this for quite some time without Cobbler, so I knew it had to be an issue internal to Cobbler.

After a few hours of troubleshooting and testing, I was able to get it working.

Table of Contents

The Solution

note: This solution has only been tested with Ubuntu Server 10.04 LTS.

The first thing I noticed was that the kernel options that are passed to the target system are significantly different when marking a distribution as a breed of “ubuntu” rather than “redhat”:

Breed: ubuntu

append initrd=/images/10.04-LTS-x86_64/initrd.gz  locale=  text  auto url=http://192.168.255.3/cblr/svc/op/ks/profile/Ubuntu-10.04-LTS-x64 hostname=Ubuntu-10.04-LTS-x64 domain=local.lan suite=jaunty

Breed: redhat

append initrd=/images/10.04-LTS-x86_64/initrd.gz ksdevice=bootif lang=  kssendmac text  ks=http://192.168.255.3/cblr/svc/op/ks/profile/Ubuntu-10.04-LTS-x64

It is my guess that the url option is supposed to tell the Debian/Ubuntu installer to download a preseed file at the given location and utilize that file for the installation. However, the installation simply ignored that file and never used any settings from it. An odd note is that when configured to download a kickstart file rather than a preseed file, the install gave an error. So it was obviously reading the file but choosing to ignore it.

With the Breed set to RedHat, a proper ks option is given and the Debian/Ubuntu installer correctly downloads the file and utilizes it.

Configuration Files

The next problem was to account for changes between a standard RedHat install and a Debian/Ubuntu install. Rather than detail those changes, I will simply attach the three files I came up with:

Conclusion

Although lacking in some details, the point of this article was to quickly detail how to configure Cobbler to be able to distribute an Ubuntu Server install that is able to utilize a kickstart / answer file. The network configuration snippets I created are not as thorough as the standard network snippets that are packaged with Cobbler, but they will successfully configure a system for a given static IP.


Tags


Comments

Prof Falken on August 9th, 2010:

Hi Joe,

I’ve amended the source code for Cobbler so that the server itself can run on Ubuntu.

The code is available on github and the howto is at http://www.threedrunkensysadsonthe.net/2010/07/installing-cobbler-on-ubuntu/

Kind regards,

Matt

jtopjian on August 9th, 2010:

Hi Matt,

Nice work! Thank you for the link.

Deploying Ubuntu with Cobbler | Ubuntu-News – Your one stop for news about Ubuntu on August 9th, 2010:

[...] distribute Ubuntu via PXE, I wanted it to utilize a kickstart file to automate responses Read more here I had been doing this for quite some time without Cobbler, so I knew it had to be an issue internal [...]

Ubuntu Linux provisioning automation with Cobbler | Ubuntu Geek on August 10th, 2010:

[...] If you want to configure cobbler in ubuntu check here [...]

Community Cooking « btm.geek on October 20th, 2010:

[...] building it yourself provides. There is indication that some have gotten Cobbler running on and deploying Ubuntu, but it doesn’t appear to have taken hold. There’s a launchpad spec claiming there is a [...]

HugoKuo on January 4th, 2011:

error: can’t copy ‘docs/cobbler.1.gz’: doesn’t exist or not a regular file

While I install cobbler by http://www.ubuntugeek.com/ubuntu-linux-provisioning-automation-with-cobbler.html

roastinghosting on March 23rd, 2011:

@HugoKuo,

We also had that problem. The simple solution is to open setup.py and find the lines which read:


1
2
3
4
        # documentation
        (manpath,  ['docs/cobbler.1.gz']),
        (manpath,  ['docs/koan.1.gz']),
        (manpath,  ['docs/cobbler-register.1.gz']),

Simply comment them out so they look like this:


1
2
3
4
        # documentation
        #(manpath,  ['docs/cobbler.1.gz']),
        #(manpath,  ['docs/koan.1.gz']),
        #(manpath,  ['docs/cobbler-register.1.gz']),

Then re-run your install with ‘python setup.py install’

Regards, RoastingHosting

Cobbler 下安装 Ubuntu | Jasey Wang on September 10th, 2011:

[...] 根据他的步骤,我并没有成功的安装过。这里是一份别人安装过程中的总结,根据提示,依然没有成功。 [...]

shake chen on May 31st, 2012:

Hi

Now the ubuntu 12.04 have been publish.whether can test it.

I have not success.

Joe Topjian on May 31st, 2012:

Hello,

I hope to update this article when I get some time.

I have a lot of Cobbler resources here that are based on Ubuntu 12.04.

Thanks, Joe