Re: [Bugme-new] [Bug 9217] New: CONFIG_CMDLINE doesn't pass tokernel

From: Andrew Morton
Date: Thu Oct 25 2007 - 16:05:45 EST


On Thu, 25 Oct 2007 14:43:36 +0100
Richard Purdie <rpurdie@xxxxxxxxx> wrote:

> On Thu, 2007-10-25 at 14:23 +0200, Lennert Buytenhek wrote:
> > On Wed, Oct 24, 2007 at 10:35:33PM -0500, Bill Gatliff wrote:
> >
> > > >Something broke CONFIG_CMDLINE of ARM (at least) between 2.6.22 and 2.6.23.
> > > >
> > > >I don't know whether it was an ARM patch one of those kernel-wide changes.
> > > >We have futzed with the command-line parsing a bit recently, but the 2.6.23
> > > >changelog doesn't suggest anything obvious.
> > >
> > > What does the affected system's bootloader pass in r2? If it's nonzero,
> > > ARM's 2.6.23 may interpret it as being an ATAGS pointer. And when that
> > > happens, the system prefers the ATAGS over CONFIG_CMDLINE.
> > >
> > > There's sanity checking in __vet_atags, but maybe it isn't enough.
> > > Other than that, I can't see anything yet.
> >
> > If this is the SHARP Shepherd (which seems to be the Zaurus SL-C750,
> > which looks like it's the one the submitter is using), it's not setting
> > boot_params at all:
> >
> > MACHINE_START(SHEPHERD, "SHARP Shepherd")
> > .phys_io = 0x40000000,
> > .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
> > .fixup = fixup_corgi,
> > .map_io = pxa_map_io,
> > .init_irq = pxa25x_init_irq,
> > .init_machine = corgi_init,
> > .timer = &pxa_timer,
> > MACHINE_END
>
> The Zaurus has an insane bootloader which doesn't pass any sane values,
> it doesn't support the right (well, any) machine number and the
> commandline it passes is unchangeable and bogus too. The approach has
> always therefore been to pretend it doesn't exist and used a commandline
> compiled into the kernel.
>
> Could the original bug reporter please report what commandline the
> kernel actually uses please? In theory it can only be either:
>
> * the one being compiled in with CONFIG_CMDLINE
> * the one hardcoded into the bootloader
>
> but I'd be surprised it boots at all with the latter!
>

It was in the inital report, at
http://bugzilla.kernel.org/show_bug.cgi?id=9217 :


: I try to upgrade kernel from 2.6.22.9 to 2.6.23.
: 2.6.22.9 works correct. Kernel 2.6.23 doesn't use CONFIG_CMDLINE and doesn't
: pass bootparams:
: CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd
: root=/dev/mmcblk0p1 rootfstype=ext3 rw rootdelay=5"
: But kernel still try to mount /dev/mtdblock2 using jffs2.
: Steps to reproduce:
: Compile kernel with CONFIG_CMDLINE and try to boot.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/