Re: COMMAND_LINE_SIZE increasing in 2.6.11-rc1-bk6

From: Matt Domsch
Date: Fri Jan 21 2005 - 12:49:42 EST


On Fri, Jan 21, 2005 at 08:11:44AM +0100, Andi Kleen wrote:
> > I really suggest to push this limit to 4k. My reason is that under UML I
> > need to put a lot of stuff in command line and uml crash if I not extend
> > this limit. Can we make it depend on arhitecture?
>
> It's dependent on the architecture already. I would like to enable
> it on i386/x86-64 because the kernel command line is often used
> to pass parameters to installers, and having a small limit there
> can be awkward.
>
> But first need to figure out what went wrong with EDD.
>
> Matt D., do you have thoughts on this?

It is definitely boot-loader dependent. Simply changing
COMMAND_LINE_SIZE from 256 to 2048 in the kernel isn't enough.

There are 2 ways the command line is passed from the boot loader into
the kernel.

Boot loader version <= 0x0201 (which LILO uses)
I believe the command line is located at the end of what was known as
the 'empty zero page', now known as the boot parameters. This part is
black magic to me.

Boot loader version >= 0x0202 (which GRUB uses)
command line can be essentially any size, located anywhere in memory,
and the boot loader tells the kernel where to find it. The EDD real
mode code uses only this case for parsing the command line, and if an
older loader is used, EDD skips parsing the command line looking
for its options.


There's little space left in the boot parameters block, my EDD code
uses nearly all that was remaining, and could use some more if it were
available. Having a longer command line would be nice too. I spoke
with hpa at OLS last summer about this, and he offered to help.
Peter?


Thanks,
Matt

--
Matt Domsch
Software Architect
Dell Linux Solutions linux.dell.com & www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com
-
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/