1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
#
# $NetBSD: rd_bin.conf,v 1.1.1.1 1995/10/08 23:07:47 gwr Exp $
#
# common/rd_bin.conf - unified binary for the ramdisk.
#
# The ramdisk root has to stay small enough so the kernel
# can be loaded in less than one megabyte of ram, including
# uninitialized data (bss). Otherwise it will not work on
# the Sun3/50. This is not too hard, because the ONLY
# tools needed in this root are those that one might use
# to initialize the disk label and copy a miniroot image
# into the swap partiton. Everything else is done after
# the machine is rebooted from the miniroot.
#
# Note that the "ln" directives below are not really about
# filesystem links, but rather the ability of the resulting
# crunched binary to select the right program when argv[0]
# matches the names on right of the "ln prog" directive.
# For example, the shell can be run with argv[0]="-sh"
# (login shell convention) but no such file will exist.
# Similarly, one may want to run "init" as "oinit"...
#
# Notes about what is included (or not) and why:
#
# Include mknod incase I forgot some device nodes...
# Support copying miniroot from NFS, TFTP, or CDROM.
# Need mount_ffs, mount_ufs to remount the ramdisk.
#
# Might use cat to look at files (it's small anyway).
# Need for copying miniroot from tape: dd, mt
# Keep to allow minor fixes: ln, mkdir, mv
# Small and handy: cat, echo, pwd, sync
#
# Note: ssh has no "if", so "test" is useless. Also,
# left out: cp, chmod, rm. The ramdisk does not really
# need them, and they pull in fts_* from libc.
#
# Might use these to get the miniroot: rsh, tftp
#
# Assume gunzip can run elsewhere, i.e.:
# rsh gzcat sun3.miniroot.gz
# No need to extract archives either...
#
#
# Here are all the programs, ordered by source location:
# Special programs used to save space...
#srcdirs /usr/src/distrib/utils
srcdirs ../../utils
progs init_s ssh tls
ln init_s init oinit
ln ssh sh
ln ssh -sh # login shell (not actual file name)
ln tls ls
# These are built with special flags to save a little space.
# The x_ prefix is just to make them unique among all srcdirs.
progs x_dd x_ifconfig
ln x_dd dd
ln x_ifconfig ifconfig
srcdirs /usr/src/sbin
progs edlabel mknod mount
progs mount_cd9660 mount_ffs mount_nfs
progs reboot umount
ln mount_ffs ffs mount_ufs ufs
ln mount_nfs nfs
ln mount_cd9660 cd9660
ln reboot halt
srcdirs /usr/src/bin
progs cat echo ln mkdir mt mv pwd sync
srcdirs /usr/src/usr.bin
progs rsh tftp
# srcdirs /usr/src/usr.sbin
# srcdirs /usr/src/gnu/usr.bin
# progs cpio, gzip, tar
# ln gzip gzcat gunzip
libs libhack.o -lutil
|