Put the GENERIC kernel onto i386 installation CDs and load a kernel module

from the boot loader to provide the miniroot.
This commit is contained in:
ad 2008-05-02 23:13:05 +00:00
parent 7d1f779aa2
commit 59978d093b
13 changed files with 55 additions and 37 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.mdset,v 1.30 2007/09/08 14:25:09 chris Exp $
# $NetBSD: Makefile.mdset,v 1.31 2008/05/02 23:13:05 ad Exp $
#
# Makefile snippet to ${TOOL_MDSETIMAGE} file system images into kernels
#
@ -120,11 +120,17 @@ _POST.${_KERNEL.${_K}.${_F}}:= ${MDSET_POST}
CLEANFILES+= ${_KERNEL.${_K}.${_F}}
.if defined(MDSET_NOIMAGE.${_FILENAME})
${_I}=
.endif
${_KERNEL.${_K}.${_F}}: .NOTMAIN ${_KERNNAME.${_K}.${_F}} ${_I}
${_MKTARGET_CREATE} "(from: ${.ALLSRC})"
@rm -f ${.TARGET} ${.TARGET}.tmp ${.TARGET}.symbols.gz
@cp ${_KERNNAME.${_K}.${_F}} ${.TARGET}.tmp
.if !defined(MDSET_NOIMAGE.${_FILENAME})
${TOOL_MDSETIMAGE} -v ${.TARGET}.tmp ${_I}
.endif
.if !defined(MDSET_NOSYMBOLS.${_FILENAME}) && !defined(MDSET_NOSYMBOLS)
${NM} ${.TARGET}.tmp | gzip -9 > ${.TARGET}.symbols.gz
.endif

View File

@ -1,9 +1,10 @@
# $NetBSD: Makefile,v 1.5 2007/03/06 21:52:45 bouyer Exp $
# $NetBSD: Makefile,v 1.6 2008/05/02 23:13:05 ad Exp $
SUBDIR=
SUBDIR+= ramdisks
SUBDIR+= .WAIT
SUBDIR+= instkernel
SUBDIR+= kmod
SUBDIR+= .WAIT
SUBDIR+= cdroms
SUBDIR+= floppies

View File

@ -1,5 +1,10 @@
# $NetBSD: Makefile.cdrom,v 1.4 2008/04/30 15:29:11 ad Exp $
# $NetBSD: Makefile.cdrom,v 1.5 2008/05/02 23:13:05 ad Exp $
.include <bsd.own.mk>
KMODOBJDIR!= cd ${.CURDIR}/../../kmod && ${PRINTOBJDIR}
CDMAKEFSOPTIONS= bootimage=i386;bootxx.${MACHINE},no-emul-boot
CDINSTKERNEL= ../../instkernel
CDKERNELS= netbsd-INSTALL.gz netbsd # from ../instkernel
CDBUILDEXTRA+= ${KMODOBJDIR}/miniroot.kmod
CDINSTKERNEL= ../../instkernel
CDKERNELS= netbsd-GENERIC.gz netbsd

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.4 2008/02/23 17:52:14 sborrill Exp $
# $NetBSD: Makefile,v 1.5 2008/05/02 23:13:06 ad Exp $
#
.include "${.CURDIR}/../Makefile.cdrom"
@ -6,7 +6,7 @@
CDBASE= boot-com # gives ${CDBASE}.iso
CDBOOTOPTIONS= -o console=com0
CDBUILDEXTRA= boot.cfg # Add boot.cfg file
CDBUILDEXTRA+= boot.cfg # Add boot.cfg file
CLEANFILES+= boot.cfg
prepare_md_post:

View File

@ -1,10 +1,10 @@
# $NetBSD: Makefile,v 1.4 2008/02/23 17:52:14 sborrill Exp $
# $NetBSD: Makefile,v 1.5 2008/05/02 23:13:05 ad Exp $
#
.include "${.CURDIR}/../Makefile.cdrom"
CDBASE= boot # gives ${CDBASE}.iso
CDBUILDEXTRA= boot.cfg # Add boot.cfg file
CDBUILDEXTRA+= boot.cfg # Add boot.cfg file
CLEANFILES+= boot.cfg
prepare_md_post:

View File

@ -15,3 +15,4 @@ menu=Install NetBSD (no ACPI):boot netbsd -2
menu=Install NetBSD (no ACPI, no SMP):boot netbsd -12
menu=Drop to boot prompt:prompt
timeout=10
load=/miniroot.kmod

View File

@ -1,14 +1,15 @@
# $NetBSD: Makefile,v 1.4 2007/11/23 16:21:22 sborrill Exp $
# $NetBSD: Makefile,v 1.5 2008/05/02 23:13:06 ad Exp $
#
# Install CD, to be made after 'build.sh release'
# Requires populated $RELEASEDIR/${MACHINE}
.include <bsd.own.mk>
.include "${.CURDIR}/../Makefile.cdrom"
CDBASE= i386cd # gives ${CDBASE}.iso
CDRELEASE= true # include $RELEASEDIR/$MACHINE
CDBUILDEXTRA= boot.cfg # Add boot.cfg file
CDBUILDEXTRA+= boot.cfg # Add boot.cfg file
CLEANFILES+= boot.cfg
prepare_md_post:

