]> git.ipfire.org Git - ipfire-2.x.git/blame - src/patches/grub-0.97-cmdline-size.patch
Add iptables rule to add miniupnd rules to forward chain.
[ipfire-2.x.git] / src / patches / grub-0.97-cmdline-size.patch
CommitLineData
82705b6e
MT
1diff --git a/stage2/boot.c b/stage2/boot.c
2index bf442e1..a6872e0 100644
3--- a/stage2/boot.c
4+++ b/stage2/boot.c
5@@ -241,6 +241,7 @@ load_image (char *kernel, char *arg, kernel_t suggested_type,
6 }
7
8 if (lh->version >= 0x0202)
9+ /* version 0x0202 and higher can handle 4096 */
10 lh->cmd_line_ptr = linux_data_real_addr + LINUX_CL_OFFSET;
11 else
12 {
13@@ -403,8 +404,10 @@ load_image (char *kernel, char *arg, kernel_t suggested_type,
14 {
15 char *src = skip_to (0, arg);
16 char *dest = linux_data_tmp_addr + LINUX_CL_OFFSET;
17-
18- while (dest < linux_data_tmp_addr + LINUX_CL_END_OFFSET && *src)
19+ unsigned long cl_end_offset = lh->version < 0x0202 ?
20+ LINUX_CL_END_OFFSET : LINUX_CL_END_OFFSET_202;
21+
22+ while (dest < linux_data_tmp_addr + cl_end_offset && *src)
23 *(dest++) = *(src++);
24
25 /* Old Linux kernels have problems determining the amount of
26diff --git a/stage2/shared.h b/stage2/shared.h
27index d05644b..c052480 100644
28--- a/stage2/shared.h
29+++ b/stage2/shared.h
30@@ -160,10 +160,13 @@ extern void *grub_scratch_mem;
31 #define LINUX_VID_MODE_ASK 0xFFFD
32
33 #define LINUX_CL_OFFSET 0x9000
34-#define LINUX_CL_END_OFFSET 0x90FF
35-#define LINUX_SETUP_MOVE_SIZE 0x9100
36 #define LINUX_CL_MAGIC 0xA33F
37
38+#define LINUX_CL_END_OFFSET 0x90FF
39+#define LINUX_CL_END_OFFSET_202 0x9FFF /* version 0x0202 or higher */
40+#define LINUX_SETUP_MOVE_SIZE 0xA000 /* where am I putting it? */
41+
42+
43 /*
44 * General disk stuff
45 */