Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/distrib/sun2/miniroot Migrate to a distrib framework closer ...



details:   https://anonhg.NetBSD.org/src/rev/bf2006cccc3a
branches:  trunk
changeset: 526144:bf2006cccc3a
user:      lukem <lukem%NetBSD.org@localhost>
date:      Fri Apr 26 03:49:05 2002 +0000

description:
Migrate to a distrib framework closer to how other ports work.
Arguably this could be moved to using the distrib/miniroot
infrastructure instead.

XXX: This could benefit from being crunchgen-ed with libhack;
currently it just uses a lot of stuff out of ${DESTDIR}

diffstat:

 distrib/sun2/miniroot/Makefile      |   69 ++++++++--
 distrib/sun2/miniroot/fstab         |    5 +
 distrib/sun2/miniroot/install.md    |  229 ++++++++++++++++++++++++++++++++++++
 distrib/sun2/miniroot/list          |  153 ++++++++++++++++++++++++
 distrib/sun2/miniroot/miniroot.list |  153 ------------------------
 distrib/sun2/miniroot/mtree.conf    |   25 +++
 distrib/sun2/miniroot/profile       |   54 ++++++++
 distrib/sun2/miniroot/termcap       |   91 ++++++++++++++
 8 files changed, 612 insertions(+), 167 deletions(-)

diffs (truncated from 835 to 300 lines):

diff -r 7855514d0edc -r bf2006cccc3a distrib/sun2/miniroot/Makefile
--- a/distrib/sun2/miniroot/Makefile    Fri Apr 26 03:38:19 2002 +0000
+++ b/distrib/sun2/miniroot/Makefile    Fri Apr 26 03:49:05 2002 +0000
@@ -1,13 +1,10 @@
-#      $NetBSD: Makefile,v 1.7 2002/04/26 02:51:47 lukem Exp $
-
-TOP=           ${.CURDIR}/..
+#      $NetBSD: Makefile,v 1.8 2002/04/26 03:49:05 lukem Exp $
 
 .include <bsd.own.mk>
 .include <bsd.kernobj.mk>
 .include "${_SRC_TOP_}/distrib/Makefile.inc"
 
-IMG=           miniroot
-IMAGE=         ${IMG}
+IMAGE=         miniroot.fs
 IMAGESIZE=     12m
 MAKEFS_FLAGS=  -o minfree=0,optimization=space,density=8k,cpg=16
 
@@ -16,24 +13,68 @@
 WARNS=         1
 DBG=           -Os
 
-LISTS=         ${.CURDIR}/${IMG}.list
-PARSELISTENV=  TOPDIR=${TOP} KERNEL=${KERNEL}
-MTREECONF=     ${TOP}/common/${IMG}.tree
+LISTS=         ${.CURDIR}/list
+MTREECONF=     ${.CURDIR}/mtree.conf
 IMAGEENDIAN=   be
+PARSELISTENV=  KERNEL=${KERNEL}
 MAKEDEVTARGETS=        std md0 cd0 st0 st1 sd0 sd1 sd2 xd0 xy0 fd0