View File

@ -12,3 +12,4 @@ menu=Install NetBSD (no ACPI):boot netbsd -2
menu=Install NetBSD (no ACPI, no SMP):boot netbsd -12
menu=Drop to boot prompt:prompt
timeout=10
load=/miniroot.kmod

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.10 2008/04/30 15:29:11 ad Exp $
# $NetBSD: Makefile,v 1.11 2008/05/02 23:13:06 ad Exp $
.include <bsd.own.mk>
.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
@ -17,7 +17,7 @@ ${V}= ${${V}DIR}/${F}.fs
# If you change the list of distributed install kernels, don't forget
# to update the release documentation in distrib/notes/common/contents
MDSETTARGETS= INSTALL ${RAMDISK_B} -
MDSETTARGETS+= GENERIC ${RAMDISK_B} -
MDSETTARGETS+= INSTALL_FLOPPY ${RAMDISK_B} -
MDSETTARGETS+= INSTALL_XEN2_DOMU ${RAMDISK_B} -
MDSETTARGETS+= INSTALL_XEN3_DOMU ${RAMDISK_B} -
@ -28,6 +28,9 @@ MDSETTARGETS+= INSTALL_XEN3PAE_DOMU ${RAMDISK_B} -
# MDSETTARGETS+= INSTALL_TINY ${RESCUE_T} netbsd-RESCUE_TINY
MDSET_RELEASEDIR= binary/kernel
# need symbols to load modules. don't actually want image inserted.
MDSET_NOSTRIP.netbsd-GENERIC=
MDSET_NOIMAGE.netbsd-GENERIC=
# do not strip Xen kernels, there's no space constraints here.
MDSET_NOSTRIP.netbsd-INSTALL_XEN2_DOMU=
MDSET_NOSTRIP.netbsd-INSTALL_XEN3_DOMU=

View File

@ -0,0 +1,22 @@
# $NetBSD: Makefile,v 1.1 2008/05/02 23:13:06 ad Exp $
.include <bsd.own.mk>
MKMAN= no
PROG= miniroot.kmod
SRCMOD= ${DESTDIR}/kernel/modules/miniroot/miniroot.kmod
DSTMOD= ${.OBJDIR}/miniroot.kmod
RAMDISK= ramdisk-big
RAMDISKDIR!= cd ${.CURDIR}/../ramdisks/${RAMDISK} && ${PRINTOBJDIR}
RAMDISKFS= ${RAMDISKDIR}/${RAMDISK}.fs
miniroot.kmod: ${RAMDISKFS} ${SRCMOD}
${OBJCOPY} --add-section miniroot=${RAMDISKFS} \
--set-section-flags miniroot=alloc,contents,load,data \
${SRCMOD} ${DSTMOD}
.include <bsd.prog.mk>
release: miniroot.kmod

View File

@ -1,14 +1,8 @@
# $NetBSD: Makefile,v 1.2 2006/11/19 11:17:51 dsl Exp $
# $NetBSD: Makefile,v 1.3 2008/05/02 23:13:06 ad Exp $
SUBDIR=
SUBDIR+= ramdisk-big
# These are only needed if you have a system with < 16MB (maybe 32MB)
# of memory. In which case you probably want to build a custom one anyway.
# SUBDIR+= ramdisk-rescuetiny
# SUBDIR+= ramdisk-small
# SUBDIR+= ramdisk-tiny
TARGETS+= release
.include <bsd.subdir.mk>

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.57 2008/04/30 15:29:11 ad Exp $
# $NetBSD: Makefile.inc,v 1.58 2008/05/02 23:13:05 ad Exp $
#
# etc.i386/Makefile.inc -- i386-specific etc Makefile targets
#
@ -15,7 +15,6 @@ KERNEL_SETS+= XEN3PAE_DOMU
# KERNEL_SETS+= GENERIC_TINY
# KERNEL_SETS+= GENERIC_PS2TINY
BUILD_KERNELS+= INSTALL
BUILD_KERNELS+= INSTALL_FLOPPY
BUILD_KERNELS+= INSTALL_XEN2_DOMU
BUILD_KERNELS+= INSTALL_XEN3_DOMU

View File

@ -1,15 +0,0 @@
# $NetBSD: INSTALL,v 1.325 2008/05/02 15:26:38 ad Exp $
#
# INSTALL - Installation kernel.
#
# This kernel is derived from GENERIC with additional memory disk
# options.
include "arch/i386/conf/GENERIC"
#ident "INSTALL-$Revision: 1.325 $"
no options MEMORY_DISK_DYNAMIC
options MEMORY_DISK_IS_ROOT # force root on memory disk
options MEMORY_DISK_SERVER=0 # no userspace memory disk support
options MEMORY_DISK_ROOT_SIZE=10000 # size of memory disk, in blocks