[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: first weekly debian-installer status report



Vaidhyanathan Mayilrangam wrote:
> > 	- kernel module udebs [UNCLAIMED]
> > 		Not started. We will need various sets of kernel modules;
> > 		one such set is NIC drivers. Each set goes in a udeb; there
> > 		probably has to be a system to build the whole kernel and
> > 		udebs.
> I already did some stuff on this and got the different modules built. So if I
> can get the mechanism to build udebs, I can upload them and 
> YEAH.. I claim this :)

What are your thought on how this should integrate with our normal
kernel deb building procedure and all that? (If at all?)

Ok, a 5 minute primer on building udebs. 

I build udebs by asking debhelper to build a normal .deb, except at the
very last step, I force it to use the ".udeb' extention. The problems
that show up are:

1. dpkg-gencontrol has an annoying habit of guessing what .deb you are
   going to build, and listing it in debian/files. This later propigates to
   your .changes file, and things blow up since you didn't really build
   a .deb. The fix is to tell dpkg-gencontrol to write to some other
   file than debian/files, which you then delete/ignore. With debhelper,
   I do it like this:
   	 dh_gencontrol -- -fdebian/files~
2. Since dpkg-gencontrol doesn't register the file, you have to do that
   manually:
   	 dpkg-distaddfile $(FILENAME) debian-installer $(PRIORITY)
3. And finally you have to generate the package with a .udeb extention,
   which looks like this in debhelper (with dpkg-deb -b, you just
   specify a full filename, rather than the .. directory).
	 dh_builddeb --filename=$(FILENAME)
   (This --filename switch requires debhelper (>= 2.1.18))
4. The above commands use several handy variables, which I set like so:
    PACKAGE=$(shell dh_listpackages)
    VERSION=$(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2)
    ARCH=$(shell dpkg --print-architecture)
    FILENAME=$(PACKAGE)_$(VERSION)_$(ARCH).udeb
    PRIORITY=$(shell grep ^Priority: debian/control | cut -d ' ' -f 2)
5. Even if you do all this, your dpkg-buildpackage run will fail, unless
   you are using the (unreleased) dpkg-dev 1.7.0. The patch is trivial
   though.

> > 	- library reduction [UNCLAIMED]
> > 		Not started. There is code in the boot-floppies that may
> > 		be usable, but this is one of the hardest parts.
> > 	- install media build system [UNCLAIMED]
> > 		Not started. Puts all the peices together and makes
> > 		install media.
> I can help with both of the above..

I'm sure we'll need lots of help on these, they are back-burner for now
though.

> PS: I am getting 4 P-133 for building a cluster.. If needed, I can set aside 
> one of the machines to test the new installer on.. Let me know..

I'm hoping we can test the first stages in a chroot, and leter stages by
sacrificing nothing but a swap partition from a otherwise unharmed
debian system.


-- 
see shy jo



Reply to: