forked from Lainports/freebsd-ports
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
55 lines
1.9 KiB
Text
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
|