Subject: various changes on INSTALL and iso generation
To: None <port-amd64@netbsd.org, port-i386@netbsd.org,>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: tech-install
Date: 02/25/2007 21:57:49
--17pEHd4RhPHOinZp
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi,
sorry for the cross-post. Please reply as appropriate to port-amd64/i386
for the changes to the INSTALL kernels, or tech-install for anything MI
related to iso image generation.

On amd64/i386 we've had issue with kernel size first, and need for ACPI
enabled kernels for modern hardware where the legacy bios isn't suitable.

For the second issue I think we could have by default ACPI kernel enabled.
Common cases are machines with working ACPI (and all is well) or machines
without ACPI (and the kernel fall backs to pre-acpi config mechanims,
having ACPI in kernel doesn't hurt). For the case where ACPI is present but
nonworking, a
boot -c
disable acpi
quit
should work around it. There's also the ressource to boot a non-ACPI kernel
(see below).

The other issue is space-constraints on boot media. For i386/amd64 the
size is limited to 2.88MB by the el-torino floppy emulation used for
cdrom boot. The idea is that newer systems (including all amd64 hardware)
should support the native iso9660 boot, which would free us from this
constraint. We keep a trimmed-down INSTALL kernel for the bootfloppy-big
image, so that peoples who can't boot the cd image can build one using the
floppy emulation. The new kernel is INSTALL_LARGE on i386 (idea for
better names are welcome :)
what the attached patch does:
- add acpi to amd64 INSTALL and GENERIC kernel. We keep MPBIOS, so that
  a 'disable acpi' will fall back to MPBIOS if needed.
- add acpi to i386 GENERIC kernel (a 'disable acpi' should give us the same
  functionality as the current GENERIC), and add an INSTALL_LARGE
  which is INSTALL with acpi and some recent devices with large firmware
  (more could move from INSTALL to INSTALL_LARGE at this point).
- change distrib/common/Makefile.bootcd to build boot images with several
  kernels. The default one is named /netbsd, the others /netbsd1, /netbsd2,
  etc ... (it seems that the cd9660 boot loader doesn't like long names)
- changes various place so that the amd64 and i386 install CD can be build
  from distrib/*/cdrom using makefs instead of etc/ using mkisofs, and
  use the native boot method (with several kernels available for i386).
- as we can have several kernels in the same image, drop boot-laptop.iso.
  The laptop kernel is added to other boot images.

I've tested the i386cd.iso image in qemu, it installs just fine, and
I can select different kernels. I'll do more tests tomorow on real hardwares.
I've built full i386 and amd64 releases with these patches, you 
can find the results in ftp://asim.lip6.fr/outgoing/bouyer/{amd64,i386}

Open issues:
- right now, iso-image isn't disabled in etc/ for i386 and amd64, so
  images are built twice. The image built from mkisofs aren't bootable any
  more because of the lack of bootfloppy-big.fs on amd64 now (I though
  it wasn't worth to keep it for i386, as the idea is to get rid of
  as much mkisofs usage as possible) (I've manually deleted these from
  the ftp server above)
- should we try to convert other ports from etc/ iso-image to distrib/
  iso_image ? The hard part here will be to test the resulting images for
  boot. Some architectures (e.g. macppc) may require some code to makefs.

I think we should get the i386/amd64 part in as fast as possible and pullup to
netbsd-4, the lack of acpi support in install media is becoming a real
issue.

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--

--17pEHd4RhPHOinZp
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=diff

Index: Makefile
===================================================================
RCS file: /cvsroot/src/Makefile,v
retrieving revision 1.246
diff -u -r1.246 Makefile
--- Makefile	7 Sep 2006 03:51:44 -0000	1.246
+++ Makefile	25 Feb 2007 20:21:03 -0000
@@ -314,6 +314,7 @@
 #
 
 iso-image: .PHONY
+	${MAKEDIRTARGET} distrib iso_image
 	${MAKEDIRTARGET} etc iso-image
 	@echo   "make ${.TARGET} started at:  ${START_TIME}"
 	@printf "make ${.TARGET} finished at: " && date
Index: distrib/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/Makefile,v
retrieving revision 1.13
diff -u -r1.13 Makefile
--- distrib/Makefile	12 May 2004 16:56:41 -0000	1.13
+++ distrib/Makefile	25 Feb 2007 20:21:07 -0000
@@ -17,5 +17,6 @@
 .endif
 
 TARGETS+=release
+TARGETS+=iso_image
 
 .include <bsd.subdir.mk>
Index: distrib/Makefile.inc
===================================================================
RCS file: /cvsroot/src/distrib/Makefile.inc,v
retrieving revision 1.8
diff -u -r1.8 Makefile.inc
--- distrib/Makefile.inc	2 May 2002 18:02:14 -0000	1.8
+++ distrib/Makefile.inc	25 Feb 2007 20:21:07 -0000
@@ -1,3 +1,5 @@
 #	$NetBSD: Makefile.inc,v 1.8 2002/05/02 18:02:14 lukem Exp $
 
 .include "../Makefile.inc"
+
+iso_image: .PHONY
Index: distrib/amd64/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/amd64/Makefile,v
retrieving revision 1.3
diff -u -r1.3 Makefile
--- distrib/amd64/Makefile	2 Jun 2006 22:35:21 -0000	1.3
+++ distrib/amd64/Makefile	25 Feb 2007 20:21:07 -0000
@@ -7,6 +7,9 @@
 SUBDIR+=	.WAIT
 SUBDIR+=	cdroms
 SUBDIR+=	floppies
-TARGETS+=	release
+TARGETS+=	release 
+
+iso_image:
+	${MAKEDIRTARGET} cdroms iso_image
 
 .include <bsd.subdir.mk>
Index: distrib/amd64/cdroms/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/amd64/cdroms/Makefile,v
retrieving revision 1.2
diff -u -r1.2 Makefile
--- distrib/amd64/cdroms/Makefile	29 Oct 2006 17:58:16 -0000	1.2
+++ distrib/amd64/cdroms/Makefile	25 Feb 2007 20:21:07 -0000
@@ -3,8 +3,11 @@
 SUBDIR=
 SUBDIR+=	bootcd
 SUBDIR+=	bootcd-com
-#SUBDIR+=	installcd
 
 TARGETS+=       release
 
+iso_image:
+	${MAKEDIRTARGET} installcd all
+	${MAKEDIRTARGET} installcd release
+
 .include <bsd.subdir.mk>
Index: distrib/amd64/cdroms/bootcd/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/amd64/cdroms/bootcd/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- distrib/amd64/cdroms/bootcd/Makefile	2 Jun 2006 22:35:22 -0000	1.1
+++ distrib/amd64/cdroms/bootcd/Makefile	25 Feb 2007 20:21:07 -0000
@@ -2,6 +2,6 @@
 #
 
 CDBASE=		boot			# gives ${CDBASE}.iso
-CDKERNEL=	netbsd-INSTALL.gz	# from ../instkernel
+CDDEFKERNEL=	netbsd-INSTALL.gz		# from ../instkernel
 
 .include "${.CURDIR}/../../../common/Makefile.bootcd"
Index: distrib/amd64/cdroms/bootcd-com/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/amd64/cdroms/bootcd-com/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- distrib/amd64/cdroms/bootcd-com/Makefile	2 Jun 2006 22:35:22 -0000	1.1
+++ distrib/amd64/cdroms/bootcd-com/Makefile	25 Feb 2007 20:21:07 -0000
@@ -2,7 +2,7 @@
 #
 
 CDBASE=		boot-com			# gives ${CDBASE}.iso
-CDKERNEL=	netbsd-INSTALL.gz	# from ../instkernel
+CDDEFKERNEL=	netbsd-INSTALL.gz		# from ../instkernel
 CDBOOTOPTIONS=	-o console=com0
 
 .include "${.CURDIR}/../../../common/Makefile.bootcd"
Index: distrib/amd64/cdroms/installcd/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/amd64/cdroms/installcd/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- distrib/amd64/cdroms/installcd/Makefile	29 Oct 2006 17:58:16 -0000	1.1
+++ distrib/amd64/cdroms/installcd/Makefile	25 Feb 2007 20:21:07 -0000
@@ -1,8 +1,8 @@
 #	$NetBSD: Makefile,v 1.1 2006/10/29 17:58:16 hubertf Exp $
 #
 
-CDBASE=		boot			# gives ${CDBASE}.iso
-CDKERNEL=	netbsd-INSTALL.gz	# from ../instkernel
+CDBASE=		amd64cd			# gives ${CDBASE}.iso
+CDDEFKERNEL=	netbsd-INSTALL.gz		# from ../instkernel
 CDRELEASE=	true			# include $RELEASEDIR/$MACHINE
 
 .include "${.CURDIR}/../../../common/Makefile.bootcd"
Index: distrib/amd64/floppies/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/amd64/floppies/Makefile,v
retrieving revision 1.2
diff -u -r1.2 Makefile
--- distrib/amd64/floppies/Makefile	2 Jun 2006 22:11:52 -0000	1.2
+++ distrib/amd64/floppies/Makefile	25 Feb 2007 20:21:07 -0000
@@ -2,7 +2,6 @@
 
 SUBDIR=		
 SUBDIR+=	bootfloppy
-SUBDIR+=	bootfloppy-big
 SUBDIR+=	bootfloppy-com
 
 TARGETS+=	release
Index: distrib/amd64/floppies/bootfloppy/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/amd64/floppies/bootfloppy/Makefile,v
retrieving revision 1.3
diff -u -r1.3 Makefile
--- distrib/amd64/floppies/bootfloppy/Makefile	13 Sep 2004 22:35:05 -0000	1.3
+++ distrib/amd64/floppies/bootfloppy/Makefile	25 Feb 2007 20:21:07 -0000
@@ -1,7 +1,7 @@
 #	$NetBSD: Makefile,v 1.3 2004/09/13 22:35:05 fvdl Exp $
 
 FLOPPYBASE=	boot
-FLOPPYMAX=	2
+FLOPPYMAX=	3
 FLOPPYKERNEL=	netbsd-INSTALL.gz
 
 .include "${.CURDIR}/../common/Makefile.bootfloppy"
Index: distrib/amd64/floppies/bootfloppy-com/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/amd64/floppies/bootfloppy-com/Makefile,v
retrieving revision 1.4
diff -u -r1.4 Makefile
--- distrib/amd64/floppies/bootfloppy-com/Makefile	13 Sep 2004 22:35:05 -0000	1.4
+++ distrib/amd64/floppies/bootfloppy-com/Makefile	25 Feb 2007 20:21:07 -0000
@@ -1,7 +1,7 @@
 #	$NetBSD: Makefile,v 1.4 2004/09/13 22:35:05 fvdl Exp $
 
 FLOPPYBASE=	boot-com
-FLOPPYMAX=	2
+FLOPPYMAX=	3
 FLOPPYKERNEL=	netbsd-INSTALL.gz
 FLOPPYBOOTOPTIONS=	-o console=com0
 
Index: distrib/amd64/instkernel/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/amd64/instkernel/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- distrib/amd64/instkernel/Makefile	2 Jun 2006 22:11:52 -0000	1.1
+++ distrib/amd64/instkernel/Makefile	25 Feb 2007 20:21:07 -0000
@@ -12,8 +12,7 @@
 ${V}=		${${V}DIR}/${F}.fs
 .endfor
 
-MDSETTARGETS=		INSTALL		${RAMDISK}	-	\
-			INSTALL_ACPI	${RAMDISK}	-
+MDSETTARGETS=		INSTALL		${RAMDISK}	-
 
 MDSET_RELEASEDIR=	binary/kernel
 
Index: distrib/common/Makefile.bootcd
===================================================================
RCS file: /cvsroot/src/distrib/common/Makefile.bootcd,v
retrieving revision 1.7
diff -u -r1.7 Makefile.bootcd
--- distrib/common/Makefile.bootcd	17 Jan 2007 00:47:40 -0000	1.7
+++ distrib/common/Makefile.bootcd	25 Feb 2007 20:21:07 -0000
@@ -10,9 +10,11 @@
 #
 # Required variables:
 #	CDBASE		Basename of the iso
-#	CDKERNEL	Kernel to copy from ../instkernel (or it's obj dir)
+#	CDDEFKERNEL	Default boot kernel, will be /netbsd on CD
+# kernels are copied from ../instkernel (or it's obj dir)
 #
 # Optional variables:
+#	CDEXTRAKERNELS	extra kernels, will be /netbsd1, /netbsd2, ...  on CD
 #	CDRELEASE	Set to 'true' to include $RELEASEDIR/$MACHINE on the CD
 #	CDRELEASE_NOISOS Excludes installation/cdrom directory if set
 #	BOOT		Defaults to $DESTDIR/usr/mdec/boot
@@ -52,7 +54,10 @@
 
 prepare:
 	${MKDIR} cdrom
-	${CP} ${_INSTKERELNOBJDIR}/${CDKERNEL} cdrom/netbsd
+	${CP} ${_INSTKERELNOBJDIR}/${CDDEFKERNEL} cdrom/netbsd
+.for kernel in ${CDEXTRAKERNELS}${n::=n}
+	${CP} ${_INSTKERELNOBJDIR}/${kernel} cdrom/netbsd${n:[#]}${n::=$n n}
+.endfor
 	${RM} -f cdrom/boot
 	${CP} ${DESTDIR}/usr/mdec/boot cdrom/boot
 	${RM} -f bootxx
Index: distrib/i386/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/i386/Makefile,v
retrieving revision 1.4
diff -u -r1.4 Makefile
--- distrib/i386/Makefile	2 Jun 2006 22:35:22 -0000	1.4
+++ distrib/i386/Makefile	25 Feb 2007 20:21:07 -0000
@@ -9,4 +9,7 @@
 SUBDIR+=	floppies
 TARGETS+=	release
 
+iso_image:
+	${MAKEDIRTARGET} cdroms iso_image
+
 .include <bsd.subdir.mk>
Index: distrib/i386/cdroms/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/i386/cdroms/Makefile,v
retrieving revision 1.3
diff -u -r1.3 Makefile
--- distrib/i386/cdroms/Makefile	18 Nov 2006 20:15:59 -0000	1.3
+++ distrib/i386/cdroms/Makefile	25 Feb 2007 20:21:07 -0000
@@ -3,9 +3,11 @@
 SUBDIR=
 SUBDIR+=	bootcd
 SUBDIR+=	bootcd-com
-SUBDIR+=	bootcd-laptop
-#SUBDIR+=	installcd
 
 TARGETS+=       release
 
+iso_image:
+	${MAKEDIRTARGET} installcd all
+	${MAKEDIRTARGET} installcd release
+
 .include <bsd.subdir.mk>
Index: distrib/i386/cdroms/bootcd/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/i386/cdroms/bootcd/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- distrib/i386/cdroms/bootcd/Makefile	2 Jun 2006 22:35:22 -0000	1.1
+++ distrib/i386/cdroms/bootcd/Makefile	25 Feb 2007 20:21:07 -0000
@@ -2,6 +2,7 @@
 #
 
 CDBASE=		boot			# gives ${CDBASE}.iso
-CDKERNEL=	netbsd-INSTALL.gz	# from ../instkernel
+CDDEFKERNEL=	netbsd-INSTALL_LARGE.gz		# from ../instkernel
+CDEXTRAKERNELS=	netbsd-INSTALL_LAPTOP.gz netbsd-INSTALL.gz
 
 .include "${.CURDIR}/../../../common/Makefile.bootcd"
Index: distrib/i386/cdroms/bootcd-com/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/i386/cdroms/bootcd-com/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- distrib/i386/cdroms/bootcd-com/Makefile	2 Jun 2006 22:35:22 -0000	1.1
+++ distrib/i386/cdroms/bootcd-com/Makefile	25 Feb 2007 20:21:07 -0000
@@ -2,7 +2,8 @@
 #
 
 CDBASE=		boot-com			# gives ${CDBASE}.iso
-CDKERNEL=	netbsd-INSTALL.gz	# from ../instkernel
+CDDEFKERNEL=	netbsd-INSTALL_LARGE.gz		# from ../instkernel
+CDEXTRAKERNELS=	netbsd-INSTALL_LAPTOP.gz netbsd-INSTALL.gz
 CDBOOTOPTIONS=	-o console=com0
 
 .include "${.CURDIR}/../../../common/Makefile.bootcd"
Index: distrib/i386/cdroms/bootcd-laptop/Makefile
===================================================================
RCS file: distrib/i386/cdroms/bootcd-laptop/Makefile
diff -N distrib/i386/cdroms/bootcd-laptop/Makefile
--- distrib/i386/cdroms/bootcd-laptop/Makefile	2 Jun 2006 22:35:22 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,7 +0,0 @@
-#	$NetBSD: Makefile,v 1.1 2006/06/02 22:35:22 hubertf Exp $
-#
-
-CDBASE=		boot-laptop				# gives ${CDBASE}.iso
-CDKERNEL=	netbsd-INSTALL_LAPTOP.gz	# from ../instkernel
-
-.include "${.CURDIR}/../../../common/Makefile.bootcd"
Index: distrib/i386/cdroms/installcd/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/i386/cdroms/installcd/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- distrib/i386/cdroms/installcd/Makefile	29 Oct 2006 17:58:15 -0000	1.1
+++ distrib/i386/cdroms/installcd/Makefile	25 Feb 2007 20:21:07 -0000
@@ -4,8 +4,9 @@
 # Install CD, to be made after 'build.sh release'
 # Requires populated $RELEASEDIR/${MACHINE}
 
-CDBASE=		boot			# gives ${CDBASE}.iso
-CDKERNEL=	netbsd-INSTALL.gz	# from ../instkernel
+CDBASE=		i386cd			# gives ${CDBASE}.iso
+CDDEFKERNEL=	netbsd-INSTALL_LARGE.gz		# from ../instkernel
+CDEXTRAKERNELS=	netbsd-INSTALL_LAPTOP.gz netbsd-INSTALL.gz
 CDRELEASE=      true                    # include $RELEASEDIR/$MACHINE
 
 .include "${.CURDIR}/../../../common/Makefile.bootcd"
Index: distrib/i386/instkernel/Makefile
===================================================================
RCS file: /cvsroot/src/distrib/i386/instkernel/Makefile,v
retrieving revision 1.5
diff -u -r1.5 Makefile
--- distrib/i386/instkernel/Makefile	19 Nov 2006 11:17:51 -0000	1.5
+++ distrib/i386/instkernel/Makefile	25 Feb 2007 20:21:07 -0000
@@ -15,7 +15,8 @@
 ${V}=		${${V}DIR}/${F}.fs
 .endfor
 
-MDSETTARGETS=	INSTALL			${RAMDISK_B}	-
+MDSETTARGETS=	INSTALL_LARGE		${RAMDISK_B}	-
+MDSETTARGETS+=	INSTALL			${RAMDISK_B}	-
 MDSETTARGETS+=	INSTALL_LAPTOP		${RAMDISK_B}	-
 MDSETTARGETS+=	INSTALL_XEN2_DOMU	${RAMDISK_B}	-
 MDSETTARGETS+=	INSTALL_XEN3_DOMU	${RAMDISK_B}	-
Index: etc/etc.amd64/Makefile.inc
===================================================================
RCS file: /cvsroot/src/etc/etc.amd64/Makefile.inc,v
retrieving revision 1.5
diff -u -r1.5 Makefile.inc
--- etc/etc.amd64/Makefile.inc	2 Jun 2006 22:35:22 -0000	1.5
+++ etc/etc.amd64/Makefile.inc	25 Feb 2007 20:21:11 -0000
@@ -3,16 +3,13 @@
 #	etc.amd64/Makefile.inc -- amd64-specific etc Makefile targets
 #
 
-KERNEL_SETS=		GENERIC GENERIC.MP GENERIC_ACPI
+KERNEL_SETS=		GENERIC GENERIC.MP
 
-BUILD_KERNELS=		INSTALL INSTALL_ACPI
+BUILD_KERNELS=		INSTALL
 
 INSTALLATION_DIRS+= 	installation/cdrom
 INSTALLATION_DIRS+= 	installation/floppy
 
-# mkisofs arguments to generate bootable iso image
-MKISOFS_FLAGS+=	-b ${MACHINE}/installation/floppy/boot-big.fs
-
 snap_md_post:
 	${MAKESUMS} -t ${RELEASEDIR}/${MACHINE}/installation/cdrom '*.iso'
 	${MAKESUMS} -t ${RELEASEDIR}/${MACHINE}/installation/floppy '*.fs'
Index: etc/etc.i386/Makefile.inc
===================================================================
RCS file: /cvsroot/src/etc/etc.i386/Makefile.inc,v
retrieving revision 1.47
diff -u -r1.47 Makefile.inc
--- etc/etc.i386/Makefile.inc	19 Nov 2006 11:21:19 -0000	1.47
+++ etc/etc.i386/Makefile.inc	25 Feb 2007 20:21:11 -0000
@@ -7,7 +7,6 @@
 KERNEL_SETS+=	GENERIC_LAPTOP
 KERNEL_SETS+=	GENERIC_DIAGNOSTIC
 KERNEL_SETS+=	GENERIC.MP
-KERNEL_SETS+=	GENERIC.MPACPI
 KERNEL_SETS+=	XEN2_DOM0
 KERNEL_SETS+=	XEN2_DOMU
 KERNEL_SETS+=	XEN3_DOM0
@@ -16,6 +15,7 @@
 # KERNEL_SETS+=	GENERIC_PS2TINY
 
 BUILD_KERNELS=	ALL
+BUILD_KERNELS+=	INSTALL_LARGE
 BUILD_KERNELS+=	INSTALL
 BUILD_KERNELS+=	INSTALL_LAPTOP
 BUILD_KERNELS+=	INSTALL_XEN2_DOMU
@@ -35,9 +35,3 @@
 	${MAKESUMS} -t ${RELEASEDIR}/${MACHINE}/installation/cdrom '*.iso'
 	${MAKESUMS} -t ${RELEASEDIR}/${MACHINE}/installation/floppy '*.fs'
 	${MAKESUMS} -t ${RELEASEDIR}/${MACHINE}/installation/misc '*.*'
-
-# For "make iso-image"
-# mkisofs arguments to generate bootable iso image
-CDROM_BOOT_IMAGE?=	boot-big.fs
-
-MKISOFS_FLAGS+=	-b ${MACHINE}/installation/floppy/${CDROM_BOOT_IMAGE} -c boot.catalog
Index: sys/arch/amd64/conf/GENERIC
===================================================================
RCS file: /cvsroot/src/sys/arch/amd64/conf/GENERIC,v
retrieving revision 1.126
diff -u -r1.126 GENERIC
--- sys/arch/amd64/conf/GENERIC	9 Feb 2007 21:55:01 -0000	1.126
+++ sys/arch/amd64/conf/GENERIC	25 Feb 2007 20:21:54 -0000
@@ -230,7 +230,8 @@
 
 mainbus0 at root
 
-#acpi0 		at mainbus0
+# ACPI will be used if present. If not it will fall back to MPBIOS
+acpi0 		at mainbus0
 #options 	ACPI_SCANPCI		# find PCI roots using ACPI
 options 	MPBIOS			# configure CPUs and APICs using MPBIOS 
 options 	MPBIOS_SCANPCI		# MPBIOS configures PCI roots
Index: sys/arch/amd64/conf/GENERIC_ACPI
===================================================================
RCS file: sys/arch/amd64/conf/GENERIC_ACPI
diff -N sys/arch/amd64/conf/GENERIC_ACPI
--- sys/arch/amd64/conf/GENERIC_ACPI	4 Jul 2006 00:30:22 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,8 +0,0 @@
-# $NetBSD: GENERIC_ACPI,v 1.2 2006/07/04 00:30:22 christos Exp $
-#
-# GENERIC_ACPI machine description file
-
-include "arch/amd64/conf/GENERIC"
-
-no options MPBIOS_SCANPCI
-acpi0	at mainbus0
Index: sys/arch/amd64/conf/INSTALL
===================================================================
RCS file: /cvsroot/src/sys/arch/amd64/conf/INSTALL,v
retrieving revision 1.65
diff -u -r1.65 INSTALL
--- sys/arch/amd64/conf/INSTALL	1 Feb 2007 21:07:45 -0000	1.65
+++ sys/arch/amd64/conf/INSTALL	25 Feb 2007 20:21:54 -0000
@@ -163,7 +163,9 @@
 
 mainbus0 at root
 
-options MPBIOS
+# ACPI will be used if present. If not it will fall back to MPBIOS
+acpi0	at mainbus0
+options MPBIOS				
 options MPBIOS_SCANPCI
 cpu* 	at mainbus0
 ioapic* at mainbus0
Index: sys/arch/amd64/conf/INSTALL_ACPI
===================================================================
RCS file: sys/arch/amd64/conf/INSTALL_ACPI
diff -N sys/arch/amd64/conf/INSTALL_ACPI
--- sys/arch/amd64/conf/INSTALL_ACPI	4 Jul 2006 00:30:22 -0000	1.31
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,8 +0,0 @@
-# $NetBSD: INSTALL_ACPI,v 1.31 2006/07/04 00:30:22 christos Exp $
-#
-# INSTALL_ACPI machine description file
-
-include "arch/amd64/conf/INSTALL"
-
-no options MPBIOS_SCANPCI
-acpi0	at mainbus0
Index: sys/arch/i386/conf/GENERIC
===================================================================
RCS file: /cvsroot/src/sys/arch/i386/conf/GENERIC,v
retrieving revision 1.809
diff -u -r1.809 GENERIC
--- sys/arch/i386/conf/GENERIC	18 Feb 2007 18:05:52 -0000	1.809
+++ sys/arch/i386/conf/GENERIC	25 Feb 2007 20:21:58 -0000
@@ -307,7 +307,7 @@
 mainbus0 at root
 
 cpu* at mainbus?
-#ioapic* at mainbus?
+ioapic* at mainbus?
 
 # Doesn't do anything yet.
 #p64h2apic* at pci? dev? function?	# P64H2 IOxAPIC
@@ -336,41 +336,42 @@
 #options 	MPBIOS_SCANPCI	# find PCI roots using MPBIOS
 #options 	ACPI_SCANPCI	# find PCI roots using ACPI
 
-#acpi0 		at mainbus0
+acpi0 		at mainbus0
 
 #options 	ACPI_ACTIVATE_DEV	# If set, activate inactive devices
 #options 	ACPICA_PEDANTIC		# force strict conformance to the Spec.
+options		ACPIVERBOSE
 
 # ACPI devices
-#acpiacad* 	at acpi?		# ACPI AC Adapter
-#acpibat* 	at acpi?		# ACPI Battery
-#acpibut* 	at acpi?		# ACPI Button
-#acpiec* 	at acpi?		# ACPI Embedded Controller
-#acpilid* 	at acpi?		# ACPI Lid Switch
-#acpitz* 	at acpi?		# ACPI Thermal Zone
+acpiacad* 	at acpi?		# ACPI AC Adapter
+acpibat* 	at acpi?		# ACPI Battery
+acpibut* 	at acpi?		# ACPI Button
+acpiec* 	at acpi?		# ACPI Embedded Controller
+acpilid* 	at acpi?		# ACPI Lid Switch
+acpitz* 	at acpi?		# ACPI Thermal Zone
 
 # Mainboard devices
-#attimer*	at acpi?		# AT Timer
-#com* 		at acpi?		# Serial communications interface
-#fdc* 		at acpi?		# Floppy disk controller
-#joy*		at acpi?		# Joystick/Game port
-#lpt* 		at acpi?		# Parallel port
-#mpu*		at acpi?		# Roland MPU-401 MIDI UART
-#npx*		at acpi?		# Math coprocessor
-#pckbc*  	at acpi?		# PC keyboard controller
-#pcppi*		at acpi?                # AT-style speaker sound
-#wss* 		at acpi?		# NeoMagic 256AV in wss mode
-#ym* 		at acpi?		# Yamaha OPL3-SA[23] audio
+attimer*	at acpi?		# AT Timer
+com* 		at acpi?		# Serial communications interface
+fdc* 		at acpi?		# Floppy disk controller
+joy*		at acpi?		# Joystick/Game port
+lpt* 		at acpi?		# Parallel port
+mpu*		at acpi?		# Roland MPU-401 MIDI UART
+npx*		at acpi?		# Math coprocessor
+pckbc*  	at acpi?		# PC keyboard controller
+pcppi*		at acpi?                # AT-style speaker sound
+wss* 		at acpi?		# NeoMagic 256AV in wss mode
+ym* 		at acpi?		# Yamaha OPL3-SA[23] audio
 
 # Sony Vaio jog dial
-#spic* 		at acpi?		# Sony Programmable I/O Controller
-#wsmouse* 	at spic?
+spic* 		at acpi?		# Sony Programmable I/O Controller
+wsmouse* 	at spic?
 
 # Sony LCD brightness etc.
-#sony* 		at acpi?		# Sony Miscellaneous Controller
+sony* 		at acpi?		# Sony Miscellaneous Controller
 
 # Toshiba Libretto devices
-#vald* at acpi?
+vald* at acpi?
 
 # Plug-and-Play BIOS and attached devices
 
Index: sys/arch/i386/conf/GENERIC.MP
===================================================================
RCS file: /cvsroot/src/sys/arch/i386/conf/GENERIC.MP,v
retrieving revision 1.8
diff -u -r1.8 GENERIC.MP
--- sys/arch/i386/conf/GENERIC.MP	4 Jul 2006 00:30:22 -0000	1.8
+++ sys/arch/i386/conf/GENERIC.MP	25 Feb 2007 20:21:58 -0000
@@ -14,5 +14,3 @@
 #options 	MPVERBOSE
 #options 	DEBUG
 options 	MPBIOS		# configure CPUs and APICs using MPBIOS
-
-ioapic*		at mainbus? apid ?
Index: sys/arch/i386/conf/GENERIC.MPACPI
===================================================================
RCS file: sys/arch/i386/conf/GENERIC.MPACPI
diff -N sys/arch/i386/conf/GENERIC.MPACPI
--- sys/arch/i386/conf/GENERIC.MPACPI	28 Nov 2006 16:15:37 -0000	1.62
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,97 +0,0 @@
-#	$NetBSD: GENERIC.MPACPI,v 1.62 2006/11/28 16:15:37 christos Exp $
-#
-#	GENERIC.MP -- Generic, plus enable Multiprocessor support.
-#
-
-include "arch/i386/conf/GENERIC"
-
-options 	MULTIPROCESSOR
-
-options 	APM_NO_IDLE
-#options 	DIAGNOSTIC	# STRONGLY RECOMMENDED
-#options 	LOCKDEBUG
-#options 	MPDEBUG
-#options 	MPVERBOSE
-#options 	DEBUG
-options 	ACPIVERBOSE
-
-ioapic*		at mainbus? apid ?
-
-acpi0 		at mainbus0
-
-# ACPI devices
-acpiacad* 	at acpi?		# ACPI AC Adapter
-acpibat* 	at acpi?		# ACPI Battery
-acpibut* 	at acpi?		# ACPI Button
-acpiec* 	at acpi?		# ACPI Embedded Controller
-acpilid* 	at acpi?		# ACPI Lid Switch
-acpitz* 	at acpi?		# ACPI Thermal Zone
-
-# Mainboard devices
-attimer*	at acpi?		# AT Timer
-com* 		at acpi?		# Serial communications interface
-fdc* 		at acpi?		# Floppy disk controller
-joy*		at acpi?		# Joystick/Game port
-lpt* 		at acpi?		# Parallel port
-mpu*		at acpi?		# Roland MPU-401 MIDI UART
-npx*		at acpi?		# Math coprocessor
-pckbc*  	at acpi?		# PC keyboard controller
-pcppi*          at acpi?                # AT-style speaker sound
-wss* 		at acpi?		# NeoMagic 256AV in wss mode
-
-# Sony Vaio jog dial
-#spic* 		at acpi?		# Sony Programmable I/O Controller
-#wsmouse* 	at spic?
-
-# Sony LCD brightness etc.
-#sony* 		at acpi?		# Sony Miscellaneous Controller
-
-# Remove support for old cpus
-no options I486_CPU, I586_CPU
-#no options MATH_EMULATE
-no makeoptions CPUFLAGS
-makeoptions	CPUFLAGS="-march=pentiumpro -mtune=pentiumpro"
-
-# It is doubtful that an EISA system supports ACPI
-no options EISAVERBOSE
-no eisa
-no pceb
-
-# and even more doubtful that an MCA system supports ACPI
-no options MCAVERBOSE
-no mca
-no pcmb
-
-# ISA slots are also unlikely, isapnp can be removed, but the build fails
-# badly if isa is disabled.
-# no isapnp
-# no isa
-
-# Disable non-acpi mainboard devices
-# XXX: Is this list complete?
-no isa0 at mainbus?
-no com0 at isa?
-no com1 at isa?
-no com2 at isa?
-no fdc0 at isa?
-no lpt0 at isa?
-no lpt1 at isa?
-no lpt2 at isa?
-no npx0 at isa?
-no pcdisplay0 at isa?
-no pckbc0 at isa?
-no vga0 at isa?
-
-# Disable miscellaneous drivers that can't be needed.
-no geodewdog
-
-# These were absent from the pre-merged GENERIC.MPACPI
-# no options WSDISPLAY_CUSTOM_OUTPUT, WSDISPLAY_CUSTOM_BORDER
-# no options PCKBD_CNATTACH_MAY_FAIL
-# no options VND_COMPRESSION
-# no njs
-# no ciphy
-# no cdce
-# no fwohci
-# no uipaq
-# no atu
Index: sys/arch/i386/conf/INSTALL_LARGE
===================================================================
RCS file: sys/arch/i386/conf/INSTALL_LARGE
diff -N sys/arch/i386/conf/INSTALL_LARGE
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sys/arch/i386/conf/INSTALL_LARGE	25 Feb 2007 20:26:35 -0000
@@ -0,0 +1,17 @@
+#	$NetBSD: $
+#
+#	INSTALL_LARGE -- INSTALL suitable for modern machines
+#
+
+include "arch/i386/conf/INSTALL"
+
+acpi0 		at mainbus0
+
+#options 	ACPI_ACTIVATE_DEV	# If set, activate inactive devices
+#options 	ACPICA_PEDANTIC		# force strict conformance to the Spec.
+options		ACPIVERBOSE
+
+ioapic* 	at mainbus?
+bnx* 	at pci? dev ? function ?	# Broadcom NetXtremeII gigabit Ethernet
+txp*	at pci? dev ? function ?	# 3com 3cr990
+vge*	at pci? dev ? function ?	# VIATech VT612X Gigabit Ethernet

--17pEHd4RhPHOinZp--