[syslinux] New 'quiet' behavior - optional?

Gene Cumm gene.cumm at gmail.com
Wed Nov 24 15:26:00 PST 2010


On Wed, Nov 24, 2010 at 16:59, Kenneth Morse <kdmorse at gmail.com> wrote:
> On Tue, Nov 23, 2010 at 3:03 PM, H. Peter Anvin <hpa at zytor.com> wrote:
>> Use "loglevel=4" instead of "quiet".
>>
>>        -hpa
>>
>
> If it was only a matter of kernel log messages, that would probably be
> sufficient.  Unfortunately, it's much more involved than that.  The
> presence or absence of 'quiet' on the linux kernel command line makes
> a functional difference in how the product runs.  With 'quiet'
> specified, it does suppress all kernel messages, and then goes through
> an automated series of steps, eventually launching an application for
> the user to use.   Without 'quiet' on the command line, it begins an
> interactive process, asks some start questions (which are suppressed
> when 'quiet'), then drops the user at a linux command prompt,
> expecting them to know what to use next - which is not a desired
> outcome.   While this is of course all logic stored within the initrd
> image, I do not have the ability to expand, alter, recreate, and then
> cryptographically re-sign the initrd.  (And it checks the signature).
> Even if it were possible, I would not be particularly thrilled about
> having to recreate dozens of initrds for all existing images, and
> rebuild every one I receive going forward - which is why I'm looking
> at hopefully finding a solution on the syslinux/pxelinux side.

Interesting.  That'll lead to some fun.  I'd be curious to learn more.

> In the (distant) past, the rebuilding of pxelinux.0 by end users was a
> delicate operation, discouraged, and not for the faint of heart.  Is
> this still the case?

I believe yes, yes and yes.  However, if you feel like doing so,
understand that it's at you own risk and you're supporting it.

That said, I do it successfully all the time but primarily for testing
and always use the pre-compiled binaries for production use (unless it
happens to solve a bug that impacts my production environment enough).

> If rebuilding pxelinux.0 at my end is an option, I'll just remove the
> 'quiet' behavior added in 3.71.  Going forward, were an additional
> parameter to be added to syslinux allowing the configuration to say
> "Yes, there's a quiet on the command line, it's meant for the target,
> syslinux please ignore it", it would make one installation very happy.

Rebuilding should be an option as long as nasm, gcc, and binutils
(maybe others) are recent enough.  However, a quicker and safer
suggestion is to grab 4.03, extract it, modify com32/modules/linux.c
to ignore quiet on the command line then use your new linux.c32 and
the pre-compiled binaries.  This change to a COM32 moduke is probably
easier, safer, and more reliable.

Use is pretty simple.

LABEL linux
  LINUX vmlinuz
  APPEND initrd=initrd.gz quiet myoptions

becomes

LABEL linux
  COM32 linux.c32
  APPEND vmlinuz initrd=initrd.gz quiet myoptions

> In the meantime, I'm off to crack open an initrd to reread it's logic
> (long shot to see if there are any solutions to my problem to be found
> there), and attack the syslinux source.

Good luck.

-- 
-Gene




More information about the Syslinux mailing list