osdir.com
mailing list archive

Subject: [bug #13606] GRUB should allow Linux command-line>256 bytes with boot protocol>2.02 - msg#00009

List: boot-loaders.grub.bugs

Date: Prev Next Index Thread: Prev Next Index

Follow-up Comment #2, bug #13606 (project grub):

I don't think this is a bug. From THE LINUX/I386 BOOT PROTOCOL:

**** THE KERNEL COMMAND LINE

The kernel command line has become an important way for the boot
loader to communicate with the kernel. Some of its options are also
relevant to the boot loader itself, see "special command line options"
below.

The kernel command line is a null-terminated string up to 255
characters long, plus the final null.

If the boot protocol version is 2.02 or later, the address of the
kernel command line is given by the header field cmd_line_ptr (see
above.)

If the protocol version is *not* 2.02 or higher, the kernel
command line is entered using the following protocol:

At offset 0x0020 (word), "cmd_line_magic", enter the magic
number 0xA33F.

At offset 0x0022 (word), "cmd_line_offset", enter the offset
of the kernel command line (relative to the start of the
real-mode kernel).

The kernel command line *must* be within the memory region
covered by setup_move_size, so you may need to adjust this
field.

This description sounds like the kernel still has the limitation of 255
bytes.

_______________________________________________________

Reply to this item at:

<http://savannah.gnu.org/bugs/?func=detailitem&item_id=13606>

_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/


Was this page helpful?
Yes No
Thread at a glance:

Previous Message by Date: click to view message preview

GRUB 1.90 is released

I'm happy to announce the release of GRUB 1.90. This is the first of our prereleases leading up to GRUB 2.0. We encourage you to try it, as we have done a significant amount of work towards GRUB 2. Note that this release is mainly for developers who are willing to contribute to our project. If you need a working solution immediately, you'd better to stick to GRUB Legacy at the moment. The source distribution is available from <ftp://alpha.gnu.org/gnu/grub/>. Send any questions, ideas, bug reports to <grub-devel@xxxxxxx>. Here is the relevant NEWS: New in 1.90: * Rename the project name PUPA to GRUB. Now this version is the developmental version of GRUB officially. * The GRUB emulator ``grub-emu'' is added. * Add support for newworld Mac. This should work with other PowerPC-based machines as well, if they use IEEE 1275 (Open Firmware). * Too many changes to describe. Look at ChangeLog for more details. Thanks, Okuji

Next Message by Date: click to view message preview

Re: UFS fixes

On Friday 05 August 2005 22:30, Rink Springer wrote: > Would you please consider to merge this back into grub? The code is > BSD-licensed, which is identical to the FFS include files at least. > Cromwell would prefer to remain as close to grub as possible, and I > believe other people could benefit from these patches as well. Can you send your patch for GRUB? Thanks, Okuji

Previous Message by Thread: click to view message preview

[bug #13606] GRUB should allow Linux command-line>256 bytes with boot protocol>2.02

Follow-up Comment #1, bug #13606 (project grub): Hello, Can anybody confirm this is a bug? This behavior is the same in GRUB 2... So I think it is a good time to fix it... Thanks! _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=13606> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/

Next Message by Thread: click to view message preview

[bug #13606] GRUB should allow Linux command-line>256 bytes with boot protocol>2.02

Follow-up Comment #3, bug #13606 (project grub): Thank you Yoshinori for your response!!! I've entered this issue since once I had a need for >256 command line length... And started investigate why it cannot be done. I've read the boot protocol, and it seems the old boot protocol had a limitation of one disk sector, so it had a size limit. The new boot protocol added a new pointer which has no size limit... So I've found the constants that specifies the limit, it located at include/asm-%ARCH%/setup.h and/or at include/asm-%ARCH%/param.h, variable name is COMMAND_LINE_SIZE. There is a difference between several architecture... Most have limit of 512 bytes. Why I telling this story? Since after I've prepared a kernel that can receive up to 1024 bytes of command line, I found out that although GRUB prints the long command line arguments, it truncates it before it passes the command line to the kernel. So I've failed to setup an environment that can receive long kernel command line... I think GRUB should not truncate the command line before it passes it to kernel in the new protocol (lh->cmd_line_ptr), so that people can configure their kernel to handle it. The old protocol handling should stay as is, truncate the command line and move it to the boot header. This should be very simple since you already have it as a null terminated, all you need to do is to relocated the complete buffer into static memory place and set its reference in the boot header. I will be glad to read your point of view. Later on, I will try to add a configuration option that specify the command line size (I've already done it... But I am waiting for boot loader to support it, before I am opening a request for this in kernel) _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=13606> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/
Sign up for updates to this mailing list. email:
Loading Comments...
Home | News | Patents | Sitemap | FAQ | advertise

Advertising by