# # $NetBSD: list,v 1.7 2010/03/10 23:13:10 abs Exp $ # # ramdisk/list - packing list 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 partition. 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 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... # SRCDIRS bin sbin usr.bin distrib/utils # From /usr/src/distrib/utils: PROG bin/dd PROG bin/tls bin/ls PROG bin/rsh PROG bin/ssh bin/sh bin/-sh # PROG bin/tftp PROG sbin/edlabel PROG sbin/ifconfig PROG sbin/init PROG sbin/route # From /usr/src/sbin: PROG sbin/mknod PROG sbin/mount PROG sbin/mount_cd9660 PROG sbin/mount_ffs PROG sbin/mount_nfs PROG sbin/reboot sbin/halt PROG sbin/umount # From /usr/src/bin: PROG bin/cat # PROG bin/chmod # PROG bin/cp PROG bin/echo PROG bin/ln PROG bin/mkdir PROG bin/mt PROG bin/mv PROG bin/pwd PROG bin/rcmd # PROG bin/rm PROG bin/sync PROG bin/zcat LIBS libhack.o -lrmt -lutil -lz -lprop # These are built with special flags to save a little space. SPECIAL ifconfig srcdir distrib/utils/x_ifconfig SPECIAL tls srcdir distrib/utils/tls SPECIAL route srcdir distrib/utils/x_route SPECIAL ssh srcdir distrib/utils/ssh SPECIAL umount srcdir distrib/utils/x_umount SPECIAL edlabel srcdir distrib/utils/edlabel # various files that we need in /etc for the install COPY ${CURDIR}/fstab etc/fstab COPY ${CURDIR}/passwd etc/passwd COPY ${CURDIR}/protocols etc/protocols COPY ${DISTRIBDIR}/common/services etc/services COPY ${CURDIR}/sshrc .sshrc COPY ${CURDIR}/welcome .welcome COPY ${NETBSDSRCDIR}/etc/netconfig etc/netconfig # Fake /usr SYMLINK . usr # Shell lacks pipe support, so use this. CMD mkfifo dev/pipe