Home | History | Annotate | Line # | Download | only in ramdisk
      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