1# 2# $NetBSD: list,v 1.1 2002/05/17 17:52:36 lukem Exp $ 3# 4# ramdisk/list - packing list for the ramdisk. 5# 6# The ramdisk root has to stay small enough so the kernel 7# can be loaded in less than one megabyte of ram, including 8# uninitialized data (bss). Otherwise it will not work on 9# the Sun3/50. This is not too hard, because the ONLY 10# tools needed in this root are those that one might use 11# to initialize the disk label and copy a miniroot image 12# into the swap partition. Everything else is done after 13# the machine is rebooted from the miniroot. 14# 15# Note that the "ln" directives below are not really about 16# filesystem links, but rather the ability of the resulting 17# crunched binary to select the right program when argv[0] 18# matches the names on right of the "ln prog" directive. 19# For example, the shell can be run with argv[0]="-sh" 20# (login shell convention) but no such file will exist. 21# Similarly, one may want to run "init" as "oinit"... 22# 23# Notes about what is included (or not) and why: 24# 25# Include mknod incase I forgot some device nodes... 26# Support copying miniroot from NFS, TFTP, or CDROM. 27# Need mount_ffs to remount the ramdisk. 28# 29# Might use cat to look at files (it's small anyway). 30# Need for copying miniroot from tape: dd, mt 31# Keep to allow minor fixes: ln, mkdir, mv 32# Small and handy: cat, echo, pwd, sync 33# 34# Note: ssh has no "if", so "test" is useless. Also, 35# left out: cp, chmod, rm. The ramdisk does not really 36# need them, and they pull in fts_* from libc. 37# 38# Might use these to get the miniroot: rsh, tftp 39# 40# Assume gunzip can run elsewhere, i.e.: 41# rsh gzcat sun3.miniroot.gz 42# No need to extract archives either... 43# 44 45SRCDIRS bin sbin usr.bin distrib/utils 46 47# From /usr/src/distrib/utils: 48PROG bin/dd 49PROG bin/ls 50PROG bin/rsh 51PROG bin/ssh bin/sh bin/-sh 52# PROG bin/tftp 53PROG sbin/edlabel 54PROG sbin/ifconfig 55PROG sbin/init 56PROG sbin/route 57 58# From /usr/src/sbin: 59PROG sbin/mknod 60PROG sbin/mount 61PROG sbin/mount_cd9660 62PROG sbin/mount_ffs 63PROG sbin/mount_nfs 64PROG sbin/reboot sbin/halt 65PROG sbin/umount 66 67# From /usr/src/bin: 68PROG bin/cat 69# PROG bin/chmod 70# PROG bin/cp 71PROG bin/echo 72PROG bin/ln 73PROG bin/mkdir 74PROG bin/mt 75PROG bin/mv 76PROG bin/pwd 77PROG bin/rcmd 78# PROG bin/rm 79PROG bin/sync 80PROG bin/zcat 81 82LIBS libhack.o -lrmt -lutil -lz 83 84# These are built with special flags to save a little space. 85SPECIAL ifconfig srcdir distrib/utils/x_ifconfig 86SPECIAL ls srcdir distrib/utils/tls 87SPECIAL mount srcdir distrib/utils/x_mount 88SPECIAL route srcdir distrib/utils/x_route 89SPECIAL ssh srcdir distrib/utils/ssh 90SPECIAL umount srcdir distrib/utils/x_umount 91 92# various files that we need in /etc for the install 93COPY ${CURDIR}/disktab etc/disktab 94COPY ${CURDIR}/fstab etc/fstab 95COPY ${CURDIR}/passwd etc/passwd 96COPY ${CURDIR}/protocols etc/protocols 97COPY ${CURDIR}/services etc/services 98COPY ${CURDIR}/sshrc .sshrc 99COPY ${CURDIR}/welcome .welcome 100 101COPY ${NETBSDSRCDIR}/etc/netconfig etc/netconfig 102 103# Fake /usr 104SYMLINK . usr 105 106# Shell lacks pipe support, so use this. 107CMD mkfifo dev/pipe 108