[Fedora-livecd-list] Kadischi error

Greg DeKoenigsberg gdk at redhat.com
Thu Oct 13 16:44:28 UTC 2005


On Thu, 13 Oct 2005, Darko Ilic wrote:

> On Thursday 13 October 2005 08:11, Skunk Worx wrote:
> > >>>===
> > >>>making initrd image
> > >>>/tmp/livecd-build_no12/system/lib/modules/None is not a directory.
> 
> > still working through the latest kernel:
> >
> > $ uname -a
> > Linux wombat 2.6.13-1.1526_FC4 #1 Wed Sep 28 19:15:03 EDT 2005 i586 i586
> > i386 GNU/Linux
> 
> Hmm, we are talking about updating the parent system, not the repository that 
> will be used for live CD building, right?
> 
> Well, the kernel that is running on the parent system has nothing to do with 
> the kernel on the live CD system.
> 
> I'm currently connecting to the internet through the GPRS so I can't download 
> updates and try them by my self... But, there are two things you should pay 
> attention to:
> 
> 1. What repository are you using for live CD building? FC4 or not? 
> 2. Is the python on the parent system FC4 default, or is maybe updated?
> 
> Here's the function that is supposed to resolve the kernel version:
> 
> def get_kernel_version (rootdir):
>  """Returns kernel version that is installed on the destination system"""
>  kernel_version = None
>  clear_rpm_db_files (rootdir)
>  ts = rpm.TransactionSet (rootdir)
>  for mi in ts.dbMatch ('name', 'kernel'):
>   kernel_version = "%s-%s" % (mi['version'], mi['release'])
>  clear_rpm_db_files (rootdir)
>  return kernel_version

So it's returning "None" for me as kernel_version, which means it's 
falling through all of these cases.

I used stock FC4 as the repository.  I updated a number of packages on the
system itself via yum.  I tried running against two different kernels.

Note: I did build a new kernel on this box, though I never actually ran 
it.  Could building the kernel have changed some things that Kadischi 
assumes will be present by default?

And would it help if I gave you the contents of rpm.TransactionSet 
(rootdir) when I get this error?

--g

_____________________  ____________________________________________
  Greg DeKoenigsberg ] [ the future masters of technology will have
 Community Relations ] [ to be lighthearted and intelligent.  the
             Red Hat ] [ machine easily masters the grim and the 
                     ] [ dumb.  --mcluhan



> 
> rootdir is the path to the root of the system. For the above example, it would 
> be rootdir='/tmp/livecd-build_no12/system'. You could also try it out on your 
> local system by calling get_kernel_version('/') 
> 
> Just in case, here's the clear_rpm_db_files function that is used in 
> get_kernel_version().
> 
> def clear_rpm_db_files (rootdir):
>  """Removes rpm database files in the destination if they exist"""
>  def rmpath (p):
>   try: os.remove (p)
>          except OSError: pass
>  rmpath (normalize_path ('var/lib/rpm/__db.001', rootdir))
>  rmpath (normalize_path ('var/lib/rpm/__db.002', rootdir))
>  rmpath (normalize_path ('var/lib/rpm/__db.003', rootdir))
> 
> --
> Darko
> 
> --
> Fedora-livecd-list mailing list
> Fedora-livecd-list at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-livecd-list
> 




More information about the Fedora-livecd-list mailing list