Commit Graph

341 Commits

Author SHA1 Message Date
dsl
077285e52b Adds FFSv2 boot code to install floppies 2003-11-30 14:58:05 +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
salo
8d1781e39d netbsd.org->NetBSD.org 2003-07-26 17:06:22 +00:00
dsl
ebaaf5a296 Use ${TOOL_INSTALLBOOT} - it does work on ustarfs filesytems.
Pass correct option to installboot for bootfloppy-com (serial bootfloppy).
2003-07-26 08:26:07 +00:00
dsl
34f6042f4f Remove dependency on biosboot-com0.sym 2003-07-26 07:52:03 +00:00
dsl
6c8c94d8a7 Switch boot floppies to 'new' i386 bootcode. 2003-07-25 21:19:48 +00:00
dsl
d46341db86 Add French and Polish message file to i386 ramdisk.big
Change dummy dependancy for sysyinst message files so they get built
by the crunched makefile.
2003-06-28 08:25:07 +00:00
dsl
7504698df3 Change i386 sysinst to use my new boot code.
Update lists for ramdisks to include the required files.
NB /usr/sbin/installboot is not used by sysinst and is only in ramdisk-big.
Increase the sizes of the ramdisks, there is plenty of space in all the
boot floppies except rescue-tiny (2k) and boot-tiny (32k).
2003-06-05 14:30:11 +00:00
lukem
0760a2583f remove bad144 - we're desparate for space on this image (again), and
this looked to being the least useful tool...
2003-05-09 12:32:42 +00:00
jmmv
8b96464ca3 Bump image size to 1500k. 2003-04-23 14:19:59 +00:00
thorpej
3088c62122 Bump file system size to 2300k. 2003-04-17 23:00:49 +00:00
dogcow
34b8ee35d8 ramdisk-tiny needs the disk space, so farewell bad144. 2003-03-03 05:12:46 +00:00
briggs
899f04df9b Bump rescuetiny's ramdisk to match tiny's. 2003-02-24 18:59:26 +00:00
zuntum
6d1101369a - bump MEMORY_DISK_ROOT_SIZE from 2920 to 2960
in sys/arch/i386/conf/INSTALL_TINY
- bump IMAGESIZE from 1460k to 1480k
  in distrib/i386/floppies/ramdisk-tiny/Makefile

so that "build.sh release" works again.

Suggested by simon, okay'd by luke.
2003-02-01 13:53:36 +00:00
lukem
d744f1783b Let this grow to a second floppy. It's much less work than trying to
shave space here & there, only to have the problem occur the next time
the kernel or the ramdisk image slightly grows again.
2003-01-20 02:20:21 +00:00
lukem
ef1ca5d8b8 crank to 2240k; they've grown again 2003-01-20 01:39:02 +00:00
tsutsui
a6223afc8f Remove "srcdir distrib/utils/x_mount" from ramdisk lists
since src/sbin/mount/Makefile no longer links fs specific routines.
2003-01-19 12:26:47 +00:00
thorpej
5004e5bb0f Copy the specific biosboot_com0_<speed> files. 2003-01-15 00:11:59 +00:00
lukem
d5f6736812 Add bootfloppy-laptop-big, which creates bootlap-big.fs, which is a 2.88MB
version of bootlap[12].fs.
This is suitable for using as a boot file for an El Torito CD-ROM image
to be used to boot laptops, as it has the INSTALL_LAPTOP kernel
(instead of the INSTALL kernel that bootbig.fs has).
2002-12-23 01:58:17 +00:00
thorpej
d0460fb811 Bump the image size up to 1460k. 2002-12-20 23:11:59 +00:00
lukem
c7ad6e6337 Consistently use "netbsd-XXXXX" instead of "netbsd.XXXXX". 2002-11-18 12:39:43 +00:00
thorpej
87833d8fe3 Bump the image size to 1452k (+12k) .. needed for nathanw_sa branch
builds.
2002-10-22 23:36:46 +00:00
lukem
ea0637c5af Now that usr.bin/ftp/Makefile supports SMALLPROG and SMALLPROG_INET6,
we don't need distrib/utils/x_ftp anymore...
2002-10-17 06:38:15 +00:00
lukem
ed56ec3a05 Rework how SMALLPROG was being used and how INET6 support was enabled.
There's two variables added to Makefile.crunch:

    SMALLPROG		If 1, add SMALLPROG=1 to CRUNCHENV.  [default: 1]
			This can be used by various Makefiles to
			determine if a `small' version of the program
			is required.

    SMALLPROG_INET6	If 1 and SMALLPROG == 1, add SMALLPROG_INET6=1
			to CRUNCHENV.  [default: 0]
			This can be used by various Makefiles to
			determine if the `small' version has INET6
			support enabled.

Only enable SMALLPROG_INET6 for programs on the ramdisks that have INET6 in
the appropriate kernel, and cleanup INET6 setting.
(Note: this means that sysinst won't get INET6 support if the kernel
it's running on doesn't have it).

This change saves a fair bit of space on various install images
(including i386 ramdisk-{ps2,small,tiny}) that didn't have INET6 in
the kernel but were unconditionally getting INET6 support in their tools.
2002-10-17 02:05:35 +00:00
lukem
1ede8b245b As both boot-small and rescue-small have expanded onto a second 1.2MB
floppy (and there's not the same RAM contraints that *-tiny has),
fold rescue-small into boot-small and deprecate the former.
The "all in one" boot-small is only 100KB larger on the second floppy.
2002-10-16 04:00:53 +00:00
lukem
859e7d7867 netbsd.INSTALL_SMALL and netbsd.RESCUE_SMALL have grown past the size
of a single 1.2MB floppy; cranky FLOPPYMAX to use two floppies.
the kernel and the contents of the ramdiskbin have both grown...

(We should just merge the install & rescue functionality of the -small
 floppies into one two x 1.2MB floppy set, since -small is for older
 machines with 1.2MB floppy drives, versus those with extremely small
 RAM constraints)
2002-10-16 01:03:07 +00:00
lukem
f535541326 Default FLOPPYMAX to 1 for i386 floppies, so the build will fail if an
image accidentally grows past 1 floppy and we didn't know about it.
2002-10-16 00:59:24 +00:00
lukem
858e032a8f Merge kernel-ramdisk & kernel-rescue into instkernel, now that
../../common/Makefile.mdset supports building multiple copies of the
same kernel (as long as they're to separate filenames).
Now there's no need to set FLOPPYKERNDIR, as it now defaults to instkernel.
2002-10-14 16:20:39 +00:00
thorpej
796c5d9347 Crank ramdisk size to 1440k. 2002-10-06 17:01:27 +00:00
grant
7dd9244284 crank imagesize to 1440k (same as ramdisk-rescuetiny). 2002-09-24 06:04:24 +00:00
itojun
938c1d41ed need wiconfig for -f (frequency setting) for some cards. pointed out by
several people
2002-06-26 13:37:52 +00:00
lukem
e45a1fe921 Add wsvt25 termcap entry, and use it if BOOTMODEL=big. Sysinst now looks
nice in colour.  From Grant Beattie <grant@netbsd.org>, with changes by me.
2002-06-24 17:36:27 +00:00
itojun
d368191e37 wiconfig is no longer needed, ifconfig does all things we need 2002-06-19 03:47:18 +00:00
lukem
c872f8b259 use 444 instead of 644 for /.profile 2002-05-29 04:03:01 +00:00
lukem
d2d5d54df9 always set FLOPPYMETAFILE if FLOPPYSIZE!=2880 2002-05-12 10:48:35 +00:00
lukem
04e61f8526 - whitespace consistency cleanup
- build (mdset/nm/strip) into ${filename} as one rule, and move ${filename}.gz
  into separate rule
- rename MDSET.${filename}.nosymbols -> MDSET_NOSYMBOLS.${filename}
- rename MDSET.${filename}.post -> MDSET_POST.${filename}, and don't do
  suffix handling here
- rework suffix handling:
	- rename MDSET.${filename}.suffixes -> MDSET_SUFFIXES.${filename},
	  and change from list of suffixes to list of "suffix cmdtobuildsuffix",
  	  where cmdtobuildsuffix is the name of the variable containing the
	  command to build ${filename}.${suffix} (available as "${.TARGET}").
	- for each ${filename}.${suffix}, depend upon ${filename} and use
	  ${cmdtobuildsuffix} to create the former.
	- add separate ${filename}.${suffix}.gz rule
- mipsco & pmax: rename "install.gz" to "netbsd-INSTALL.gz", for
  consistency and so the target to build the mdset kernel doesn't get
  confused with general "install" target
2002-05-08 21:44:53 +00:00
lukem
897d27df90 - add support for [-s suffix] to buildfloppies.sh (defaults to "",
rather than the previous ".fs").
- add support for (optional) FLOPPYSUFFIX in Makefile.tarfloppy, and
  use appropriately
- remove (now unnecessary) custom release targets in alpha/instkernel/*
2002-05-04 01:34:36 +00:00
lukem
ed8e534c7e yet another distrib overhaul:
- move guts of distrib/Makefile.inc to distrib/common/Makefile.distrib
  (fixes problem caused by implicit include of ../Makefile.inc in certain
  submake conditions triggered by makefiles not yet in tree)
- removed mkdir of ${RELEASEDIR}/*;  rely upon "snap_pre" target of
  etc/Makefile to create all the release directories
- renamed RELINSTALL to RELEASE_INSTALL
- renamed FLOPPYINSTDIR to FLOPPY_RELEASEDIR
- renamed MDSETDIR to MDSET_RELEASEDIR
- removed ITARGET
- move release target from top level to appropriate subdirectory
- ensure release target has correct depends
- replace miniroot's IMAGE_MD_POST with common/Makefile.image IMAGEPOSTBUILD
- Makefile.image: add realall: ${IMAGE}
2002-05-02 18:02:14 +00:00
lukem
9e5598221a replace _SRC_TOP_ with NETBSDSRCDIR, since the latter is the "public" version 2002-04-26 15:50:21 +00:00
lukem
e59919804c we don't want "rescue-tiny.fs.fs" ... 2002-04-16 09:08:01 +00:00
lukem
ad423f169c Migrate MI-shareable stuff to distrib/common/Makefile.tarfloppy. 2002-04-16 09:06:49 +00:00
lukem
33e7bb62d6 - Convert to using distrib/common/buildfloppies.sh, which can build both
single and multi-volume floppies in better fashion that the crufty
  shell commands in the various Makefiles.
- Move fdset* -> bootfloppy*, as that's more consistent
2002-04-16 05:23:33 +00:00
lukem
353c097f28 Use 3rd argument of MDSETTARGETS to change name of the rescue kernels
from netbsd.INSTALL_{SMALL,TINY} to netbsd.RESCUE_{SMALL,TINY}.
Go back to installing copies of these in the release directory.
2002-04-13 00:07:46 +00:00
tv
5e4efd6a99 Actually, this reuses the same kernel names, so we can't simply install
to the RELEASEDIR here.  Use an empty "release" rule instead.
2002-04-12 23:54:28 +00:00
tv
67194ea5d2 Define MDSETDIR so "make release" DTRT. 2002-04-12 23:47:09 +00:00
lukem
0dfdd76021 Makefile.mdset:
replace
		TARGETS = KERNEL IMAGE [...]
	with
		MDTARGETS = KERNEL IMAGE FILENAME [...]
	If FILENAME is "-", use "netbsd.${KERNEL}" as the target filename

The rest:
	Update for new MDTARGETS syntax.  In some cases, the kernel
	name from the "old" method will be used to override the default.
2002-04-12 13:39:43 +00:00
lukem
627174f862 - don't pull in <bsd.prog.mk> in Makefile.mdset; do that in the caller instead
- renamed optional post-strip action variable from ${KERNEL}.post to
  netbsd.${KERNEL}.post
2002-04-12 05:33:58 +00:00
lukem
cfb4cb0f97 remove unused cruft;
- Chuck Silvers pointed out that the nocluster goop set a now-unused variable
- we now use distrib/common/Makefile.mdset
2002-04-11 15:36:49 +00:00
lukem
fe5992eead convert to using distrib/common/Makefile.mdset 2002-04-11 15:34:52 +00:00
lukem
d51dc48537 tweak 2002-04-11 12:59:47 +00:00