Thank you geninitrd for screwing my evening

Cezary Krzyzanowski dhubleizh at o2.pl
Wed May 16 08:33:24 CEST 2007


Dnia 15-05-2007, wto o godzinie 22:33 +0200, Patryk Zawadzki napisał(a):
> Please stop changing geninitrd to your liking without performing
> sanity checks FIRST.
> 
A the initramfs was my idea in the first place I feel responsible to
respond. I'm sorry for You screwed up evening. Nevertheless there's
nothing I could do to prevent it.

http://www.mail-archive.com/pld-devel-en@lists.pld-linux.org/msg02492.html
http://www.mail-archive.com/pld-devel-en@lists.pld-linux.org/msg02508.html

As You see I've asked for some checkups of the scripts and the checkups
and rewrites have been done.

> - geninitrd generates initromfs images by default (why isbeyond my
> imagination, I can only think about bootsplash bling bling here)

As it supposed to do in TH (the development version - totally not meant
for server usage). AC defaults to romfs. Bootsplash doesn't need
initramfs - fbsplash needs. And initramfs is the way to do booting up in
upstream. Look it up on i.e. kernel lists if You please.

> - initromfs uses the following magic to determine the device
> (copy-pasted for your entertainment):
> 
> BEGIN {
>     num_pattern_short = "[0-9][0-9][0-9]";
>     num_pattern = "[0-9]" num_pattern_short;
>     dev_pattern = "[hms][a-z][a-z]([0-9])+";
>     partition = "no_partition_found";
>     min = -1; maj = -1;
> 
>     gsub(/.*root=/,NIL,c);
>     gsub(/ .*/,NIL,c);
> 
>     sub("^0x", "", c);
>     if (c ~ "^" num_pattern_short "$") sub("^", "0", c);
>     if (c ~ "^" num_pattern  "$") {
>         maj = sprintf("%d",substr(c,1,2));
>         min = sprintf("%d",substr(c,3));
>     }
>     if (c ~ "^\/dev\/" dev_pattern "$") sub("^/dev/","", c);
>     if (c ~ "^" dev_pattern "$") partition = c;
> }
> 
> - /dev/vgsys/* does not seem to match any of these clever rules, but
> lo and behold as we have an alternative way...
> 
> - root=fe00 does not match any of these either, what a clever
> coincidence as THE FUCKING LVM2 DEVICE HAPPENS TO BE (major, minor)
> exactly 254, 0

Well, since You obviously have the equipment to test it, as I didn't and
don't have now as well, I suggest, for You as a PLD developer, to add
some other 'magic' rules that would match Your equipment.

P.S.
I'd guess that UUID recognizing would be great here, as It'd solve the
numbers and devices magic. 

Once more sorry for Your last time.
Cz at rny



More information about the pld-devel-en mailing list