From: <go...@bo...> - 2008-04-17 11:18:40
|
On Thu, 17 Apr 2008, Marc Grimme wrote: >>>>>> On a separate node, am I correct in presuming that the diet version of >>>>>> the initrd with the kernel drivers pruned and additional package >>>>>> filtering added as per the patch I sent a while back was not deemed a >>>>>> good idea? >>>>> >>>>> Thanks for reminding me. I forgot to answer, sorry. >>>>> >>>>> The idea itself is good. But originally and by concept the initrd it >>>>> designed to be an initrd used for different hardware configurations. >>>> >>>> Same initrd for multiple configurations? Why is this useful? Different >>>> configurations could also run different kernels, which would invalidate >>>> the shared initrd concept... >>> >>> No necessarily. I was a design idea and still is a kind of USP and most >>> important something other customers use. >>> >>> Just a small example why. Let's suppose you have servers from HP the same >>> Product branch (like HP DL38x) but of different generations. Then the >>> onboard nics would on older ones be the tg3/bmc5700 driver whereas newer >>> Generations use bnx2 drivers for their onboard nics. And then when >>> bringing in IBM/Sun/Dell whatever other servers it becomes more >>> complicated. And all this should be handled by one single shared boot. >>> >>> Did this explain the problem? >> >> How do you work around the fact that each node needs a different >> modprobe.conf for the different NIC/driver bindings? > > The hardware detection takes place in the initrd and the "generated" initrd is > copied during bootprocess on the rootdisk. Ah, OK. I didn't realize that this bit of NIC detection logic happens in the initrd. I thought it just went by modprobe.conf. Anyway - attached is the updated patch for create-gfs-initrd-generic.sh mkinitrd now takes the -l parameter (l for "light"). I thought about using getopt instead of getopts for long parameters, but since the current implementation uses getopts bash builtin, I decided to stick with it. When -l is passed, only modules currently loaded and those listed in modprobe.conf are loaded into the initrd. This reduces the initrd image by about 10MB (in my case from 53MB to 43MB). I have also attached the patch for chroot-lib.sh. This is the same patch I sent previously, that adds optional exclusion filtering in the rpm list files. Old format is still supported - if the 2nd filtering parameter (the one for excluding files) is ommitted, it will be ignored and the exclusion not performed. Gordan |