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

kernel-image-2.6.10 and required console changes

A 2.6.10 ia64 kernel has just been accepted into sid.  This kernel contains
some changes to the console detection code, and will require system
configuration changes for some systems.

Please read the following message from Bjorn Helgaas before upgrading:

Attached is the NEWS.Debian file I've included in the source package, which is
basically an excerpt from Bjorn's message.  The NEWS.Debian file is in in
the binary packagse yet since I haven't found the best way to do that with
kernel-image-2.6.10-ia64 (2.6.10-1) unstable; urgency=low

  WARNING: Upgrading to 2.6.10 may require console configuration changes.
  Please read the following information provided by Bjorn Helgaas:

  If you have an HP machine and you're using the MP serial console port
  (the connector labelled "console" on the 3-headed cable), this patch
  will break your console!


   1) The console device will change from /dev/ttyS0 to /dev/ttyS1,
      ttyS2, or ttyS3, so:

      1a) Edit /etc/inittab to add a getty entry for
             /dev/ttyS1 (rx4640, rx5670, rx7620, rx8620, Superdome),
             /dev/ttyS2 (rx1600), or
             /dev/ttyS3 (rx2600).

      1b) Edit /etc/securetty to add ttyS1, ttyS2, or ttyS3.

      1c) Leave the existing ttyS0 entries in /etc/inittab and  
          /etc/securetty so you can still boot old kernels.

   2) Edit /etc/elilo.conf to remove any "console=" arguments (see [1]).

   3) Run elilo to install the bootloader with new configuration.

   4) Reboot and use the EFI boot option maintenance menu to select
      exactly one device for console output, input, and standard error.
      Then do a cold reset so the changes take effect.

      For the MP console, be careful to select the device with
      "Acpi(HWP0002,700)/Pci(...)/Uart" in the path (see [2]).


    - Prior to this patch, serial device names depended on the HCDP,
      which in turn depends on EFI console settings.  After this patch,
      the naming always stays the same, regardless of firmware settings.

      For example, an rx1600 with a single built-in serial port plus
      an MP has these ports:
                                     Old             Old
                    MMIO         (EFI console    (EFI console
                   address        on builtin)     on MP port)      New
                  ----------     ------------    ------------     -----
      builtin     0xff5e0000        ttyS0           ttyS1         ttyS0
      MP UPS      0xf8031000        ttyS1           ttyS2         ttyS1
      MP Console  0xf8030000        ttyS2           ttyS0         ttyS2
      MP 2        0xf8030010        ttyS3           ttyS3         ttyS3
      MP 3        0xf8030038        ttyS4           ttyS4         ttyS4

    - If you want to have multiple devices in the EFI console path, you
      can, but Linux won't be able to deduce which console to use, so it
      will default to using VGA.  You can use "console=hcdp" (the UART
      device from the EFI path) or "console=ttyS<n>" to select the
      device directly.


    - No kernel output after "Uncompressing Linux... done":

          -> You're using an MP port as the console and specified
             "console=ttyS0".  This port is now named something else.
             Remove the "console=" option.

          -> Multiple UARTs selected as EFI console devices, and you're
             looking at the wrong one.  Make sure only one UART is
             selected (use the EFI Boot Manager "Boot option maintenance"

          -> You're physically connected to the MP port but have a
             non-MP UART selected as EFI console device.  Either move
             the console cable to the non-MP UART, or change the EFI
             console path to the MP UART (the MP UART is the one with
             "Acpi(HWP0002,700)/Pci(...)/Uart" in it.)

    - Long pause (60+ seconds) between "Uncompressing Linux... done"
      and start of kernel output:

          -> No early console, probably because you used "console=ttyS<n>".
             Remove the "console=" option.

    - Kernel and init script output works fine, but no "login:" prompt:

          -> Add getty entry to /etc/inittab for console tty.  Use the table
             in (1a) above or look for the "Adding console on ttyS<n>" message
             that tells you which device is the console.

    - "login:" prompt, but can't login as root:

          -> Add entry to /etc/securetty for console tty.

  [1] When the EFI console path contains exactly one device (either
      serial or VGA), 2.6.6 and newer kernels default to that device
      automatically.  So if you remove "console=" arguments, you can use
      the same elilo configuration to boot any 2.6.6 or newer kernel
      with or without this patch.

      If you need to boot kernels older than 2.6.6 (including RHEL3 and
      SLES9), keep an 'append="console=ttyS0"' line in those elilo.conf

      Non-HP machines will still need "console=" for serial consoles
      because they don't supply the HCDP table.

  [2] The HP management card (MP) causes confusion because it is always
      active as an EFI console, even if it doesn't appear in the EFI
      console path.  If your console path is set to a non-MP UART, and
      you happen to be attached to the MP UART, everything works in EFI,
      but the kernel will think the non-MP UART is the console, so you
      won't see any kernel output.

 -- dann frazier <dannf@debian.org>  Mon, 10 Jan 2005 00:19:00 -0700

Reply to: