4.2.8 introduced a 512 byte static buffer in osloader.c which will
probably cause the RTL8139 code to go over the 32kB limit when
executing. Here's a patch for this until 4.2.9 comes out. You will
still have to take out all the non-essential options to keep the size
down. This patch is optional for non-RTL8139 users.
--- etherboot-4.2.8/src/osloader.c Fri Sep 24 22:08:27 1999
+++ etherboot-4.2/src/osloader.c Sat Sep 25 22:18:30 1999
@@ -186,15 +186,16 @@
static int skip;
static int freebsd_aout=0, freebsd_elf=0;
static int start_offset=0, offset=0;
+ static unsigned char first_block[512];
#endif
void (*kernelentry)();
- static unsigned char first_block[512];
- union infoblock *ibp = (union infoblock *)first_block;
+ union infoblock *ibp = (union infoblock *)data;
if (block == 1)
{
- bcopy(data,first_block,len);
#ifdef FreeBSD
+ bcopy(data,first_block,sizeof(first_block));
+ ibp = (union infoblock *)first_block;
if (ibp->l[0] == 0x0000010Bl)
{
printf("FreeBSD-aout\r\n");
===========================================================================
This Mail was sent to netboot mailing list by:
Ken Yap <ken@nlc.net.au>
To get help about this list, send a mail with 'help' as the only string in
it's body to majordomo@baghira.han.de. If you have problems with this list,
send a mail to netboot-owner@baghira.han.de.
For requests or suggestions regarding this mailing list archive please write to netboot@gkminix.han.de.