1#
2#         $NetBSD: list,v 1.7 2010/03/10 23:13:10 abs 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/tls             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 -lprop
83
84# These are built with special flags to save a little space.
85SPECIAL   ifconfig  srcdir    distrib/utils/x_ifconfig
86SPECIAL   tls                 srcdir    distrib/utils/tls
87SPECIAL   route               srcdir    distrib/utils/x_route
88SPECIAL   ssh                 srcdir    distrib/utils/ssh
89SPECIAL   umount              srcdir    distrib/utils/x_umount
90SPECIAL   edlabel             srcdir    distrib/utils/edlabel
91
92# various files that we need in /etc for the install
93COPY      ${CURDIR}/fstab                         etc/fstab
94COPY      ${CURDIR}/passwd              etc/passwd
95COPY      ${CURDIR}/protocols           etc/protocols
96COPY      ${DISTRIBDIR}/common/services etc/services
97COPY      ${CURDIR}/sshrc                         .sshrc
98COPY      ${CURDIR}/welcome             .welcome
99
100COPY      ${NETBSDSRCDIR}/etc/netconfig etc/netconfig
101
102# Fake /usr
103SYMLINK   .         usr
104
105# Shell lacks pipe support, so use this.
106CMD       mkfifo dev/pipe
107