On Sat, 05 May 2007 18:30:53 +0200, Paul Menzel <[EMAIL PROTECTED]> said:
> Hi. Am Samstag, den 05.05.2007, 11:06 -0500 schrieb Manoj Srivastava: >> > Sorry. Could you please tell me where the problem is originating? >> > What is the program responsible for setting this variable? >> >> I think forgot the --initrd option to make-kpkg. With the --initrd >> argument, you get a postinst with initrd support -- and not >> otherwise. The default is not having initrd support. > I am pretty sure I did not forget it, since I copied the commands from > the bash history. And as you can see in the previous message the > --initrd option was passed to make-kpkg both times I tried. Well, the reason I think that this is not the case is that the operation of make-kpkg is pretty simple: First, getopt converts --initrd into $initrd: ,----[ make-kpkg lines 58-108 ] | use Getopt::Long; | my %option_ctl = | ( | ... | "verbose" => \$verbose, | "initrd" => \$initrd, | "revision=s" => \$revision, | ... | ); `---- Then, if the option is given, it converts into a variable declaration on the make command line: ,----[ /usr/bin/make-kpkg lines 1036-1040 ] | if ($initrd) { | $command .= " INITRD=YES "; | $alt_cmd .= " INITRD=YES " | unless -f "debian/ruleset/kernel_version.mk"; | } `---- The image postinst is generated by a simple sed command: ,----[ /usr/share/kernel-package/ruleset/targets/image.mk lines 226-233 ] | sed -e 's/=V/$(version)/g' -e 's/=IB/$(link_in_boot)/g' \ | -e 's/=ST/$(INT_STEM)/g' -e 's/=R/$(reverse_symlink)/g' \ | -e 's/=K/$(kimage)/g' -e 's/=L/$(loader)/g' \ | -e 's/=I/$(INITRD)/g' -e 's,=D,$(IMAGEDIR),g' \ | -e 's/=MD/$(initrddep)/g' \ | -e '[EMAIL PROTECTED]@$(initrdcmd)@g' -e '[EMAIL PROTECTED]@$(DEB_HOST_ARCH)@g' \ | -e '[EMAIL PROTECTED]@$(MKIMAGE)@g' -e 's/=OF/$(AM_OFFICIAL)/g' \ | -e 's/=S/$(no_symlink)/g' -e '[EMAIL PROTECTED]@$(KERNEL_ARCH)@g' \ | $(DEBDIR)/pkg/image/postinst > $(TMPTOP)/DEBIAN/postinst `---- The template that sed command operates on, to create the postinst is here: ,----[ /usr/share/kernel-package/pkg/image/postinst lines 41-45 ] | my $relative_links = ""; # target machine defined | my $initrd = "=I"; # initrd kernel | my $mkimage = "=M"; # command to generate the initrd image `---- Now, if you don't grok Perl/make, the other non-code argument is that if make-kpkg messed up something as basic as this, official kernel images would have been mucked up, and there would have been howls of other people protesting as well. Anyway, try doing this again -- start with a clean kernel source tree (no ./debian); run the command, and try installing the .deb. manoj -- There is no such thing as a problem without a gift for you in its hands. Manoj Srivastava <[EMAIL PROTECTED]> <http://www.golden-gryphon.com/> 1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]