1 # 2 # $NetBSD: list,v 1.12 2020/10/04 23:50:59 rin 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 Sun2/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 sun2.miniroot.gz 42 # No need to extract archives either... 43 # 44 45 SRCDIRS bin sbin usr.bin distrib/utils 46 47 # From /usr/src/distrib/utils: 48 PROG bin/dd 49 PROG bin/tls bin/ls 50 PROG bin/rsh 51 PROG bin/ssh bin/sh bin/-sh 52 # PROG bin/tftp 53 PROG sbin/edlabel 54 PROG sbin/ifconfig 55 PROG sbin/init 56 PROG sbin/route 57 58 # From /usr/src/sbin: 59 PROG sbin/mknod 60 PROG sbin/mount 61 # PROG sbin/mount_cd9660 62 PROG sbin/mount_ffs 63 # PROG sbin/mount_nfs 64 PROG sbin/reboot sbin/halt 65 PROG sbin/umount 66 67 # From /usr/src/bin: 68 PROG bin/cat 69 # PROG bin/chmod 70 # PROG bin/cp 71 PROG bin/echo 72 PROG bin/ln 73 PROG bin/mkdir 74 PROG bin/mt 75 PROG bin/mv 76 PROG bin/pwd 77 PROG bin/rcmd 78 # PROG bin/rm 79 PROG bin/sync 80 PROG bin/zcat 81 82 LIBS libhack.o -lrmt -lutil -lz -lprop 83 84 # These are built with special flags to save a little space. 85 SPECIAL ifconfig srcdir distrib/utils/x_ifconfig 86 SPECIAL tls srcdir distrib/utils/tls 87 SPECIAL route srcdir distrib/utils/x_route 88 SPECIAL ssh srcdir distrib/utils/ssh 89 SPECIAL umount srcdir distrib/utils/x_umount 90 SPECIAL edlabel srcdir distrib/utils/edlabel 91 92 # various files that we need in /etc for the install 93 COPY ${CURDIR}/fstab etc/fstab 94 COPY ${CURDIR}/passwd etc/passwd 95 COPY ${CURDIR}/protocols etc/protocols 96 COPY ${DISTRIBDIR}/common/services etc/services 97 COPY ${CURDIR}/sshrc .sshrc 98 COPY ${CURDIR}/welcome .welcome 99 100 COPY ${NETBSDSRCDIR}/etc/netconfig etc/netconfig 101 102 # Fake /usr 103 SYMLINK . usr 104 105 # Shell lacks pipe support, so use this. 106 CMD mkfifo dev/pipe 107