Commit Graph

60 Commits

Author SHA1 Message Date
christos
d7dd731e02 add dependall and realdepend to the targets that we need to call in the
beginning. XXX: The real fix (handle dependencies in .BEGIN) is forthcoming.
2005-05-05 18:03:04 +00:00
christos
db24f1bda4 PR/9567: Arne H. Juul: .BEGIN targets should not use dependencies. 2005-05-01 00:31:23 +00:00
thorpej
9946bbdb7a Use CPUFLAGS for codegen options. 2004-09-06 23:41:21 +00:00
jmc
84fafa3db5 Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
2004-06-21 18:20:08 +00:00
dsl
a7e45c127a stand/lib/crt/rom is no more, no need for it in .PATH 2003-11-07 23:44:56 +00:00
lukem
f85d2d1c14 Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
2003-10-26 07:25:33 +00:00
dsl
cabc1ae936 Need to explicitly create directory behing symlink.
Clean share lib directory.
2003-10-08 18:38:43 +00:00
dsl
2ae753f095 Only build the libraries once, 2003-10-08 18:20:15 +00:00
dsl
c86f86e53a BSSTART was only used for the (now depracated) old stand/biosboot code. 2003-10-08 13:06:30 +00:00
lukem
1c33b4e6a4 Overhaul MBR handling (part 1):
<sys/bootblock.h>:
    *	Added definitions for the Master Boot Record (MBR) used by
	a variety of systems (primarily i386), including the format
	of the BIOS Parameter Block (BPB).
	This information was cribbed from a variety of sources
	including <sys/disklabel_mbr.h> which this is a superset of.

	As part of this, some data structure elements and #defines
	were renamed to be more "namespace friendly" and consistent
	with other bootblocks and MBR documentation.
	Update all uses of the old names to the new names.

<sys/disklabel_mbr.h>:
    *	Deprecated in favor of <sys/bootblock.h> (the latter is more
	"host tool" friendly).

amd64 & i386:
    *	Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
	be consistent with the naming convention of the msdosfs tools.

    *	Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
	and it's confusing to have two functionally equivalent bootblocks,
	especially given that "ufs" has multiple meanings (it could be
	a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).

    *	Rework pbr.S (the first sector of bootxx_*):
	    +	Ensure that BPB (bytes 11..89) and the partition table
		(bytes 446..509) do not contain code.
	    +	Add support for booting from FAT partitions if BOOT_FROM_FAT
		is defined.  (Only set for bootxx_msdos).
	    +	Remove "dummy" partition 3; if people want to installboot(8)
		these to the start of the disk they can use fdisk(8) to
		create a real MBR partition table...
	    +	Compile with TERSE_ERROR so it fits because of the above.
		Whilst this is less user friendly, I feel it's important
		to have a valid partition table and BPB in the MBR/PBR.

    *	Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
	with other platforms.

    *	Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
    	we can boot off FAT partitions.

    *	Crank version of /usr/mdec/boot to 3.1, and fix some of the other
	entries in the version file.

installboot(8) (i386):
    *	Read the existing MBR of the filesystem and retain the BIOS
    	Parameter Block (BPB) in bytes 11..89 and the MBR partition
	table in bytes 446..509.  (Previously installboot(8) would
	trash those two sections of the MBR.)

mbrlabel(8):
    *	Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
	to map the MBR partition type to the NetBSD disklabel type.


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
2003-10-08 04:25:43 +00:00
fvdl
94cad743e8 Use ${MACHINE} when generating the version string, not plain 'i386'. 2003-05-05 20:49:10 +00:00
lukem
83fa31ab4c be consistent with other Makefiles here and invoke "rm -f" separately to ln -s 2003-05-04 06:32:39 +00:00
lukem
1d22d3e3ca replace "ln -sf .... $@" with "rm -f $@ && ln -s .... $@"
since the latter works correctly ...
2003-05-04 06:25:10 +00:00
fvdl
91ccfbdaab Clean up machine include dir handling a tad. 2003-05-03 17:54:21 +00:00
dsl
fe778b7b70 Remove definition of LIBSA_SUPPORT_UFS2, the source will only build separate
ufsv1 and ufsv2 objects (the merged one was too large for the code that only
supported a single fs type).
2003-04-16 19:03:33 +00:00
fvdl
42614ed3f3 Add support for UFS2. UFS2 is an enhanced FFS, adding support for
64 bit block pointers, extended attribute storage, and a few
other things.

This commit does not yet include the code to manipulate the extended
storage (for e.g. ACLs), this will be done later.

