1 |
robbat2 08/03/01 21:07:51 |
2 |
|
3 |
Added: 550_all_grub-0.97-long-commandline.patch |
4 |
Log: |
5 |
Long commandlines per bug #183443. |
6 |
|
7 |
Revision Changes Path |
8 |
1.1 src/patchsets/grub/0.97/550_all_grub-0.97-long-commandline.patch |
9 |
|
10 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/550_all_grub-0.97-long-commandline.patch?rev=1.1&view=markup |
11 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/550_all_grub-0.97-long-commandline.patch?rev=1.1&content-type=text/plain |
12 |
|
13 |
Index: 550_all_grub-0.97-long-commandline.patch |
14 |
=================================================================== |
15 |
Gentoo bug #183443 |
16 |
Upstream: http://savannah.gnu.org/bugs/?13606 |
17 |
|
18 |
Support commandlines with >255 characters. Common in manual netboot and |
19 |
root-on-iSCSI setups. Usable for kernels >2.6.21_rc1 |
20 |
|
21 |
diff -urNp grub-0.96/stage2/boot.c grub-0.96.new/stage2/boot.c |
22 |
--- grub-0.96/stage2/boot.c 2004-03-30 13:44:08.000000000 +0200 |
23 |
+++ grub-0.96.new/stage2/boot.c 2006-08-26 05:22:38.000000000 +0300 |
24 |
@@ -241,7 +241,7 @@ load_image (char *kernel, char *arg, ker |
25 |
} |
26 |
|
27 |
if (lh->version >= 0x0202) |
28 |
- lh->cmd_line_ptr = linux_data_real_addr + LINUX_CL_OFFSET; |
29 |
+ lh->cmd_line_ptr = linux_data_real_addr + LINUX_CL_0202_PRM_OFFSET; |
30 |
else |
31 |
{ |
32 |
lh->cl_magic = LINUX_CL_MAGIC; |
33 |
@@ -407,6 +407,14 @@ load_image (char *kernel, char *arg, ker |
34 |
while (dest < linux_data_tmp_addr + LINUX_CL_END_OFFSET && *src) |
35 |
*(dest++) = *(src++); |
36 |
|
37 |
+ { |
38 |
+ char *src = skip_to (0, arg); |
39 |
+ char *dest = linux_data_tmp_addr + LINUX_CL_0202_PRM_OFFSET; |
40 |
+ |
41 |
+ while (dest < linux_data_tmp_addr + LINUX_CL_0202_PRM_END_OFFSET && *src) |
42 |
+ *(dest++) = *(src++); |
43 |
+ } |
44 |
+ |
45 |
/* Old Linux kernels have problems determining the amount of |
46 |
the available memory. To work around this problem, we add |
47 |
the "mem" option to the kernel command line. This has its |
48 |
diff -urNp grub-0.96/stage2/shared.h grub-0.96.new/stage2/shared.h |
49 |
--- grub-0.96/stage2/shared.h 2004-06-19 19:40:09.000000000 +0300 |
50 |
+++ grub-0.96.new/stage2/shared.h 2006-08-26 05:22:24.000000000 +0300 |
51 |
@@ -161,7 +161,9 @@ extern char *grub_scratch_mem; |
52 |
|
53 |
#define LINUX_CL_OFFSET 0x9000 |
54 |
#define LINUX_CL_END_OFFSET 0x90FF |
55 |
-#define LINUX_SETUP_MOVE_SIZE 0x9100 |
56 |
+#define LINUX_CL_0202_PRM_OFFSET 0x9500 |
57 |
+#define LINUX_CL_0202_PRM_END_OFFSET 0x9FFF |
58 |
+#define LINUX_SETUP_MOVE_SIZE 0xA000 |
59 |
#define LINUX_CL_MAGIC 0xA33F |
60 |
|
61 |
/* |
62 |
|
63 |
|
64 |
|
65 |
-- |
66 |
gentoo-commits@l.g.o mailing list |