-IMAGEDEPENDS=  ${KERNEL} install.sub
+IMAGEDEPENDS=  ${KERNEL} \
+               fstab install.md profile termcap \
+               ${DESTDIR}/bin/cat ${DESTDIR}/bin/chmod ${DESTDIR}/bin/cp \
+               ${DESTDIR}/bin/date ${DESTDIR}/bin/dd ${DESTDIR}/bin/df \
+               ${DESTDIR}/bin/ed ${DESTDIR}/bin/expr ${DESTDIR}/bin/hostname \
+               ${DESTDIR}/bin/kill ${DESTDIR}/bin/ln ${DESTDIR}/bin/ls \
+               ${DESTDIR}/bin/mkdir ${DESTDIR}/bin/mt ${DESTDIR}/bin/mv \
+               ${DESTDIR}/bin/pax ${DESTDIR}/bin/ps ${DESTDIR}/bin/pwd \
+               ${DESTDIR}/bin/rm ${DESTDIR}/bin/rmdir ${DESTDIR}/bin/sh \
+               ${DESTDIR}/bin/sleep ${DESTDIR}/bin/stty ${DESTDIR}/bin/sync \
+               ${DESTDIR}/bin/test  \
+               ${DESTDIR}/dev/MAKEDEV ${DESTDIR}/dev/MAKEDEV.local \
+               ${DESTDIR}/etc/disktab ${DESTDIR}/etc/group \
+               ${DESTDIR}/etc/master.passwd ${DESTDIR}/etc/netconfig \
+               ${DESTDIR}/etc/passwd ${DESTDIR}/etc/protocols \
+               ${DESTDIR}/etc/pwd.db ${DESTDIR}/etc/services \
+               ${DESTDIR}/etc/spwd.db \
+               ${DESTDIR}/sbin/dmesg ${DESTDIR}/sbin/edlabel \
+               ${DESTDIR}/sbin/fsck ${DESTDIR}/sbin/fsck_ffs \
+               ${DESTDIR}/sbin/ifconfig ${DESTDIR}/sbin/init \
+               ${DESTDIR}/sbin/mknod ${DESTDIR}/sbin/mount \
+               ${DESTDIR}/sbin/mount_cd9660 ${DESTDIR}/sbin/mount_ffs \
+               ${DESTDIR}/sbin/mount_kernfs ${DESTDIR}/sbin/mount_nfs \
+               ${DESTDIR}/sbin/newfs ${DESTDIR}/sbin/ping \
+               ${DESTDIR}/sbin/reboot ${DESTDIR}/sbin/restore \
+               ${DESTDIR}/sbin/route ${DESTDIR}/sbin/shutdown \
+               ${DESTDIR}/sbin/slattach ${DESTDIR}/sbin/swapctl \
+               ${DESTDIR}/sbin/sysctl ${DESTDIR}/sbin/umount \
+               ${DESTDIR}/usr/bin/chflags ${DESTDIR}/usr/bin/cksum \
+               ${DESTDIR}/usr/bin/cmp ${DESTDIR}/usr/bin/false \
+               ${DESTDIR}/usr/bin/ftp ${DESTDIR}/usr/bin/gzip \
+               ${DESTDIR}/usr/bin/less ${DESTDIR}/usr/bin/rsh \
+               ${DESTDIR}/usr/bin/sed ${DESTDIR}/usr/bin/sort \
+               ${DESTDIR}/usr/bin/tip ${DESTDIR}/usr/bin/true \
+               ${DESTDIR}/usr/bin/vi \
+               ${DESTDIR}/usr/mdec/bootxx ${DESTDIR}/usr/mdec/bootyy \
+               ${DESTDIR}/usr/mdec/netboot ${DESTDIR}/usr/mdec/tapeboot \
+               ${DESTDIR}/usr/mdec/ufsboot \
+               ${DESTDIR}/usr/sbin/chown ${DESTDIR}/usr/sbin/installboot \
+               ${DESTDIR}/usr/sbin/rdate \
+               ${DISTRIBDIR}/miniroot/install.sh \
+               ${DISTRIBDIR}/miniroot/upgrade.sh \
+               ${OBJDIR}/install.sub
 
-realall: ${IMG} ib.stamp
+realall: ${IMAGE} ib.stamp
 
-ib.stamp: ${IMG}
-       ${INSTALLBOOT} -m ${MACHINE} -v ${IMG} \
+ib.stamp: ${IMAGE}
+       ${INSTALLBOOT} -m ${MACHINE} -v ${IMAGE} \
            ${DESTDIR}/usr/mdec/bootxx /ufsboot
        touch ib.stamp
 
-install.sub : ${TOP}/../miniroot/install.sub
+CLEANFILES+=   ib.stamp ${IMAGE}.gz
+
+install.sub : ${DISTRIBDIR}/miniroot/install.sub
        sed -e "/^VERSION=/s/=.*/=${DISTRIBREV}/" < $? > $@
 
-${IMAGE}.gz: ${IMAGE}
+${IMAGE}.gz: ${IMAGE} .WAIT ib.stamp
        gzip -c -9 < ${IMAGE} > ${IMAGE}.gz
 
 release: check_RELEASEDIR .WAIT ${IMAGE}.gz
