File 0001-Use-tftp-1M-blocksize.patch of Package lilo
From 27e4929bbcc2dc8cb71e157cea538e25105d5b64 Mon Sep 17 00:00:00 2001
From: Dinar Valeev <dvaleev@suse.com>
Date: Wed, 30 Oct 2013 12:42:50 +0100
Subject: [PATCH] Use tftp 1M blocksize.
Fixes large initrds download
Signed-off-by: Dinar Valeev <dvaleev@suse.com>
---
second/fs_of.c | 5 +++--
second/parse_device_path.c | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/second/fs_of.c b/second/fs_of.c
index e369150..fec765d 100644
--- a/second/fs_of.c
+++ b/second/fs_of.c
@@ -44,8 +44,8 @@
#include <errors.h>
#include <debug.h>
-#define LOAD_BUFFER_BASE (24*1024*1024)
-#define LOAD_BUFFER_SIZE (24*1024*1024)
+#define LOAD_BUFFER_BASE (64*1024*1024)
+#define LOAD_BUFFER_SIZE (64*1024*1024)
#define LOAD_BUFFER_TRIES 42
static int of_open(struct boot_file_t *file, const char *dev_name, struct partition_t *part, const char *file_name)
@@ -134,6 +134,7 @@ static int of_net_download(unsigned char **buffer, ihandle of_device)
prom_printf("yaboot downloaded %08x bytes via network, download rate %d KB/s.\n", ret, ms);
if (ms > 42 && ms < 666)
prom_printf("\n A download rate of %d KB/s is really slow, isn't it? \n\n", ms);
+ prom_release(p, LOAD_BUFFER_SIZE);
} else
prom_release(p, LOAD_BUFFER_SIZE);
diff --git a/second/parse_device_path.c b/second/parse_device_path.c
index 1ec3a48..38317bd 100644
--- a/second/parse_device_path.c
+++ b/second/parse_device_path.c
@@ -464,7 +464,7 @@ static int get_tftp_ipv4_ibm_CAS(struct path_description *path, const char *netd
ipv4_to_ascii(buf, netmask_ipv4);
- sprintf(p1 + i, "%d,%d,%s,%d", bootp_retry, tftp_retry, buf, tftp_blocksize);
+ sprintf(p1 + i, "%d,%d,%s,%d", bootp_retry, tftp_retry, buf, 1024);
path_net_after(path) = p1;
}
--
1.7.12.4