Originally written by Kirk McKusick and Network Associates Laboratories for
FreeBSD.
2003-04-02 10:39:19 +00:00
drochner
a6fda7bcfb create a symlink so that eg <x86/trap.h> is found 2003-03-11 11:03:23 +00:00
briggs
f6909b984b Revert my last change. While it actually allows a build to finish,
an iso-image created from the resulting release won't boot.  I don't
know if this change is the source of that, but one more knowledgable
than I about the x86 booter needs to look at this, and I don't want
the waters muddied any more than necessary.
2003-02-03 03:03:16 +00:00
briggs
c6b14f1ca4 Add CPPFLAGS+= -D__daddr_t=int32_t. 2003-02-03 00:08:30 +00:00
dsl
81acacd723 Change all .S files to use .code16 and .code32
Support 32bit addresses >64k as valid on bios calls.
Move stack for dosboot and biosboot to >64 so stack doesn't hit data.
Use disk sector number passed by mbr code to select default partition
(the mbr code doesn't do this yet).
NB only biosboot and dosboot have been tested so far.
(changes approved by christos and fvdl)
2003-02-01 14:48:16 +00:00
fvdl
1ae2ac239d Make the ld workaround work on x88_64, and add the temporary ld script
to CLEANFILES.
2003-01-29 18:44:47 +00:00
dsl
00706969a9 Remove the 4k between code and data to increase the stack space.
Support for 64bit disk blocks seems to have exploded the code.
2003-01-28 16:21:58 +00:00
thorpej
f6f0dbd011 Stub out LIBCRT0, LIBCRTBEGIN, LIBCRTEND, and LIBC. 2003-01-14 23:51:34 +00:00
fvdl
79f52ea3a8 Some hacks to make this compile on x86_64. 2002-11-23 23:34:39 +00:00
jdolecek
ed2badbd21 make vers.c depend on ${SOURCES} and remove .PHONY tag for it, so that it
would only be regenerated if any of the input files changed
2002-09-02 07:33:11 +00:00
pooka
c558b464ba Assign COPTS instead of adding to it, avoids situation where -mi386
is mixed with -march=something_incompatible

suggested by thorpej
2002-06-27 20:44:08 +00:00
thorpej
28afbb384c Build with -ffreestanding. 2002-05-31 18:26:26 +00:00
thorpej
c0d66944db Make sure we override any optimization options specified by the
user; the boot blocks don't work when built with e.g. -mcpu=i486
(probably due to how branches are aligned in that case, causing
segment boundaries to be crossed).
2002-03-19 22:03:37 +00:00
thorpej
76ea45942b Cleanup of i386 bootloader building:
* Add separate directories for the individual netboot ROMs and
  always build them.
* Each bootloader Makefile explicitly specifies the start file
  and link address it wishes to use.
* genprom becomes a proper host program.
* Make sure all generated files get cleaned up.
* Set BINDIR in Makefile.inc
* Add compressed image support to pxeboot.
* Make pxeboot use the default serial console speed (9600).
2002-02-17 20:03:05 +00:00
thorpej
8bb2be2987 Add a PXE boot loader. PXE interface code is derived by code
written by Alfred Perlstein, Paul Saab, John Baldwin for FreeBSD.

Still needs some work, but this will load a kernel on a Soekris net4501.

Many thanks to Frank van der Linden and his simulator wizardry for
helping me debug the low-level startup code.
2002-02-16 03:37:39 +00:00
jmc
5ac54229c9 Don't make the symlinks on clean rules as well as obj rules. Breaks r/o source
trees that haven't gotten to the make obj recursion part of make build
otherwise.
2001-11-22 00:14:20 +00:00
tls
9b9300274d GCC 2.95 generates significantly larger code with -O2 than our old compiler did; this can cause the second-stage bootblock to exceed the number of blocks that fit in the list in the first-stage bootblock. I thought we used to explicitly set -Os in here; anyway, with this change, we do now! 2001-09-23 23:43:29 +00:00
tv
ab11c169b5 objcopy -> ${OBJCOPY}; remove redundant definitions of OBJCOPY?= (it is
now in bsd.own.mk).
2001-09-22 03:34:17 +00:00
enami
b605664b49 Include bsd.own.mk a bit earlier so that make cleandir works. 2001-08-18 12:53:58 +00:00
jdolecek
c8f528ad5e switch to MI newvers_stand.sh version info generator 2000-07-12 21:05:35 +00:00
mycroft
295c3f303e Fix the symlink hack. 2000-01-23 16:44:18 +00:00
drochner
6211cd566c fix creation of DOS / ROM images from ELF executables: use "objcopy" 1999-07-08 14:32:28 +00:00
drochner
6959d736df make sure the ./machine link is created early enough for specific targets,
fixes PR port-i386/7553 by David Rankin <drankin@bohemians.lexington.ky.us>
1999-05-11 19:43:09 +00:00
christos
a030d021a7 Use new loadfile.c 1999-04-28 09:13:51 +00:00
fvdl
35d517b9f1 Hack to make biosboot_ser work.
XXX The makefile structure in src/sys/arch/i386/stand is very bad.
1999-03-14 00:04:06 +00:00
tron
32e0182e15 $(OBJS) -> ${OBJS} 1999-03-13 20:58:25 +00:00
sommerfe
fc47c0c742 Also build serial bootblocks by default, installing into
/usr/mdec/biosboot_ser.sym
Change Makefile.booters to not assume `version' file is in source directory.
1999-03-12 16:07:57 +00:00
tron
2fefe24803 Remove "lib" directory only during "make cleandir" so that ".depend"
doesn't get nuked during "make clean".
1999-02-07 18:25:54 +00:00
tron
08c7376961 Remove "lib" directory created during build process while doing
"make clean" or "make cleandir".
1999-02-07 13:39:36 +00:00
christos
ad9c7a287c Remove exec.o, and make necessary changes for elf. 1999-01-30 17:43:10 +00:00
christos
e25e5c88f9 Both booters need exec.o now. 1999-01-29 18:47:58 +00:00
drochner
acea5c2e79 add dependency to get the version number right 1998-07-08 17:47:42 +00:00
cgd
b3d285e625 add -nostdinc to CPPFLAGS, so that /usr/include won't be used 1998-03-27 01:32:53 +00:00
mycroft
03f75a79ff Nuke the override of libkern SRCS from orbit. 1998-02-22 07:19:02 +00:00
drochner
9219f22775 strchr.c disappeared from libkern, use index.c instead
(we can't control the libkern build as we want, but it works...)
1998-01-22 15:48:02 +00:00