diff -r 7855514d0edc -r bf2006cccc3a distrib/sun2/miniroot/fstab
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/distrib/sun2/miniroot/fstab       Fri Apr 26 03:49:05 2002 +0000
@@ -0,0 +1,5 @@
+#      $NetBSD: fstab,v 1.1 2002/04/26 03:49:06 lukem Exp $
+#
+/kern  /kern kernfs ro 0 0
+/kern/rootdev / ffs rw 1 1
+/kern/rootdev none swap sw 0 0
diff -r 7855514d0edc -r bf2006cccc3a distrib/sun2/miniroot/install.md
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/distrib/sun2/miniroot/install.md  Fri Apr 26 03:49:05 2002 +0000
@@ -0,0 +1,229 @@
+#      $NetBSD: install.md,v 1.1 2002/04/26 03:49:06 lukem Exp $
+#
+#
+# Copyright (c) 1996 The NetBSD Foundation, Inc.
+# All rights reserved.
+#
+# This code is derived from software contributed to The NetBSD Foundation
+# by Jason R. Thorpe.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. All advertising materials mentioning features or use of this software
+#    must display the following acknowledgement:
+#        This product includes software developed by the NetBSD
+#        Foundation, Inc. and its contributors.
+# 4. Neither the name of The NetBSD Foundation nor the names of its
+#    contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+# machine dependent section of installation/upgrade script.
+#
+
+# Machine-dependent install sets
+# MDSETS="xbin xman xinc xcon" XXX
+MDSETS=""
+
+md_set_term() {
+       if [ ! -z "$TERM" ]; then
+               return
+       fi
+       echo -n "Specify terminal type [sun]: "
+       getresp "sun"
+       TERM="$resp"
+       export TERM
+}
+
+__mount_kernfs() {
+       # Make sure kernfs is mounted.
+       if [ ! -d /kern -o ! -e /kern/msgbuf ]; then
+               mkdir /kern > /dev/null 2>&1
+               /sbin/mount_kernfs /kern /kern
+       fi
+}
+
+md_makerootwritable() {
+       # Just remount the root device read-write.
+       if [ ! -e /tmp/root_writable ]; then
+               echo "Remounting root read-write..."
+               __mount_kernfs
+               mount -u -t ffs /kern/rootdev /
+               swapctl -a /kern/rootdev
+               cp /dev/null /tmp/root_writable
+       fi
+}
+
+md_get_diskdevs() {
+       # return available disk devices
+       __mount_kernfs
+       sed -n -e '/^sd[0-9] /s/ .*//p' \
+              -e '/^xd[0-9] /s/ .*//p' \
+              -e '/^xy[0-9] /s/ .*//p' \
+               < /kern/msgbuf | sort -u
+}
+
+md_get_cddevs() {
+       # return available CDROM devices
+       __mount_kernfs
+       sed -n -e '/^cd[0-9] /s/ .*//p' \
+               < /kern/msgbuf | sort -u
+}
+
+md_get_ifdevs() {
+       # return available network devices
+       __mount_kernfs
+       sed -n -e '/^ie[0-9] /s/ .*//p' \
+              -e '/^le[0-9] /s/ .*//p' \
+               < /kern/msgbuf | sort -u
+}
+
+md_get_partition_range() {
+       # return an expression describing the valid partition id's
+       echo '[a-h]'
+}
+
+md_installboot() {
+       # install the boot block on disk $1
+       echo "Installing boot block..."
+       ( cd /usr/mdec ;\
+       cp -p ./ufsboot /mnt/ufsboot ;\
+       sync ; sleep 1 ; sync ;\
+       /usr/sbin/installboot -v /dev/r${1}a bootxx ufsboot )
+       echo "done."
+}
+
+md_native_fstype() {
+}
+
+md_native_fsopts() {
+}
+
+md_prep_disklabel() {
+       # $1 is the root disk
+       echo -n "Do you wish to edit the disklabel on ${1}? [y]"
+       getresp "y"
+       case "$resp" in
+       y*|Y*) ;;
+       *)      return ;;
+       esac
+
+       # display example
+       cat << \__md_prep_disklabel_1
+Here is an example of what the partition information will look like once
+you have entered the disklabel editor. Disk partition sizes and offsets
+are in sector (most likely 512 bytes) units. Make sure all partitions
+start on a cylinder boundary (c/t/s == XXX/0/0).
+
+[Example]
+partition      start         (c/t/s)      nblks         (c/t/s)  type
+
+ a (root)          0       (0/00/00)      31392     (109/00/00)  4.2BSD
+ b (swap)      31392     (109/00/00)      73440     (255/00/00)  swap
+ c (disk)          0       (0/00/00)    1070496    (3717/00/00)  unused
+ d (user)     104832     (364/00/00)      30528     (106/00/00)  4.2BSD
+ e (user)     135360     (470/00/00)      40896     (142/00/00)  4.2BSD
+ f (user)     176256     (612/00/00)      92160     (320/00/00)  4.2BSD
+ g (user)     268416     (932/00/00)     802080    (2785/00/00)  4.2BSD
+
+[End of example]
+
+Hit the <return> key when you have read this...
+
+__md_prep_disklabel_1
+       getresp ""
+       edlabel /dev/r${1}c
+}
+
+md_copy_kernel() {
+       echo -n "Copying kernel..."
+       cp -p /netbsd /mnt/netbsd
+       ln /mnt/netbsd /mnt/vmunix
+       echo "done."
+}
+
+md_welcome_banner() {
+       if [ "$MODE" = "install" ]; then
+               echo ""
+               echo "Welcome to the NetBSD/sun2 ${VERSION} installation program."
+               cat << \__welcome_banner_1
+
+This program is designed to help you put NetBSD on your disk,
+in a simple and rational way.  You'll be asked several questions,
+and it would probably be useful to have your disk's hardware
+manual, the installation notes, and a calculator handy.
+__welcome_banner_1
+
+       else
+               echo ""
+               echo "Welcome to the NetBSD/sun2 ${VERSION} upgrade program."
+               cat << \__welcome_banner_2
+
+This program is designed to help you upgrade your NetBSD system in a
+simple and rational way.
+
+As a reminder, installing the `etc' binary set is NOT recommended.
+Once the rest of your system has been upgraded, you should manually
+merge any changes to files in the `etc' set into those files which
+already exist on your system.
+__welcome_banner_2
+       fi
+



Home | Main Index | Thread Index | Old Index