This weekend, I decided to try out the cobbler 2.4.0 from the epel-testing. I set it on in my "home lab", on an Acer Aspire One D257 netbook, which runs SL 6.3 64bit.
Going over the usual (1) import ubuntu-12.04.1-server-amd64.iso to create a distro and profile, add a repo, reposync, (2) add a system was pretty quick. Since my home has a DSL, so I upgraded dnsmasq from repoforge to 2.63rc6, and used its proxy mode.
Two issues immediately became obvious:
(1) Ubuntu 12.04.1 LTS default vmlinuz and initrd.gz always resulted prompting for CD/DVD :-(
As a quick get-around, I renamed the pair, and copied their counterpart from install/netboot/ubuntu-installer/amd64/.
The replacement pair got the PXE going, but despite what I specified in the preseed template, it always retrieve every package from the remote Ubuntu repositories :-(
I also tried to use the vmlinux and initrd.lz from Ubuntu 12.04.1 precise desktop daily build. That pair got into the busybox :-( So no go.
(2) Despite the fact that I set the desired interface to use during the installation as eth0, I still got prompted for selecting among two (eth0 and wlan0)
What I have in the /var/lib/cobbler/kickstart/ubuntu-server.seed:
[...] # netcfg will choose an interface that has link if possible. This makes it # skip displaying a list if there is more than one interface. #d-i netcfg/choose_interface select auto d-i netcfg/choose_interface select eth0
[...] # You can choose to install restricted and universe software, or to install # software from the backports repository. # d-i apt-setup/restricted boolean true # d-i apt-setup/universe boolean true # d-i apt-setup/backports boolean true
# Uncomment this if you don't want to use a network mirror. d-i apt-setup/use_mirror boolean false
# Select which update services to use; define the mirrors to be used. # Values shown below are the normal defaults. d-i apt-setup/services-select multiselect security d-i apt-setup/security_host string security.ubuntu.com d-i apt-setup/security_path string /ubuntu
# Additional repositories, local[0-9] available # d-i apt-setup/local0/repository string \ # http://local.server/ubuntu precise main # d-i apt-setup/local0/comment string local server [...]
And here is the profile: [root@cobbler kickstarts]# cobbler profile report --name=ubuntu-12.04.1-x86_64 Name : ubuntu-12.04.1-x86_64 TFTP Boot Files : {} Comment : DHCP Tag : default Distribution : ubuntu-12.04.1-x86_64 Enable gPXE? : 0 Enable PXE Menu? : 1 Fetchable Files : {} Kernel Options : {'priority': 'critical', 'locale': 'en_US'} Kernel Options (Post Install) : {'reboot': 'efi'} Kickstart : /var/lib/cobbler/kickstarts/ubuntu-server.seed Kickstart Metadata : {'gateway': '192.168.1.254'} Management Classes : [] Management Parameters : <<inherit>> Name Servers : [] Name Servers Search Path : [] Owners : ['admin'] Parent Profile : Proxy : Red Hat Management Key : <<inherit>> Red Hat Management Server : <<inherit>> Repos : ['ubuntu-12.04.1-x86_64'] [...]
The Repos attribute seemed to be completely ignored!
Has anyone succeeded PXE booting Ubuntu 12.04? If so, were you successful in getting the installation to use your repos? I would be thankful to any hints.
Regards,
--Zack
Just double-checked the netbook. The /var/www/cobbler/repo_mirror is empty:
[root@cobbler ubuntu-12.04.1-x86_64]# pwd /var/www/cobbler/repo_mirror/ubuntu-12.04.1-x86_64 [root@cobbler ubuntu-12.04.1-x86_64]# ls [root@cobbler ubuntu-12.04.1-x86_64]#
The /var/www/cobbler/links is also empty.
This doesn't look right to me...
Regards,
-- Zack
[...]
Going over the usual (1) import ubuntu-12.04.1-server-amd64.iso to create a distro and profile, add a repo, reposync, (2) add a system was pretty quick. Since my home has a DSL, so I upgraded dnsmasq from repoforge to 2.63rc6, and used its proxy mode.
Two issues immediately became obvious:
(1) Ubuntu 12.04.1 LTS default vmlinuz and initrd.gz always resulted prompting for CD/DVD :-(
As a quick get-around, I renamed the pair, and copied their counterpart from install/netboot/ubuntu-installer/amd64/.
The replacement pair got the PXE going, but despite what I specified in the preseed template, it always retrieve every package from the remote Ubuntu repositories :-(
[...]
I re-ran the 'cobbler reposync' command, and got the following. The output is much shorter than what I usually got with RHEL??
[root@cobbler ubuntu-12.04.1-x86_64]# cobbler reposync task started: 2012-11-11_222936_reposync task started (id=Reposync, time=Sun Nov 11 22:29:36 2012) hello, reposync run, reposync, run! running: chown -R root:apache /var/www/cobbler/repo_mirror/ubuntu-12.04.1-x86_64 received on stdout: received on stderr: running: chmod -R 755 /var/www/cobbler/repo_mirror/ubuntu-12.04.1-x86_64 received on stdout: received on stderr: *** TASK COMPLETE ***
Puzzled ...
-- Zack
My bad. After struggling with the other issues, I totally forgot that for Ubuntu, the value for the Kickstart Metadata differs from that for a Red Hat alike systems, such as Fedora 17. The tree is there: http://@@http_server@@/cblr/ks_mirror/ubuntu-12.04.1-x86_64, and it is populated properly.
[root@cobbler ubuntu-12.04.1-x86_64]# ls -l total 192 dr-xr-xr-x 3 root root 4096 Aug 17 15:15 boot -r-xr-xr-x 1 root root 1117 Aug 9 14:58 cdromupgrade dr-xr-xr-x 3 root root 4096 Aug 17 15:14 dists dr-xr-xr-x 3 root root 4096 Aug 17 15:14 doc dr-xr-xr-x 3 root root 4096 Aug 17 15:15 efi dr-xr-xr-x 3 root root 4096 Nov 11 21:36 install dr-xr-xr-x 2 root root 4096 Aug 17 15:15 isolinux -r--r--r-- 1 root root 151242 Aug 17 15:15 md5sum.txt dr-xr-xr-x 2 root root 4096 Aug 17 15:14 pics dr-xr-xr-x 3 root root 4096 Aug 17 15:14 pool dr-xr-xr-x 2 root root 4096 Aug 17 15:14 preseed -r--r--r-- 1 root root 243 Aug 17 15:14 README.diskdefines lrwxrwxrwx 1 root root 1 Aug 17 15:14 ubuntu -> .
Time for a coffee break :-)
-- Zack
I re-ran the 'cobbler reposync' command, and got the following. The output is much shorter than what I usually got with RHEL??
[root@cobbler ubuntu-12.04.1-x86_64]# cobbler reposync task started: 2012-11-11_222936_reposync task started (id=Reposync, time=Sun Nov 11 22:29:36 2012) hello, reposync run, reposync, run! running: chown -R root:apache /var/www/cobbler/repo_mirror/ubuntu-12.04.1-x86_64 received on stdout: received on stderr: running: chmod -R 755 /var/www/cobbler/repo_mirror/ubuntu-12.04.1-x86_64 received on stdout: received on stderr: *** TASK COMPLETE ***
Puzzled ...
[...]
Hi,
On Sun, Nov 11, 2012 at 10:10 PM, Zack Perry zack.perry@sbcglobal.netwrote:
This weekend, I decided to try out the cobbler 2.4.0 from the epel-testing. I set it on in my "home lab", on an Acer Aspire One D257 netbook, which runs SL 6.3 64bit.
Going over the usual (1) import ubuntu-12.04.1-server-amd64.iso to create a distro and profile, add a repo, reposync, (2) add a system was pretty quick. Since my home has a DSL, so I upgraded dnsmasq from repoforge to 2.63rc6, and used its proxy mode.
Two issues immediately became obvious:
(1) Ubuntu 12.04.1 LTS default vmlinuz and initrd.gz always resulted prompting for CD/DVD :-(
As a quick get-around, I renamed the pair, and copied their counterpart from install/netboot/ubuntu-installer/amd64/.
The replacement pair got the PXE going, but despite what I specified in the preseed template, it always retrieve every package from the remote Ubuntu repositories :-(
I also tried to use the vmlinux and initrd.lz from Ubuntu 12.04.1 precise desktop daily build. That pair got into the busybox :-( So no go.
You can try pointing the preseed file to the proxy using the following entries:
d-i mirror/http/hostname string <IP or Hostname of the proxy> d-i mirror/http/directory string <directory where the repository is>
We currently use the above with our internal mirrors and it works like a charm. I'm not sure about the dnsmasq proxy and if / how it will work for you.
The repos will most likely only be added to the preseed by using a snippet and templating. I'm not totally sure about this so hopefully someone with some more info can help you out here. For a standard cobbler installation your directory setting would be similar to "cblr/ks_mirror/<distro_name>/".
(2) Despite the fact that I set the desired interface to use during the installation as eth0, I still got prompted for selecting among two (eth0 and wlan0)
The preseed file needs to be downloaded before the values in the preseed file can be used but it needs info such as which interface to use to download the preseed file. So you can place the following into the "Kernel Options" on either the profile or the distro in cobbler:
interface=eth0 vga16fb.modeset=0 locale=en_US keyboard-configuration/layoutcode=us
You will mainly be in the "interface=eth0" entry as it will tell the installation to use interface eth0 for the network connection and will in turn allow you to download your preseed file.
Regards,
Andrew
What I have in the /var/lib/cobbler/kickstart/ubuntu-server.seed:
[...] # netcfg will choose an interface that has link if possible. This makes it # skip displaying a list if there is more than one interface. #d-i netcfg/choose_interface select auto d-i netcfg/choose_interface select eth0
[...] # You can choose to install restricted and universe software, or to install # software from the backports repository. # d-i apt-setup/restricted boolean true # d-i apt-setup/universe boolean true # d-i apt-setup/backports boolean true
# Uncomment this if you don't want to use a network mirror. d-i apt-setup/use_mirror boolean false
# Select which update services to use; define the mirrors to be used. # Values shown below are the normal defaults. d-i apt-setup/services-select multiselect security d-i apt-setup/security_host string security.ubuntu.com d-i apt-setup/security_path string /ubuntu
# Additional repositories, local[0-9] available # d-i apt-setup/local0/repository string \ # http://local.server/ubuntu precise main # d-i apt-setup/local0/comment string local server [...]
And here is the profile: [root@cobbler kickstarts]# cobbler profile report --name=ubuntu-12.04.1-x86_64 Name : ubuntu-12.04.1-x86_64 TFTP Boot Files : {} Comment : DHCP Tag : default Distribution : ubuntu-12.04.1-x86_64 Enable gPXE? : 0 Enable PXE Menu? : 1 Fetchable Files : {} Kernel Options : {'priority': 'critical', 'locale': 'en_US'} Kernel Options (Post Install) : {'reboot': 'efi'} Kickstart : /var/lib/cobbler/kickstarts/ubuntu-server.seed Kickstart Metadata : {'gateway': '192.168.1.254'} Management Classes : [] Management Parameters : <<inherit>> Name Servers : [] Name Servers Search Path : [] Owners : ['admin'] Parent Profile : Proxy : Red Hat Management Key : <<inherit>> Red Hat Management Server : <<inherit>> Repos : ['ubuntu-12.04.1-x86_64'] [...]
The Repos attribute seemed to be completely ignored!
Has anyone succeeded PXE booting Ubuntu 12.04? If so, were you successful in getting the installation to use your repos? I would be thankful to any hints.
Regards,
--Zack
cobbler mailing list cobbler@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/cobbler
Hi Andrew, Many thanks for your clear and specific hints. We together discovered a bug in 2.4.0 in epel-testing too: that the magic variables in the bundled sample.seed do not take effect: 30 # Setup the installation source 31 d-i mirror/country string manual 32 d-i mirror/http/hostname string $http_server:$http_port 33 d-i mirror/http/directory string $install_source_directory 34 d-i mirror/http/proxy string The --kopts values did the magic of setting the network interface to use during install too. I deliberated a bit about using the {linux, initrd.gz} in install/netboot/ubuntu-install/amd64 makes sense, since PXE boot is a kind of network install. Regretably, Canonical pays so much attention to the desktop usage scenarios that it fails to mention this requirement anywhere AFAIK. Now I just need to come up a script to set the hostname, static IP etc, then all are set 8-) Best Regards, -- Zack
Hi,
[...]You can try pointing the preseed file to the proxy using the following entries:
d-i mirror/http/hostname string <IP or Hostname of the proxy>d-i mirror/http/directory string <directory where the repository is> We currently use the above with our internal mirrors and it works like a charm. I'm not sure about the dnsmasq proxy and if / how it will work for you.
The repos will most likely only be added to the preseed by using a snippet and templating. I'm not totally sure about this so hopefully someone with some more info can help you out here. For a standard cobbler installation your directory setting would be similar to "cblr/ks_mirror/<distro_name>/".
[...] The preseed file needs to be downloaded before the values in the preseed file can be used but it needs info such as which interface to use to download the preseed file. So you can place the following into the "Kernel Options" on either the profile or the distro in cobbler:
interface=eth0 vga16fb.modeset=0 locale=en_US keyboard-configuration/layoutcode=us
You will mainly be in the "interface=eth0" entry as it will tell the installation to use interface eth0 for the network connection and will in turn allow you to download your preseed file.
Regards, Andrew[...]
On Mon, Nov 12, 2012 at 4:00 PM, Zack Perry zack.perry@sbcglobal.netwrote:
Hi Andrew,
Many thanks for your clear and specific hints. We together discovered a bug in 2.4.0 in epel-testing too: that the magic variables in the bundled sample.seed do not take effect:
30 # Setup the installation source 31 d-i mirror/country string manual 32 d-i mirror/http/hostname string $http_server:$http_port 33 d-i mirror/http/directory string $install_source_directory 34 d-i mirror/http/proxy string
The --kopts values did the magic of setting the network interface to use during install too.
I deliberated a bit about using the {linux, initrd.gz} in install/netboot/ubuntu-install/amd64 makes sense, since PXE boot is a kind of network install. Regretably, Canonical pays so much attention to the desktop usage scenarios that it fails to mention this requirement anywhere AFAIK.
Cool. Glad I could help here.
Now I just need to come up a script to set the hostname, static IP etc, then all are set 8-)
For the hostname you should be able to use the following preseed entry:
d-i netcfg/get_hostname string $hostname
Regards,
Andrew
Best Regards,
-- Zack
Hi,
[...] You can try pointing the preseed file to the proxy using the following entries:
d-i mirror/http/hostname string <IP or Hostname of the proxy> d-i mirror/http/directory string <directory where the repository is>
We currently use the above with our internal mirrors and it works like a charm. I'm not sure about the dnsmasq proxy and if / how it will work for you.
The repos will most likely only be added to the preseed by using a snippet and templating. I'm not totally sure about this so hopefully someone with some more info can help you out here. For a standard cobbler installation your directory setting would be similar to "cblr/ks_mirror/<distro_name>/".
[...]
The preseed file needs to be downloaded before the values in the preseed file can be used but it needs info such as which interface to use to download the preseed file. So you can place the following into the "Kernel Options" on either the profile or the distro in cobbler:
interface=eth0 vga16fb.modeset=0 locale=en_US keyboard-configuration/layoutcode=us
You will mainly be in the "interface=eth0" entry as it will tell the installation to use interface eth0 for the network connection and will in turn allow you to download your preseed file.
Regards,
Andrew
[...]
On Mon, Nov 12, 2012 at 6:00 PM, Zack Perry zack.perry@sbcglobal.netwrote:
Hi Andrew,
Many thanks for your clear and specific hints. We together discovered a bug in 2.4.0 in epel-testing too: that the magic variables in the bundled sample.seed do not take effect:
30 # Setup the installation source 31 d-i mirror/country string manual 32 d-i mirror/http/hostname string $http_server:$http_port 33 d-i mirror/http/directory string $install_source_directory 34 d-i mirror/http/proxy string
That's very odd, these work fine for me when using the master branch which should not be that divergent from the release24 branch currently. I'm going to be merging the signature branch in with master and release24 soon, and that branch definitely seems to work great with Ubuntu, so I'll double check for this popping up at that time.
cobbler@lists.fedorahosted.org