Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
No build reason found for images:x86_64
home:lafenghu
trustedgrub
grub-long-commandline
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File grub-long-commandline of Package trustedgrub
Gentoo bug #183443, #216307 Upstream: http://savannah.gnu.org/bugs/?13606 Support commandlines with >255 characters. Common in manual netboot and root-on-iSCSI setups. Usable for kernels >2.6.21_rc1 Acked-by: Bernhard Walle <bwalle@suse.de> --- stage2/boot.c | 11 ++++++++++- stage2/shared.h | 4 +++- 2 files changed, 13 insertions(+), 2 deletions(-) Index: TrustedGRUB-1.1.3/stage2/boot.c =================================================================== --- TrustedGRUB-1.1.3.orig/stage2/boot.c +++ TrustedGRUB-1.1.3/stage2/boot.c @@ -512,7 +512,7 @@ load_image (char *kernel, char *arg, ker } if (lh->version >= 0x0202) - lh->cmd_line_ptr = linux_data_real_addr + LINUX_CL_OFFSET; + lh->cmd_line_ptr = linux_data_real_addr + LINUX_CL_0202_PRM_OFFSET; else { lh->cl_magic = LINUX_CL_MAGIC; @@ -682,6 +682,15 @@ load_image (char *kernel, char *arg, ker while (dest < linux_data_tmp_addr + LINUX_CL_END_OFFSET && *src) *(dest++) = *(src++); + { + char *src = skip_to (0, arg); + char *dest = linux_data_tmp_addr + LINUX_CL_0202_PRM_OFFSET; + + while (dest < linux_data_tmp_addr + LINUX_CL_0202_PRM_END_OFFSET && *src) + *(dest++) = *(src++); + *dest = 0; + } + /* Old Linux kernels have problems determining the amount of the available memory. To work around this problem, we add the "mem" option to the kernel command line. This has its Index: TrustedGRUB-1.1.3/stage2/shared.h =================================================================== --- TrustedGRUB-1.1.3.orig/stage2/shared.h +++ TrustedGRUB-1.1.3/stage2/shared.h @@ -176,7 +176,9 @@ extern char *grub_scratch_mem; #define LINUX_CL_OFFSET 0x9000 #define LINUX_CL_END_OFFSET 0x90FF -#define LINUX_SETUP_MOVE_SIZE 0x9100 +#define LINUX_CL_0202_PRM_OFFSET 0x9500 +#define LINUX_CL_0202_PRM_END_OFFSET 0x9FFF +#define LINUX_SETUP_MOVE_SIZE 0xA000 #define LINUX_CL_MAGIC 0xA33F /*
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor