Commit Graph

382 Commits

Author SHA1 Message Date
tls
c43359c28a libssp is gone. 2007-05-30 16:23:22 +00:00
tls
4147a3c54a Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry.  RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros.  Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default.  Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
2007-05-28 12:06:17 +00:00
dogcow
c1583b0d2c Since /etc/services has gotten rather large, use a minimal one for install
kernels. (mount_nfs is notably the only binary that doesn't gracefully deal
with the lack of an /etc/services file, it appears.)
2007-05-10 23:22:27 +00:00
bouyer
7faa36afb7 Use nblaptop and nbnoacpi for the alternative kernel names; as suggected by
Alan Barrett. While there factor out the kernels in Makefile.cdrom.
2007-03-08 13:48:36 +00:00
bouyer
04825266e6 Use the new common/Makefile.bootcd to make i386 and amd64 bootable ISO
images. amd64 gets a single kernel; i386 images gets 3 kernels:
- netbsd, copy from netbsd-INSTALL_LARGE.gz, loaded by default
- nbsd-l, copy from netbsd-INSTALL_LAPTOP.gz
- nbsd-i, copy from netbsd-INSTALL.gz for those who want the traditionnal
  non-ACPI kernel
- drop the bootcd-laptop image
both gets an installcd image, which is the same as bootcd but with the
binary sets in addition to kernels.
2007-03-06 21:52:44 +00:00
bouyer
ff6bcd05a5 For the benefit of modern hardware, enable ACPI by default in INSTALL and
GENERIC kernels. If ACPI is an issue on your hardware, 'boot -c' and
'disable acpi' should be a workaround. ACPI-enabled kernels works fine
on pre-acpi hardware.
for amd64:
- add ACPI to INSTALL and GENERIC, remove the *_ACPI config files.
- get rid of the bootfloppy-big.fs boot image, and got to a 3-floppy boot
  image
for i386:
- introduce INSTALL_LARGE which has ACPI and some devices with big firmware
- move some devices from INSTALL to INSTALL_LARGE
- Boot floppies still use INSTALL, and bootfloppy-big.fs is still there
  (for thoses who want to build el-torito floppy emulation boot CD) and use
  INSTALL.
For both, drop the 'iso-image' code in etc/ to make the iso bootable, we'll
use something else to build bootable CDs.
2007-03-06 21:47:45 +00:00
dsl
73faefbb9f As has been pointed out recently, the list of i386 release kernels needs
updating. Probably to an ACPI kernel that need not fit into an 'emulated floppy'
and a 'legacy' kernel that will fit.
In any case the small/tiny kernels which are really for i386 systems with
< 16MB of memory (some are sized for a 5.25" floppy) don't need to be built.
Remove bootfloppy-small, bootfloppy-tiny, rescue-tiny and bootfloppy-ps2
and associated ramdisks.
2006-11-19 11:17:51 +00:00
dsl
fed5688510 It is singularly pointless generating CD install images for PS2 and tiny
systems.  I really can't imagine them being bootable - especially if/when
this directory generates non-floppy-emulation images.
2006-11-18 20:15:59 +00:00
dsl
838c3d3c4f Remount mount_kernfs from these - kernfs isn't it the kernels any more. 2006-11-18 16:16:19 +00:00
dsl
202882dcbc Move the programs that are common to all ramdisks into common/list.ramdisk.
The build ramdiskbin programs have the same code size, the overall sizes
differ slightly due to the way rodata.str.1 gets relaxed.
2006-11-18 16:09:57 +00:00
dsl
77c391989d Whitespace/comment changes to align text between these files 2006-11-18 10:01:32 +00:00
hubertf
1cd9ce06e8 Add example on how to make an install CD - it's the same
as the bootcd* CDs just with the install sets added to
the CD as well.

XXX 1) The implementation of this is rather cludgy (copying sets around),
       as our makefs(8) can't put files from multiple directories into
       one image -- something that mkisofs can do with 'graft' points
XXX 2) This should be run after 'build.sh release' - It would be nice
       if we had a seperate stage to add such hooks in our build framework
2006-10-29 17:58:15 +00:00
pavel
7c45d943a0 Do not strip INSTALL kernels. Makefile.tarfloppy does this now. 2006-09-29 08:20:44 +00:00
bouyer
356edfcf8e Don't strip (and don't generate the symbols.gz files) for Xen INSTALL kernels.
There's no space contraint here, and this makes debugging easier.
2006-08-23 19:02:37 +00:00
hubertf
b6eda27950 Rename XEN kernel config files to be more consistent:
INSTALL_XEN3_U        -> INSTALL_XEN3_DOMU
  INSTALL_XENU          -> INSTALL_XEN2_DOMU
  XEN0                  -> XEN2_DOM0
  XEN3_U                -> XEN3_DOMU
  XENU                  -> XEN2_DOMU

OK'd by bouyer@
2006-06-08 22:17:07 +00:00
hubertf
f3513c1e13 Add & enable boot-CDs (with ramdisk kernels only, no install sets),
built as part of a regular release. For more information, see
http://mail-index.netbsd.org/tech-install/2006/05/11/0001.html

OK: core@
2006-06-02 22:35:21 +00:00
hubertf
b3f292908c Prepare creation of boot CDs:
* Move files in distrib/i386:

floppies/instkernel/Makefile -> instkernel/Makefile
floppies/ramdisk-big/Makefile -> ramdisks/ramdisk-big/Makefile
floppies/ramdisk-big/disktab.preinstall -> ramdisks/ramdisk-big/disktab.preinstall
floppies/ramdisk-big/list -> ramdisks/ramdisk-big/list
floppies/ramdisk-big/list.inet6 -> ramdisks/ramdisk-big/list.inet6
floppies/ramdisk-rescuetiny/Makefile -> ramdisks/ramdisk-rescuetiny/Makefile
floppies/ramdisk-rescuetiny/list -> ramdisks/ramdisk-rescuetiny/list
floppies/ramdisk-small/Makefile -> ramdisks/ramdisk-small/Makefile
floppies/ramdisk-small/list -> ramdisks/ramdisk-small/list
floppies/ramdisk-tiny/Makefile -> ramdisks/ramdisk-tiny/Makefile
floppies/ramdisk-tiny/list -> ramdisks/ramdisk-tiny/list
floppies/common/Makefile.ramdisk -> ramdisks/common/Makefile.ramdisk
floppies/common/dot.profile -> ramdisks/common/dot.profile
floppies/common/list.ramdisk -> ramdisks/common/list.ramdisk
floppies/common/termcap.mini -> ramdisks/common/termcap.mini

 * Adjust paths
