Pantek Library
Hosting Provided By
CybrHost
High Speed Hosting

D-I Etch+1/2 kernel selection (was: Beta1 missing decisions and possible timeline)

From: Frans Pop <elendil(at)planet.nl>
Date: Sun Feb 03 2008 - 19:53:43 EST


On Sunday 03 February 2008, Frans Pop wrote:

> I have been quite disappointed that there was no real follow-up to my
> mails, which now leaves us in the situation that there is basically no
> support yet to select the correct kernel for etch+1/2.

Being the sucker that I am, I did start to look into this after venting my frustration in the previous mail. I've looked at several options and initially the conclusion was that supporting selection for the etch+1/2 kernel was far from trivial and very likely to be messy.

However, after some false starts that were all way to complex, failure prone and ugly, I decided to drag out an old invention: the "etch-support udeb".

Sorry for the long explanation below, but I really want people to understand what is happening and why so we are agreed on this implementation and don't have nasty surprises after the point release.

The required patches for the installer are attached. I have successfully tested them using a custom built netinst CD that had both the 2.6.18 and 2.6.22-686 kernels on it.

Because of changes in the installation procedure since I implemented the "sarge-support" udeb, I first needed to ensure installation of the etch-support udeb is queued in cdrom-detect and iso-scan. With that, we will have the following situation:
- cdrom-detect: queues etch-support for netinst and full CDs

  • iso-scan: queues etch-support for hd-media
  • choose-mirror: queues etch-support for netboot/floppy-net/businesscard CD

The trick in this is that the udeb will be automatically installed _only_ if etch is being installed _and_ the lenny installer is being used. This is the case if:
- the user is using an Etch netinst or full CD that has the Lenny installer
  on it (this is option 4 from [1])
- the user uses a netboot image or businesscard CD and boots the installer
  with 'suite=etch' or 'suite=stable', or (at medium/low prio) selects   stable (this is option 3 from [1])

I then added a hack in base-installer which does the following. If the (new) debconf template "base-installer/kernel/altmeta" has a value (e.g. 'etchnhalf'), it will add new potential kernel defaults before the the "normal" kernel defaults, with that value postfixed. I.e, if the normal possible defaults are:

Do you need help?X

   linux-image-2.6-686
   linux-image-2.6-486
this now becomes:

   linux-image-2.6-686-etchnhalf
   linux-image-2.6-486-etchnhalf
   linux-image-2.6-686
   linux-image-2.6-486

Finally I created the etch-support udeb which does two things: 1) add an early base-installer hook script that sets the 'altmeta'

   template
2) add an partman init.d hook script that changes the default

   inode_size from 256 to 128 (only for i386 and amd64) [2]

The result of 1) is IMO exactly what we want:
- the installer will automagically prefer the Etch+1/2 kernel [4]
  (preseeding of the exact image as mentioned in [1] is /not/ needed)
- the installer will also prefer the correct flavor (which was the main
  issue with my earlier attempts)
- the installer will also install the etch+1/2 kernel meta package, which
  ensures users will automatically get ABI-changing security updates
- if for some reason the etchnhalf kernels are not available, the installer
  will fall back to the 2.6.18 kernels
- all this only happens if the Lenny installer is used and thus installs
  using the regular (updated) Etch installer are not changed at all

There is one issue, which I will detail in a follow-up mail to debian-boot only. The short summary is that for arm the etchnhalf kernel meta packages are currently not considered "installable", so as things stand now the above would not work for arm.

There are still things to decide, and IMO consensus on this should be reached soon!
- The naming of the etch+1/2 kernel meta packages is now suddenly essential
  for the installer and should thus be decided on ASAP.
- There has as yet been no discussion about exactly which "Etch + Lenny D-I"
  CD images to create and exactly what should be included on them [3].   (Hell, the whole "Etch + Lenny D-I" concept hasn't even really been OKed.)   Because of mirror space issues _and_ because of required preparations on   the debian-cd side this _really_ needs to be discussed with Sledge   urgently.
- The changes in the installer need to be implemented and uploaded,
  preferably before the upcoming Beta release, i.e. *very quickly*.

One final remark.
Because of the use of the Lenny installer, the installation procedure will be slightly different (improved!) from the Etch installer. Most relevant changes:
- automatic hardware clock update from NTP server

  • by default addition of volatile.d.o besides security.d.o
  • slightly changed installation order
  • support for installation from multiple CDs from CD/DVD sets
  • more targeted prompts for whether or not to use a mirror
  • various cleanups and fixes, especially in partman
  • some preseeding changes (users should consult the Lenny installation guide for preseeding!)
Do you need more help?X

Cheers,
FJP [1] http://lists.debian.org/debian-boot/2007/12/msg00234.html [2] The reason this is needed is that grub in Etch does not support the

    new default inode size of 256 and will fail to install. See #463236     and #463123 for background.
[3] IMO we can do this only for selected arches, possibly only either

    netinst CD + full CD _or_ netinst CD + DVD, and with sets limited to     only the first image.
[4] Screenshot of kernel selection at medium priority:

    http://alioth.debian.org/~fjp/tmp/D-I_etchnhalf.png

-- 
To UNSUBSCRIBE, email to debian-cd-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Received on Mon Feb 4 07:18:03 2008

This archive was generated by hypermail 2.1.8 : Wed Mar 19 2008 - 06:57:20 EDT


Contact Us  Legal Notices  Order Services Online 
Pantek Home  Privacy Policy  IT news  Site Map  Pantek Library