Sandor W. Sklar | 1 Feb 02:06
Picon
Favicon

Creating a yum repo (via cobbler) from "scratch"?


I apologize in advance if my questions here are "dumb", but I'm kind  
of new to this, and am trying to wrap my head around a lot of  
information.

I've successfully  set up a basic cobbler (0.6.5) on an RHEL 5 server,  
have imported a distro from the rhel-5.1-server-x86_64-dvd iso, and  
have PXE booted and built a basic system from this cobbler server.   
That I was able to do all of that in a day of work was amazing, and a  
testament to the quality of all of the software involved.

My question is this: I'd like to set up a yum repository, available  
from the cobbler server, containing a few RPMs that aren't available  
from another repository (meaning, I'm not "mirroring" another  
repository.)  One example would be that I want to have my own  
repository of the IBM TSM client RPMs, which one only gets by FTPing  
them from IBM's site:

$ ls -1 *.rpm
TIVsm-API64.i386.rpm
TIVsm-API.i386.rpm
TIVsm-BA.i386.rpm
TIVsm-HSM.i386.rpm

I'd like to have it so I could simply run "yum install tsm-client" on  
a system built from my cobbler server, and have the above RPMs and  
their dependencies (all included in rhel5 core) installed.  This  
question might be best for a yum-specific list, but since cobbler has  
repository mirroring integrated, I'd give it a shot here.  Is there an  
easy way to accomplish this?
(Continue reading)

Adam Rosenwald | 1 Feb 03:16
Picon

Re: Creating a yum repo (via cobbler) from "scratch"?

Sandor,

* Set "yum_post_install_mirror" to "1" in /var/lib/cobbler/settings.

* Create a directory somewhere for your repository.  Create a base directory:

    mkdir -p /my/repo/base

* Copy any and all custom or third-party RPMs to the base directory.