2006-06-02 22:11:06 +00:00
fredb
f88f7e1e1b Per consensus on tech-install, take "bootN.fs" and "boot-comN.fs" to three
floppies.  (The build is broken again without this.)  "boot-big1.fs", from
the same ramdisk as "bootN.fs", still just fits in 2880KB by virtue of the
fact that the 9KB of padding is only added once per floppy image.
2006-05-14 02:21:59 +00:00
dogcow
d78d8e8d89 Farewell, bad144; I'm sure you'll be sorely missed by someone.
At least the floppies build again now.
2006-05-09 03:22:03 +00:00
snj
a640fe8c43 It's "its." 2006-04-24 19:00:29 +00:00
bouyer
2c84df432e Build XEN3_U and INSTALL_XEN3_U kernels as part of release process. 2006-03-20 22:36:37 +00:00
dsl
1253e7b15e Remove mount_kernfs and mbrlabel.
The kernfs filesystem is no longer in the install kernel, and the mbrlabel
is not needed because the kernel will generate a disklabel from the mbr
information.
2006-01-21 09:22:10 +00:00
dsl
2a363c8fef Add the dmesg() program to all the i386 ramdisk images and remove the
shell function implemented dmesg using 'cat /kern/msgbuf'.
This means we don't need kernfs.
2005-09-10 14:50:08 +00:00
dsl
77b0988bd6 Generate a cross-reference map file for the crunched binary. 2005-09-10 14:47:15 +00:00
dsl
7dfd3d6a2d Add a SMALL dmesg, should allow KERNFS to be removed 2005-09-05 20:58:35 +00:00
lukem
2265a4eed3 Correct the path to ping6 & rtsol.
Problem noted by Lubomir Sedlacik.
2005-07-10 13:00:21 +00:00
thorpej
d026a7c623 Restructure this Makefile to make it easier to comment out subdirectories. 2005-06-26 17:47:49 +00:00
bouyer
3e8f0992c8 Integrate Xen to the i386 build process:
- Add xen devices to MAKEDEV
- Add Xen kernels to list of kernel to build
- Add INSTALL_XENU to the install kernels
- introduce the xbd disk devices to sysinst.

This will add 3 kernels to the i386 release:
XEN0 for use as a Xen domain0 kernel
XENU for use on a non-privileged domain
INSTALL_XENU to install NetBSD on a non-privileged domain virtual disk.
2005-03-11 20:55:10 +00:00
lukem
3be06e9652 Only use ping6 and rtsol if ${USE_INET6} != "no".
Part of PR 28994.
2005-01-18 12:38:45 +00:00
dsl
01236c0646 Build gzip with -DSMALL set
Also Remove compress and bzip2 support
Brings bootfloppy-tiny back below the size of a 5.25" floppy.
2004-10-06 21:28:12 +00:00
jmc
6fc88bf937 Revert gzip changes. Changes to sh/kernel/etc made this small enough to fit 2004-06-08 05:59:37 +00:00
jmc
4da70d71ba For the moment revert to x_gzip or else the tiny ramdisk still overflows 2004-06-07 06:53:04 +00:00
gendalia
b4066cdbc6 Add raidctl to the programs included on ramdisk-big. Allows manipulation
and by hand creation of raid disks.
2004-04-29 20:45:07 +00:00
wiz
3f9411f688 Spell removable with only two es. Inspired by jmc@openbsd. 2004-04-19 12:44:09 +00:00
dsl
8fc0ae8d08 Add French, German and Polish sysinstmsgs to all ramdisks that include sysinst
expect those where at least one of the language variants isn't built,
and those that are known not to have enough space (i386 ramdisk-tiny).
Files added to list.sysinst, list.sysinst.en is used when these files
cannot be added.
This might hit a size limit on another build - but I have no (sane) way of
testing it.
2004-04-18 20:04:26 +00:00
dsl
29afcc793f remove mbrlabel and tip so it fits in 1.2MB 2004-04-18 19:50:34 +00:00
jmc
2c4a9833a3 Use smaller gzip so this fits again 2004-03-26 17:19:15 +00:00
jmc
74cd87d7c1 Need -lz now 2003-12-27 20:57:21 +00:00
lukem
02bca44c5e Pad all floppy images to the floppy size.
Requested by Jason Thorpe in [port-i386/23785]
2003-12-18 00:44:22 +00:00
dsl
843b29721d Increase the size of the ramdisk. The kernels were changed a while ago
(I must have forgotten to commit this at the same time).
sysinst still runs in 16MB (and hasn't run in 8MB for a while).
The extra space costs almost nothing on the compressed 'floppies', but
gives more working room for the install system (eg sysinst can coredump
without filling /).
2003-12-07 20:08:57 +00:00
dsl
3ed5bf31d2 Don't set baud rate when setting 'sane' stty settings, that way we use
the baud rate set by the bootloader.
Fixes PR port-i386/18358
2003-12-07 20:03:18 +00:00
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