# # $NetBSD: rd_bin.conf,v 1.7 2001/09/21 06:12:52 mrg 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 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, 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 distrib/utils progs init ssh ls zcat special init srcdir distrib/utils/init_s special ls srcdir distrib/utils/tls ln init oinit ln ssh sh ln ssh -sh # login shell (not actual file name) # These are built with special flags to save a little space. progs dd ifconfig mount route umount special dd srcdir distrib/utils/x_dd special ifconfig srcdir distrib/utils/x_ifconfig special mount srcdir distrib/utils/x_mount special route srcdir distrib/utils/x_route special umount srcdir distrib/utils/x_umount srcdirs sbin progs edlabel mknod progs mount_cd9660 mount_ffs mount_nfs progs reboot ln mount_ffs ffs mount_ufs ufs ln mount_nfs nfs ln mount_cd9660 cd9660 ln reboot halt srcdirs bin progs cat echo ln mkdir mt mv pwd rcmd sync srcdirs usr.bin progs rsh # progs tftp # srcdirs usr.sbin # srcdirs gnu/usr.bin # progs cpio, gzip, tar # ln gzip gzcat gunzip libs libhack.o -lrmt -lutil -lz