freebsd-ports/net/etherboot/files/patch-aa
Luigi Rizzo f3b9ca556a Upgrade etherboot to 5.0.5, improve pkg documentation and use more
sensible defaults for FreeBSD. Specifically:

Makefile, distinfo:
   upgrade to etherboot 5.0.5

pkg-descr:
   improve description on installing on floppy/hd

files/patch-aa:
   implement some FreeBSD-specific defaults, namely:
   + boot1a.s
        use a FreeBSD partition type instead of a DOS partition type
   + makerom.c
        pad the image size to multiples of 8k instead of powers of 2.
        This makes the tulip image fit in the 62 sectors which are
        typically unused on the first track of hard disks (other images
        were already 16k so there is not a problem with them).
   + Makefile
        make the disk loader bin/boot1a.bin be compiled by default
   All these diffs are in the same patchfile because they are very
   short, version independent (they even work with 5.0.4 and probably
   earlier versions of etherboot) and will be contributed back to the
   developers, so it is not worthwhile to clutter the ports subtree
   with multiple patches.

Approved-by: maintainer
2002-02-18 08:50:24 +00:00

55 lines
1.9 KiB
Text

--- Config.orig Wed May 23 11:50:37 2001
+++ Config Wed May 23 11:53:08 2001
@@ -223,7 +223,7 @@
# CFLAGS32+= -DAOUT_IMAGE -DIMAGE_MULTIBOOT -DIMAGE_FREEBSD
# Change download protocol to NFS, default is TFTP
-# CFLAGS32+= -DDOWNLOAD_PROTO_NFS
+CFLAGS32+= -DDOWNLOAD_PROTO_NFS
# These flags affect the loader that is prepended to the Etherboot image
LCONFIG+= -DMOVEROM
--- boot1a.s.orig Sat Jun 23 08:56:25 2001
+++ boot1a.s Mon Feb 4 14:49:28 2002
@@ -56,7 +56,7 @@
# Partition Constants
.set PRT_OFF,0x1be # Partition offset
.set PRT_NUM,0x4 # Partitions
- .set PRT_BSD,0x1 # Partition type
+ .set PRT_BSD,0xA5 # Partition type
# Flag Bits
.set FL_PACKET,0x80 # Packet mode
--- makerom.c.orig Thu Aug 2 00:27:48 2001
+++ makerom.c Mon Feb 4 15:05:00 2002
@@ -67,7 +67,7 @@
fprintf(stderr, "BIOS extension ROM Image did not start with 0x55 0xAA\n");
size = buffer[2] * 512L;
/* sizes are usually powers of two, warn if not */
- for (i = MINROMSIZE; i < MAXROMSIZE && i < size; i *= 2)
+ for (i = MINROMSIZE; i < MAXROMSIZE && i < size; i += MINROMSIZE)
;
if (size > 0 && i > size)
fprintf(stderr, "%ld is a strange size for a boot ROM\n",
@@ -192,8 +192,8 @@
exit(1);
}
/* shrink it down to the smallest size that will do */
- for (romsize = MAXROMSIZE; romsize > MINROMSIZE && romsize >= 2*fs; )
- romsize /= 2L;
+ for (romsize = MINROMSIZE; romsize < MAXROMSIZE && romsize <fs;
+ romsize += MINROMSIZE );
rom[2] = romsize / 512L;
rom[5] = 0;
if (verbose)
--- Makefile.orig Sun Feb 17 18:59:52 2002
+++ Makefile Sun Feb 17 19:00:04 2002
@@ -166,7 +166,7 @@
BOBJS32+= bin32/serial.o bin32/timer.o
BLIB32= bin32/bootlib.a
LIBS32= $(BLIB32) $(LIBC32)
-UTILS+= bin/makerom bin/lzhuf
+UTILS+= bin/makerom bin/lzhuf $(DISKLOADER)
STDDEPS32= $(START32) $(BLIB32) $(UTILS)
UBE_DEPS32= $(UBE_START32) $(BLIB32)
# MAKEDEPS is the one target that is depended by all ROMs, so we check gcc here