[syslinux] Kernel command line truncation

Firstname Surname hardum at gmail.com
Sun Nov 11 15:01:54 PST 2007


You are right.
/proc/cmdline contains all parameters set in APPEND directive

I thought that it was syslinux bug
I was confused with the folowing code
=====================
		; Copy the command line from high memory
		mov si,cmd_line_here
		mov cx,125		; Max cmdline len (minus space and CR)
		mov di,081h		; Offset in PSP for command line
		mov al,' '		; DOS command lines begin with a space
		stosb
=====================
code from the comboot.inc


I checked kernel command line parameters through the environment
variables in init
And some of them that I had set in APPEND were missing.
I think the reason is in 2.4 kernel source linux\init\main.c
======================================
/*
 * Boot command-line arguments
 */
#define MAX_INIT_ARGS 8
#define MAX_INIT_ENVS 8
======================================
Kernel  limits the number of arguments and variables that are passed to init

Thanks a lot for advice!


2007/11/10, H. Peter Anvin <hpa at zytor.com>:
> Firstname Surname wrote:
> > Yes, I know that 2.4 kernel sereies has limitation of 255 symbols or
> > additional arguments.
> > (There are some difficulties in moving to 2.6 because of legasy
> > software that need to be supported)
> >
> > But ... as I wrote the problem is that after kernel boot only about
> > 130 symbols from syslinux.cfg APPEND directive are available. The rest
> > of the string from APPEND directive is truncated. The whole string in
> > APPEND directive is shorter then 255 symbols.
> > That is a very strange thing
> >
>
> Don't have a good explanation for that at this time.  What does
> /proc/cmdline show?
>
>         -hpa
>
> _______________________________________________
> SYSLINUX mailing list
> Submissions to SYSLINUX at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux
> Please do not send private replies to mailing list traffic.
>
>




More information about the Syslinux mailing list