Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 136652 - Pegasos default kernel args are broken/wrong
Summary: Pegasos default kernel args are broken/wrong
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Release Media
Classification: Unclassified
Component: InstallCD (show other bugs)
Hardware: PPC Linux
: High normal (vote)
Assignee: PPC Porters
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-13 06:31 UTC by Matt Sealey, Genesi
Modified: 2013-01-21 19:55 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Sealey, Genesi 2006-06-13 06:31:48 UTC
the default Pegasos kernel args on Gentoo 2006.0 are set to:

console=ttyS0,115200 console=tty0 init=/linuxrc looptype=squashfs loop=/image.squashfs udev nodevfs cdroot root=/dev/ram0

Problems:

#1: ttyS0 is the IrDA port, it should be ttyS1 for serial
#2: ttyS1 should have the 8n1 bit set just in case I think
#3: there seems to be a radeon framebuffer booting in the kernel which is not mentioned, and it loads a mode like 1280x1024@75Hz - which a lot of monitors won't support.

For problem #3 I would suggest knocking the default resolution down to 800x600@60Hz since this is the SVGA baseline and there is hardly a display on the planet which will not display it. It is still bigger than the 80x25 display you get on text mode, and it will also display on a TV-out for the vast majority of cards.

For LCD panels he framebuffer drivers nearly all use DDC/EDID to find the maximum display resolution if none is specified, which will please everyone with an LCD panel. Forcing 75Hz breaks on 5 panels we have access to here at Genesi (multiple AOC, Samsung widescreen, Dell widescreen..)

The kernel and documentation should be updated to reflect this.
Comment 1 Chris Gianelloni (RETIRED) gentoo-dev 2006-06-13 06:37:45 UTC
Just curious, but what are you doing to boot the Pegasos?  On mine (Thanks Pieter!), I booted to the menu, and was able to choose the framebuffer.  I'll make sure the serial gets fixed up, though.  Thanks for pointing that out.
Comment 2 Matt Sealey, Genesi 2006-06-13 06:42:43 UTC
I'm playing with our in-development firmware and just did:

boot cd boot/pegasos

Expecting to use the serial console mostly, but my monitor came up with an OUT OF SYNC RANGE... I don't think video resolution or framebuffer should be set by default in the kernel if the menu is to be used to do that.

The ttyS1 thing may be fixed in the menu but that doesn't help people who read the manual so they can enter the arguments by hand..

I so wish Linux would merge inbuilt and command line specified arguments :3
Comment 3 Lars Weiler (RETIRED) gentoo-dev 2006-06-13 11:17:27 UTC
Okay, the issue with ttyS0 might be my fault.  But I had the Pegasos once on serial and running from CD.  So I wonder, that the serial is the ttyS1 and ttyS0 is the outletless IrDA-Port.  Will be changed with the next release.

For video-resolution I could take out the framebuffer completely.  It's a leftover from old times when we didn't start with a Forth-menu.  The handbook says you should boot with  boot cd /boot/menu  so that you get a small bootmenu where you can choose your desired resolution.
Comment 4 Matt Sealey, Genesi 2006-06-13 11:26:19 UTC
Indeed I'd propose that

1) by default the framebuffer is not specified at least in the compiled kernel args (user can make an exception from the menu or manually) 
2) ttyS1 is changed and 8n1 is added (to match the default serial port settings the firmware uses)

The IrDA port is on the motherboard frontpanel. People can connect it with a readily available IrDA adapter (standard pinout) but it's not very good for serial debug as it is not a straight text-output-device.
Comment 5 Lars Weiler (RETIRED) gentoo-dev 2006-08-12 03:15:23 UTC
(In reply to comment #0)
> #1: ttyS0 is the IrDA port, it should be ttyS1 for serial

This is simply wrong.

I can boot on serial only when I use ttyS0.  With ttyS1 I don't have any output.

So, console=ttyS0,115200 will be in the kernel args.  The further option ,8N1 will not show any output on the serial.  So it's omitted as well.  And there must not be another console option (like console=tty1).  Otherwise this console will be used.

As a final note, I was able to boot the 2006.1-CD on serial only.
Comment 6 Chris Gianelloni (RETIRED) gentoo-dev 2006-09-01 14:17:04 UTC
Was there some change in the firmware that might have caused this?  I've got to use ttyS1 myself.

What I would like to see to resolve this is to remove the serial options from the kernel, completely.  We can then add options to the forth menu for both ttyS0 and ttyS1 for serial console.  This should solve the problems for everyone, no?
Comment 7 Matt Sealey, Genesi 2006-09-04 01:23:35 UTC
No. In case the graphics driver doesn't come up, serial console is all the user has. The kernel should be popping that up by default. If they had a serial-connected device which doesn't like being sent a stream of VT100 terminal data, then changing the option in the kernel won't help much; the Pegasos pumps out it's early BIOS boot info there (because at that time there is no screen and it really does need to be pushed out)

The correct argument is ttyS1. if any developer finds this is broken and ttyS0 works, they have a weird system :(
Comment 8 Chris Gianelloni (RETIRED) gentoo-dev 2006-09-05 09:49:05 UTC
Ehh... I get the forth menu over serial, so I can choose options there.  Why is it not acceptable to have the options on the forth menu?  This would bring the Pegasos in line with *every* other hardware platform supported by Gentoo, and would allow for choosing to have the /dev/console link on either the video or serial consoles, which is a much better solution than what we have now, anyway.
Comment 9 Lars Weiler (RETIRED) gentoo-dev 2006-09-20 02:41:30 UTC
This seems to be a kernel-/firmware-problem.  The kernel tries to work-around a firmware-issue, but did not in 2.6.17.  This is solved in 2.6.18.  Let's quote from the ChangeLog:

---8<---
commit f0ca330bc4ce00377f940b786d7ec7d848dc4102
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date:   Tue Jul 4 14:06:29 2006 +1000

    [POWERPC] Workaround Pegasos incorrect ISA "ranges"
    
    The Pegasos firmware doesn't create a valid "ranges" property for the
    ISA bridge, thus causing translation of ISA addresses and IO ports to
    fail. This fixes it, thus re-enabling proper early serial console to
    work on Pegasos.
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Paul Mackerras <paulus@samba.org>
--->8---

I'm already working on 2006.1-r1 InstallCD with a 2.6.18-kernel which will fix this (and another OldWorld-)issue.  Just waiting for gentoo-sources...
Comment 10 Raúl Porcel (RETIRED) gentoo-dev 2010-04-07 17:39:44 UTC
Wonder why ppc isn't cc'ed here since they take care of this...
Comment 11 Jorge Manuel B. S. Vicetto (RETIRED) Gentoo Infrastructure gentoo-dev 2010-12-01 15:58:08 UTC
@ppc:

Anything left to do here?
If so, perhaps this bug should be reassigned to the ppc team as there's nothing the rest of the release team can do about it.
Comment 12 Jorge Manuel B. S. Vicetto (RETIRED) Gentoo Infrastructure gentoo-dev 2011-05-13 19:11:03 UTC
There's nothing here for the release team, so I'm reassigning this to ppc.
Comment 13 Raúl Porcel (RETIRED) gentoo-dev 2013-01-21 19:55:20 UTC
No pegasos kernel in autobuilds