* Create the metadata for the repository ("yum install createrepo" if you don't have the utility).  This may not be necessary, but this will ensure that the metadata is available:
   
    createrepo /my/repo # note that the target is not the base directory

* Add the repo to cobbler.

    cobbler repo add --mirror=/my/repo --name=name_of_your_repo

*  Sync repositories:

    cobbler reposync

* Add repos to your cobbler profiles/distros.

    cobbler distro edit --name=my_distro --repos='name_of_your_repo ...'
    cobbler profile edit --name=my_profile --repos='name_of_your_repo...'

    # Modify only the item that most closely meets your scope; e.g. if all profiles under "my_distro" should include 'name_of_your_repo', you can ignore the '--repos' field whenever creating profiles that exist under "my_distro".

* You are done.  Just cobbler sync and your systems' kickstart files will include YUM repo stanzas provided by Cheetah template expansions.

----

Note that adding RPMS to existing repositories may require re-running 'createrepo /my/repo' and 'cobbler reposync' to be seen on your deployed systems.  You will also need to execute 'yum clean all' (or some variant of 'yum clean') on your client to force it to redownload the repository metadata (which describe the new RPM set).

I hope this helps.

Regards,

-Adam.

-A.

Sandor W. Sklar wrote:

I apologize in advance if my questions here are "dumb", but I'm kind of new to this, and am trying to wrap my head around a lot of information.

I've successfully  set up a basic cobbler (0.6.5) on an RHEL 5 server, have imported a distro from the rhel-5.1-server-x86_64-dvd iso, and have PXE booted and built a basic system from this cobbler server.  That I was able to do all of that in a day of work was amazing, and a testament to the quality of all of the software involved.

My question is this: I'd like to set up a yum repository, available from the cobbler server, containing a few RPMs that aren't available from another repository (meaning, I'm not "mirroring" another repository.)  One example would be that I want to have my own repository of the IBM TSM client RPMs, which one only gets by FTPing them from IBM's site:

$ ls -1 *.rpm
TIVsm-API64.i386.rpm
TIVsm-API.i386.rpm
TIVsm-BA.i386.rpm
TIVsm-HSM.i386.rpm

I'd like to have it so I could simply run "yum install tsm-client" on a system built from my cobbler server, and have the above RPMs and their dependencies (all included in rhel5 core) installed.  This question might be best for a yum-specific list, but since cobbler has repository mirroring integrated, I'd give it a shot here.  Is there an easy way to accomplish this?

Thanks,
    -s-

_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
https://www.redhat.com/mailman/listinfo/et-mgmt-tools


_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools@...
https://www.redhat.com/mailman/listinfo/et-mgmt-tools
Sandor W. Sklar | 1 Feb 05:09
Picon
Favicon

Re: Creating a yum repo (via cobbler) from "scratch"?

Your instructions were perfect!  Thanks so much ... I really  
appreciate the help!

	-s-

On Jan 31, 2008, at 6:16 PM, Adam Rosenwald wrote:

> Sandor,
>
> * Set "yum_post_install_mirror" to "1" in /var/lib/cobbler/settings.
>
> * Create a directory somewhere for your repository.  Create a base  
> directory:
>
>     mkdir -p /my/repo/base
>
> * Copy any and all custom or third-party RPMs to the base directory.
>
> * Create the metadata for the repository ("yum install createrepo"  
> if you don't have the utility).  This may not be necessary, but this  
> will ensure that the metadata is available:
>
>     createrepo /my/repo # note that the target is not the base  
> directory
>
> * Add the repo to cobbler.
>
>     cobbler repo add --mirror=/my/repo --name=name_of_your_repo
>
> *  Sync repositories:
>
>     cobbler reposync
>
> * Add repos to your cobbler profiles/distros.
>
>     cobbler distro edit --name=my_distro -- 
> repos='name_of_your_repo ...'
>     cobbler profile edit --name=my_profile -- 
> repos='name_of_your_repo...'
>
>     # Modify only the item that most closely meets your scope; e.g.  
> if all profiles under "my_distro" should include  
> 'name_of_your_repo', you can ignore the '--repos' field whenever  
> creating profiles that exist under "my_distro".
>
> * You are done.  Just cobbler sync and your systems' kickstart files  
> will include YUM repo stanzas provided by Cheetah template expansions.
>
> ----
>
> Note that adding RPMS to existing repositories may require re- 
> running 'createrepo /my/repo' and 'cobbler reposync' to be seen on  
> your deployed systems.  You will also need to execute 'yum clean  
> all' (or some variant of 'yum clean') on your client to force it to  
> redownload the repository metadata (which describe the new RPM set).
>
> I hope this helps.
>
> Regards,
>
> -Adam.
>
> -A.
>
> Sandor W. Sklar wrote:
>>
>>
>> I apologize in advance if my questions here are "dumb", but I'm  
>> kind of new to this, and am trying to wrap my head around a lot of  
>> information.
>>
>> I've successfully  set up a basic cobbler (0.6.5) on an RHEL 5  
>> server, have imported a distro from the rhel-5.1-server-x86_64-dvd  
>> iso, and have PXE booted and built a basic system from this cobbler  
>> server.  That I was able to do all of that in a day of work was  
>> amazing, and a testament to the quality of all of the software  
>> involved.
>>
>> My question is this: I'd like to set up a yum repository, available  
>> from the cobbler server, containing a few RPMs that aren't  
>> available from another repository (meaning, I'm not "mirroring"  
>> another repository.)  One example would be that I want to have my  
>> own repository of the IBM TSM client RPMs, which one only gets by  
>> FTPing them from IBM's site:
>>
>> $ ls -1 *.rpm
>> TIVsm-API64.i386.rpm
>> TIVsm-API.i386.rpm
>> TIVsm-BA.i386.rpm
>> TIVsm-HSM.i386.rpm
>>
>> I'd like to have it so I could simply run "yum install tsm-client"  
>> on a system built from my cobbler server, and have the above RPMs  
>> and their dependencies (all included in rhel5 core) installed.   
>> This question might be best for a yum-specific list, but since  
>> cobbler has repository mirroring integrated, I'd give it a shot  
>> here.  Is there an easy way to accomplish this?
>>
>> Thanks,
>>     -s-
>>
>> _______________________________________________
>> et-mgmt-tools mailing list
>> et-mgmt-tools@...
>> https://www.redhat.com/mailman/listinfo/et-mgmt-tools
>>
>
> _______________________________________________
> et-mgmt-tools mailing list
> et-mgmt-tools@...
> https://www.redhat.com/mailman/listinfo/et-mgmt-tools
S.Sakamoto | 1 Feb 10:01

[PATCH] The return value of the argument error of option is wrong in virt-install.

Hi,

When I set a wrong value in option of virt-install,(ex. --cpuset=aaa, --mac=aaa)
Error message appears and a command is finished,
but the return value is 0.

So, I make the patch which improved this problem so that a user is not confused.

Thanks,
Shigeki Sakamoto

==========================================================
diff -r 9eccd3abccb6 virt-install
--- a/virt-install	Wed Jan 30 16:23:50 2008 -0500
+++ b/virt-install	Thu Jan 31 16:07:44 2008 +0900
@@ -519,4 +519,5 @@ if __name__ == "__main__":
         sys.exit(e.code)
     except Exception, e:
         logging.exception(e)
-
+        sys.exit(1)
+
Cole Robinson | 1 Feb 15:59
Picon
Favicon

Re: [PATCH] The return value of the argument error of option is wrong in virt-install.

S.Sakamoto wrote:
> Hi,
> 
> When I set a wrong value in option of virt-install,(ex. --cpuset=aaa, --mac=aaa)
> Error message appears and a command is finished,
> but the return value is 0.
> 
> So, I make the patch which improved this problem so that a user is not confused.
> 
> 
> Thanks,
> Shigeki Sakamoto
> 

I've applied this:

http://hg.et.redhat.com/virt/applications/virtinst--devel?cs=375d3f83844c

Thanks!
Cole
Michael DeHaan | 1 Feb 16:16
Picon
Favicon

Re: Creating a yum repo (via cobbler) from "scratch"?

Adam Rosenwald wrote:

Thanks for the help Adam.

A few quick comments:
    -- you don't actually have to call createrepo yourself, cobbler will 
do it for you.
    -- we don't currently have the ability to assign a list of repos to 
a distro, only a profile, however that might be a good idea for a future 
addition.
    -- there's a quick writeup on some of the repo management stuff 
here:  http://cobbler.et.redhat.com/cobbler-repos.php

--Michael
Cole Robinson | 2 Feb 00:19
Picon
Favicon

[PATCH] virtinst: make hasFile not grab files

The attached patch changes the implementation of hasFile from
ImageFetcher classes to not actually acquire the file it
is looking for, rather just test for its existence. http
will use a HEAD request, local mounts will check the path,
and ftp will query the size (which will work for files), 
and if that fails will try to cd to the location.

I gave all the cases a test but I may be missing something,
so if anyone has suggestions, please recommend :) This will
be nice to have as it opens up some options, ex. quickly
probing a tree for a paravirt kernel.

Thanks,
Cole

# HG changeset patch
# User "Cole Robinson <crobinso@...>"
# Date 1201905006 18000
# Node ID 96dd51a7e06b2bdf0dbc9195d3047885f9f5eb2e
# Parent  375d3f83844c8e374347d391fdc874c7b24fef1b
Re-implement hasFile to not pull down any files, just test they exist.

diff -r 375d3f83844c -r 96dd51a7e06b virtinst/DistroManager.py
--- a/virtinst/DistroManager.py	Fri Feb 01 09:56:47 2008 -0500
+++ b/virtinst/DistroManager.py	Fri Feb 01 17:30:06 2008 -0500
@@ -32,7 +32,8 @@ from virtinst import _virtinst as _
 from virtinst import _virtinst as _

 from ImageFetcher import MountedImageFetcher
-from ImageFetcher import URIImageFetcher
+from ImageFetcher import FTPImageFetcher
+from ImageFetcher import HTTPImageFetcher
 from ImageFetcher import DirectImageFetcher

 from OSDistro import FedoraDistro
@@ -45,8 +46,10 @@ from OSDistro import MandrivaDistro
 from OSDistro import MandrivaDistro

 def _fetcherForURI(uri, scratchdir=None):
-    if uri.startswith("http://") or uri.startswith("ftp://"):
-        return URIImageFetcher(uri, scratchdir)
+    if uri.startswith("http://"): 
+        return HTTPImageFetcher(uri, scratchdir)
+    elif uri.startswith("ftp://"):
+        return FTPImageFetcher(uri, scratchdir)
     elif uri.startswith("nfs://"):
         return MountedImageFetcher(uri, scratchdir)
     else:
@@ -57,6 +60,7 @@ def _fetcherForURI(uri, scratchdir=None)

 def _storeForDistro(fetcher, baseuri, type, progresscb, distro=None, scratchdir=None):
     stores = []
+    logging.debug("Attempting to detect distro:")
     if distro == "fedora" or distro is None:
         stores.append(FedoraDistro(baseuri, type, scratchdir))
     if distro == "rhel" or distro is None:
@@ -81,7 +85,7 @@ def _storeForDistro(fetcher, baseuri, ty
     raise ValueError, _("Could not find an installable distribution at '%s'" % baseuri) 

 
-# Method to fetch a krenel & initrd pair for a particular distro / HV type
+# Method to fetch a kernel & initrd pair for a particular distro / HV type
 def acquireKernel(baseuri, progresscb, scratchdir="/var/tmp", type=None, distro=None):
     fetcher = _fetcherForURI(baseuri, scratchdir)

diff -r 375d3f83844c -r 96dd51a7e06b virtinst/ImageFetcher.py
--- a/virtinst/ImageFetcher.py	Fri Feb 01 09:56:47 2008 -0500
+++ b/virtinst/ImageFetcher.py	Fri Feb 01 17:30:06 2008 -0500
@@ -25,6 +25,9 @@ import subprocess
 import subprocess
 import urlgrabber.grabber as grabber
 import urlgrabber.progress as progress
+import urllib2
+import urlparse
+import ftplib
 import tempfile
 from virtinst import _virtinst as _

@@ -58,10 +61,10 @@ class ImageFetcher:
     def acquireFile(self, src, progresscb):
         raise "Must be implemented in subclass"

-    def hasFile(self, src, progresscb):
+    def hasFile(self, src):
         raise "Must be implemented in subclass"

-# This is a fetcher capable of downloading from FTP / HTTP
+# Base class for downloading from FTP / HTTP
 class URIImageFetcher(ImageFetcher):

     def prepareLocation(self, progresscb):
@@ -72,7 +75,8 @@ class URIImageFetcher(ImageFetcher):
             return True
         except IOError, e:
             logging.debug("Opening URL %s failed." % (self.location,) + " " + str(e))
-            raise ValueError(_("Opening URL %s failed.") % (self.location,))
+            raise ValueError(_("Opening URL %s failed: %s") % \
+                              (self.location, e))
             return False

     def acquireFile(self, filename, progresscb):
@@ -85,7 +89,7 @@ class URIImageFetcher(ImageFetcher):
                                        progress_obj = progresscb, \
                                        text = _("Retrieving file %s...") % base)
             except IOError, e:
-                raise ValueError, _("Invalid URL location given: %s %s") %\
+                raise ValueError, _("Couldn't aquire file %s: %s") %\
                                   ((self.location + "/" + filename), str(e))
             tmpname = self.saveTemp(file, prefix=base + ".")
             logging.debug("Saved file to " + tmpname)
@@ -94,15 +98,35 @@ class URIImageFetcher(ImageFetcher):
             if file:
                 file.close()

-    def hasFile(self, filename, progresscb):
-        try:
-            tmpfile = self.acquireFile(filename, progresscb)
-            os.unlink(tmpfile)
-            return True
+class HTTPImageFetcher(URIImageFetcher):
+    
+    def hasFile(self, filename):
+        try:
+            request = urllib2.Request(self.location + "/" + filename)
+            request.get_method = lambda: "HEAD"
+            http_file = urllib2.urlopen(request)
         except Exception, e:
-            logging.debug("Cannot find file %s" % filename)
-            return False
-
+            logging.debug("HTTP hasFile: didn't find %s" % \
+                          (self.location + "/" + filename))
+            return False
+        return True
+
+class FTPImageFetcher(URIImageFetcher):
+    
+    def hasFile(self, filename):
+        url = urlparse.urlparse(self.location + "/" + filename)
+        try:
+            ftp = ftplib.FTP(url[1])
+            ftp.login()
+            try:
+                ftp.size(url[2])   # If a file
+            except ftplib.all_errors, e:
+                ftp.cwd(url[2])    # If a dir
+        except ftplib.all_errors, e:
+            logging.debug("FTP hasFile: couldn't access %s/%s" % \
+                          (url[1], url[2]))
+            return False
+        return True

 class LocalImageFetcher(ImageFetcher):

@@ -132,14 +156,12 @@ class LocalImageFetcher(ImageFetcher):
             if file:
                 file.close()

-    def hasFile(self, filename, progresscb):
-        try:
-            tmpfile = self.acquireFile(filename, progresscb)
-            if tmpfile is not None:
-                os.unlink(tmpfile)
+    def hasFile(self, filename):
+        if os.path.exists(os.path.abspath(self.srcdir + "/" + filename)):
             return True
-        except Exception, e:
-            logging.debug("Cannot find file %s" % filename)
+        else:
+            logging.debug("local hasFile: Couldn't find %s" % \
+                          (self.srcdir + "/" + filename))
             return False

 # This is a fetcher capable of extracting files from a NFS server
diff -r 375d3f83844c -r 96dd51a7e06b virtinst/OSDistro.py
--- a/virtinst/OSDistro.py	Fri Feb 01 09:56:47 2008 -0500
+++ b/virtinst/OSDistro.py	Fri Feb 01 17:30:06 2008 -0500
@@ -26,7 +26,6 @@ import tempfile
 import tempfile

 from virtinst import _virtinst as _
-from ImageFetcher import ImageFetcher

 # An image store is a base class for retrieving either a bootable
 # ISO image, or a kernel+initrd  pair for a particular OS distribution
@@ -80,10 +79,10 @@ class RedHatDistro(Distro):
 # Fedora distro check
 class FedoraDistro(RedHatDistro):
     def isValidStore(self, fetcher, progresscb):
-        if fetcher.hasFile("fedora.css", progresscb):
+        if fetcher.hasFile("fedora.css"):
             logging.debug("Detected a Fedora distro")
             return True
-        if fetcher.hasFile("Fedora", progresscb):
+        if fetcher.hasFile("Fedora"):
             logging.debug("Detected a Fedora distro")
             return True
         return False
@@ -91,13 +90,13 @@ class FedoraDistro(RedHatDistro):
 # Fedora distro check
 class RHELDistro(RedHatDistro):
     def isValidStore(self, fetcher, progresscb):
-        if fetcher.hasFile("Server", progresscb):
+        if fetcher.hasFile("Server"):
             logging.debug("Detected a RHEL 5 Server distro")
             return True
-        if fetcher.hasFile("Client", progresscb):
+        if fetcher.hasFile("Client"):
             logging.debug("Detected a RHEL 5 Client distro")
             return True
-        if fetcher.hasFile("RedHat", progresscb):
+        if fetcher.hasFile("RedHat"):
             logging.debug("Detected a RHEL 4 distro")
             return True
         return False
@@ -105,7 +104,7 @@ class RHELDistro(RedHatDistro):
 # CentOS distro check
 class CentOSDistro(RedHatDistro):
     def isValidStore(self, fetcher, progresscb):
-        if fetcher.hasFile("CentOS", progresscb):
+        if fetcher.hasFile("CentOS"):
             logging.debug("Detected a CentOS distro")
             return True
         return False
@@ -186,9 +185,9 @@ class SuseDistro(Distro):
                                 kernelrpm = dir + "/" + filename

             if kernelrpm is None:
-                raise _("Unable to determine kernel RPM path")
+                raise Exception(_("Unable to determine kernel RPM path"))
             if installinitrdrpm is None:
-                raise _("Unable to determine install-initrd RPM path")
+                raise Exception(_("Unable to determine install-initrd RPM path"))
             return (kernelrpm, installinitrdrpm)
         finally:
             filelistData.close()
@@ -309,18 +308,9 @@ class SuseDistro(Distro):
     def isValidStore(self, fetcher, progresscb):
         # Suse distros always have a 'directory.yast' file in the top
         # level of install tree, which we use as the magic check
-        ignore = None
-        try:
-            try:
-                ignore = fetcher.acquireFile("directory.yast", progresscb)
-                logging.debug("Detected a Suse distro")
-                return True
-            except ValueError, e:
-                logging.debug("Doesn't look like a Suse distro " + str(e))
-                pass
-        finally:
-            if ignore is not None:
-                os.unlink(ignore)
+        if fetcher.hasFile("directory.yast"):
+            logging.debug("Detected a Suse distro.")
+            return True
         return False

 
@@ -333,7 +323,14 @@ class DebianDistro(Distro):
         file = None
         try:
             try:
-                file = fetcher.acquireFile("current/images/MANIFEST", progresscb)
+                file = None
+                if fetcher.hasFile("current/images/MANIFEST"):
+                    file = fetcher.acquireFile("current/images/MANIFEST", 
+                                               progresscb)
+                else:
+                    logging.debug("Doesn't look like a Debian distro.")
+                    return False
+                    
             except ValueError, e:
                 logging.debug("Doesn't look like a Debian distro " + str(e))
                 return False
Sandor W. Sklar | 2 Feb 01:13
Picon
Favicon

Re: Creating a yum repo (via cobbler) from "scratch"?


On Feb 1, 2008, at 7:16 AM, Michael DeHaan wrote:

> Adam Rosenwald wrote:
>
> Thanks for the help Adam.

Yes, again, thank you very much!
>
>
> A few quick comments:
> -- you don't actually have to call createrepo yourself, cobbler will  
> do it for you.

OK, that is good to know.

>
> -- we don't currently have the ability to assign a list of repos to  
> a distro, only a profile, however that might be a good idea for a  
> future addition.
>
> -- there's a quick writeup on some of the repo management stuff  
> here:  http://cobbler.et.redhat.com/cobbler-repos.php

Thanks, I did read through that page (honest!)  My new question is, is  
there any way around keeping two copies of each RPM?  For example, I  
created my repo "base" in /var/repo/tsm-client/base, and then ran  
"cobbler repo add ..." and "cobbler reposync", which all worked  
perfectly.

Now, I have ...

# find /var -name TIVsm-API64.i386.rpm
/var/repo/tsm-client/base/TIVsm-API64.i386.rpm
/var/www/cobbler/repo_mirror/tsm-client/base/TIVsm-API64.i386.rpm

... two copies of each of the RPMs.  I'd love to be able to delete  
the /var/repo/tsm-client directory, and if I have newer or changed  
RPMs to go in that repository, to be able to just drop them into /var/ 
www/cobbler/repo_mirror/tsm-client/base/ and then run something like  
"cobbler reposync" to have it automagically find the new files and do  
the right thing.

Any chance that this is actually possible?  Thanks, again ... I'm  
still amazed at how quickly I was able to get this far!

	-s-
Sandor W. Sklar | 2 Feb 02:35
Picon
Favicon

Changing items in /tftpboot/pxelinux.cfg/{MACADDRESS}


We've got a bunch of Sun X4200 M2 systems, and on these systems, the  
device physically labeled "NET0" actually comes up as eth2, when  
booted from any RH-like operating system.

My problem is I can't determine a way of changing this value in the / 
tftpboot/pxelinux.cfg/MA:CA:DD:RE:SS file that gets generated by  
cobbler.  I wind up with an entry like ...

	append ksdevice=eth0 lang=  console=ttyS0,9600n8 text  
syslog=xxxxx.xxxx.xxx:25150 kssendmac  initrd=/images/rhel5Server- 
x86_64/initrd.img ks=http://xxxxx.xxxx.xxx/cblr/kickstarts_sys/xxxxx.xxx.xxx/ks.cfg

I don't want to change the "default" file in there, because for most  
of my systems, eth0 is the right device.  I tried setting -- 
kopts="ksdevice=eth2" but that didn't make a difference in the  
pxelinux.cfg/... file.

Am I missing something obvious?  Thanks,

	-s-
Sandor W. Sklar | 3 Feb 06:58
Picon
Favicon

Re: Changing items in /tftpboot/pxelinux.cfg/{MACADDRESS}

Sorry for responding to my own question, but I figured it out.

Setting --kopts="ksdevice=eth2" does work, but ONLY if you also  
specify the MAC address when you add the system.

	-s-

On Feb 1, 2008, at 5:35 PM, Sandor W. Sklar wrote:

>
> We've got a bunch of Sun X4200 M2 systems, and on these systems, the  
> device physically labeled "NET0" actually comes up as eth2, when  
> booted from any RH-like operating system.
>
> My problem is I can't determine a way of changing this value in the / 
> tftpboot/pxelinux.cfg/MA:CA:DD:RE:SS file that gets generated by  
> cobbler.  I wind up with an entry like ...
>
> 	append ksdevice=eth0 lang=  console=ttyS0,9600n8 text  
> syslog=xxxxx.xxxx.xxx:25150 kssendmac  initrd=/images/rhel5Server- 
> x86_64/initrd.img ks=http://xxxxx.xxxx.xxx/cblr/kickstarts_sys/xxxxx.xxx.xxx/ks.cfg
>
> I don't want to change the "default" file in there, because for most  
> of my systems, eth0 is the right device.  I tried setting -- 
> kopts="ksdevice=eth2" but that didn't make a difference in the  
> pxelinux.cfg/... file.
>
> Am I missing something obvious?  Thanks,
>
> 	-s-
>
> _______________________________________________
> et-mgmt-tools mailing list
> et-mgmt-tools@...
> https://www.redhat.com/mailman/listinfo/et-mgmt-tools

Gmane