list revision 1.4
11.1Slukem#
21.4Slukem#	$NetBSD: list,v 1.4 2002/04/26 15:50:48 lukem Exp $
31.1Slukem#
41.1Slukem# ramdisk/list - packing list for the ramdisk.
51.1Slukem#
61.1Slukem# The ramdisk root has to stay small enough so the kernel
71.1Slukem# can be loaded in less than one megabyte of ram, including
81.1Slukem# uninitialized data (bss).  Otherwise it will not work on
91.1Slukem# the Sun2/50.  This is not too hard, because the ONLY
101.1Slukem# tools needed in this root are those that one might use
111.1Slukem# to initialize the disk label and copy a miniroot image
121.1Slukem# into the swap partition.  Everything else is done after
131.1Slukem# the machine is rebooted from the miniroot.
141.1Slukem#
151.1Slukem# Note that the "ln" directives below are not really about
161.1Slukem# filesystem links, but rather the ability of the resulting
171.1Slukem# crunched binary to select the right program when argv[0]
181.1Slukem# matches the names on right of the "ln prog" directive.
191.1Slukem# For example, the shell can be run with argv[0]="-sh"
201.1Slukem# (login shell convention) but no such file will exist.
211.1Slukem# Similarly, one may want to run "init" as "oinit"...
221.1Slukem#
231.1Slukem# Notes about what is included (or not) and why:
241.1Slukem#
251.1Slukem# Include mknod incase I forgot some device nodes...
261.1Slukem# Support copying miniroot from NFS, TFTP, or CDROM.
271.1Slukem# Need mount_ffs, mount_ufs to remount the ramdisk.
281.1Slukem#
291.1Slukem# Might use cat to look at files (it's small anyway).
301.1Slukem# Need for copying miniroot from tape: dd, mt
311.1Slukem# Keep to allow minor fixes: ln, mkdir, mv
321.1Slukem# Small and handy: cat, echo, pwd, sync
331.1Slukem#
341.1Slukem# Note: ssh has no "if", so "test" is useless.  Also,
351.1Slukem# left out: cp, chmod, rm.  The ramdisk does not really
361.1Slukem# need them, and they pull in fts_* from libc.
371.1Slukem#
381.1Slukem# Might use these to get the miniroot: rsh, tftp
391.1Slukem#
401.1Slukem# Assume gunzip can run elsewhere, i.e.:
411.1Slukem#   rsh gzcat sun2.miniroot.gz
421.1Slukem# No need to extract archives either...
431.1Slukem#
441.1Slukem
451.1SlukemSRCDIRS	bin sbin usr.bin distrib/utils
461.1Slukem
471.1Slukem# From /usr/src/distrib/utils:
481.1SlukemPROG		sbin/init
491.1SlukemPROG		sbin/ifconfig
501.1SlukemPROG		sbin/edlabel
511.1SlukemPROG		sbin/route
521.1SlukemPROG		bin/dd
531.1SlukemPROG		bin/ls
541.1SlukemPROG		bin/rsh
551.1SlukemPROG		bin/ssh		bin/sh bin/-sh
561.1Slukem# PROG		bin/tftp
571.1Slukem
581.1Slukem# From /usr/src/sbin:
591.1SlukemPROG		sbin/reboot	sbin/halt
601.1SlukemPROG		sbin/mknod
611.1SlukemPROG		sbin/mount
621.3SlukemPROG		sbin/mount_cd9660
631.3SlukemPROG		sbin/mount_ffs
641.3SlukemPROG		sbin/mount_nfs
651.1SlukemPROG		sbin/umount
661.1Slukem
671.1Slukem# From /usr/src/bin:
681.1SlukemPROG		bin/cat
691.1Slukem# PROG		bin/chmod
701.1Slukem# PROG		bin/cp
711.1SlukemPROG		bin/echo
721.1SlukemPROG		bin/ln
731.1SlukemPROG		bin/mkdir
741.1SlukemPROG		bin/mt
751.1SlukemPROG		bin/mv
761.1SlukemPROG		bin/pwd
771.1Slukem# PROG		bin/rm
781.1SlukemPROG		bin/sync
791.1SlukemPROG		bin/zcat
801.1SlukemPROG		bin/rcmd
811.1Slukem
821.1SlukemLIBS libhack.o -lrmt -lutil -lz
831.1Slukem
841.1Slukem# These are built with special flags to save a little space.
851.1SlukemSPECIAL ls		srcdir	distrib/utils/tls
861.1SlukemSPECIAL ssh		srcdir	distrib/utils/ssh
871.1SlukemSPECIAL ifconfig	srcdir	distrib/utils/x_ifconfig
881.1SlukemSPECIAL mount		srcdir	distrib/utils/x_mount
891.1SlukemSPECIAL route		srcdir	distrib/utils/x_route
901.1SlukemSPECIAL umount		srcdir	distrib/utils/x_umount
911.1Slukem
921.1Slukem# various files that we need in /etc for the install
931.2SlukemCOPY	${CURDIR}/disktab	etc/disktab
941.2SlukemCOPY	${CURDIR}/fstab		etc/fstab
951.2SlukemCOPY	${CURDIR}/passwd	etc/passwd
961.2SlukemCOPY	${CURDIR}/protocols	etc/protocols
971.2SlukemCOPY	${CURDIR}/services	etc/services
981.2SlukemCOPY	${CURDIR}/sshrc		.sshrc
991.2SlukemCOPY	${CURDIR}/welcome	.welcome
1001.1Slukem
1011.4SlukemCOPY	${NETBSDSRCDIR}/etc/netconfig	etc/netconfig
1021.1Slukem
1031.1Slukem# Fake /usr
1041.1SlukemSYMLINK . usr
1051.1Slukem
1061.1Slukem# Shell lacks pipe support, so use this.
1071.1SlukemCMD	mkfifo dev/pipe
108