# -*- Mode: Fundamental -*- # # $Id: Sample.yard,v 1.1 2000/11/30 04:46:41 freesource Exp $ # This is Bootdisk_Contents, for use with Yard. # This script created automatically from Bootdisk_Contents.in # # Tom Fawcett # May 1996 ############################################################################# # # Format rules: # - Lines beginning with # or % are comments. # # - Blank lines and whitespace may be used freely. # # - Filenames may be either relative or absolute. # Any filename not beginning with a slash is relative and # will be resolved relative to the current directory. # # - Lines of the form "filename1 -> filename2" will create symbolic (soft) # links on the root fs. Eg, if you want sh linked to bash # in the root fs you specify: "/bin/sh -> /bin/bash" # (There is no way to specify hardlinks, though hard linked files # that exist on the hard disk will be hard linked on the floppy.) # # - Lines of the form "filename1 <= filename2" # will cause filename2 to be copied to filename1 on the boot disk. # This is useful for specifying trimmed-down replacements for # /etc/passwd, /etc/inittab, etc. filename2 will be found first by # searching PATH, then by searching relative to the current directory. # # - Glob designations (?, * and []) are generally allowed, eg /dev/hd[ab]* # Wildcards are not allowed in link specs or replacement specs. # # - You may refer to environment variables in these specs by using # a dollar sign. $RELEASE will be set to the release string of # $kernel. # # You generally don't need to specify shared libraries or loaders. # make_root_fs will detect necessary libraries with ldd and include # them automatically. (But see the comment below regarding RedHat's # libnss libraries, whose dependencies cannot be automatically detected). # # You don't need to explicitly specify intermediate directories # unless you just want to make sure they exist. # ############################################################################## # Specify these binaries absolutely because boot scripts need them to be here. /bin/cat /bin/false /bin/hostname /bin/ln /bin/login /bin/ls /bin/more /bin/mount /bin/mv /bin/su /bin/true /bin/umount /bin/loadkeys ##### THE DEFAULT SHELL # (I use bash, but it's huge and requires libncurses.so. # Most people grab a smaller lightweight shell, like ash or kiss, # and use that instead.) #/bin/sh -> bash #/bin/csh -> tcsh /bin/sh -> ash #/sbin/halt /sbin/init /sbin/reboot /sbin/shutdown #/sbin/swapoff /sbin/swapon /sbin/telinit /sbin/update ##### FILES IN /etc, TAKEN FROM YOUR SETUP # # The advantage of using your existing /etc/passwd file is that is has # all the correct UIDs and GIDs, which may be useful when restoring # files from tape. On the other hand, using a trimmed-down passwd # allows you to use a trimmed-down shell, and avoids lots of errors # from check_root_fs about home directories and shells not existing. # /etc/group /etc/issue /etc/profile /etc/shells # These get replaced with their pared-down versions # in the Replacements subdirectory. /etc/passwd <= ./Replacements/etc/passwd /etc/fstab <= ./Replacements/etc/fstab /etc/motd <= ./Replacements/etc/bootdisk_motd /etc/rc <= ./Replacements/etc/rc /etc/ttytype <= ./Replacements/etc/ttytype /etc/gettydefs <= ./Replacements/etc/gettydefs /etc/termcap <= ./Replacements/etc/termcap # PROVISIONS FOR PAM: /etc/pam.conf <= ./Replacements/etc/pam.conf /lib/security/pam_permit.so # PROVISIONS FOR GLIBC'S (LIBC6) NSS. # If you use libc5, comment these out. # /etc/nsswitch.conf <= ./Replacements/etc/nsswitch.conf /lib/libnss_files.so.2 ##### INITTAB and GETTY # Use one of these pairs, based on your distribution: # #==== REDHAT (5.x, 6.0) uses getty #/etc/inittab <= Replacements/etc/inittab #/sbin/getty # # #===== MANDRAKE (7) uses mingetty /etc/inittab <= Replacements/etc/inittab.mingetty /sbin/mingetty # # #==== SLACKWARE uses agetty: #/etc/inittab <= Replacements/etc/inittab.agetty #/sbin/agetty # # #==== DEBIAN (1.1) uses a program called "getty" which is actually # agetty in disguise: #/etc/inittab <= Replacements/etc/inittab.debian #/sbin/getty # # #==== SUSE uses mingetty: #/etc/inittab <= Replacements/etc/inittab.mingetty #/sbin/mingetty # # # If in doubt, check your /etc/inittab. # # In any case, check to make sure the *getty* calls in the inittab match # the executable you're using. Yard can't check this and *getty* will # hang if the arguments are wrong. ##### DEVICES # Remove/prune these if you're sure you won't need them #/dev/*tape* # Tape device links #/dev/*rft0 # Floppy tape devices #/dev/st? # SCSI tape drives /dev/mem /dev/kmem /dev/null /dev/zero /dev/ram* /dev/console /dev/tty[0-9] /dev/ttyS[0-9] # Serial ports (new style) /dev/cua[0-9] # Callout devices corresponding to ttyS /dev/hd[abcd]* # Hard disks /dev/sd* # SCSI disks /dev/fd0* # Floppy disk drives /dev/cdrom /dev/modem # Links to real devices, which will be copied /dev/mouse # In case you want to use a mouse ##### utmp and wtmp. # Set up links for any old-style programs that expect them in /etc. /etc/utmp -> /var/run/utmp /var/run/utmp <= /dev/null # This clears utmp on the floppy /etc/wtmp -> /var/log/wtmp /var/log/wtmp <= /dev/null /usr/share/terminfo/v/vt100 /usr/share/terminfo/v/vt100-am /usr/share/terminfo/l/linux /usr/share/terminfo/l/linux-m /usr/share/terminfo/l/linux-nic # If you want to load a special keytable, add the filename here: #/usr/lib/kbd/keytables/defkeymap.map ##### Empty directories /mnt/* # all mount points /proc /tmp /var/tmp /usr/spool/uucp ##### MODULES and support programs for them. insmod rmmod lsmod depmod modprobe /sbin/kerneld /etc/conf.modules # /lib/modules/$RELEASE/*/*.o # All modules /lib/modules/$RELEASE/fs/{isofs,romfs,vfat}.o /lib/modules/$RELEASE/net/{ppp*,sl*,tulip}.o ##### ESSENTIAL SYSTEM UTILITIES # (your rescue disk may not boot if these are not present.) chmod chown chroot cp date df id mkdir pwd rm shutdown stty sync uname ##### NON-ESSENTIAL BUT USEFUL UTILITIES cut diff dd du egrep fgrep grep find free fuser gunzip gzip head tail mkswap mknod ps passwd reboot tar touch tr whoami wc zcat #### Networking ifconfig ping route rsh ##### DISK AND FILE SYSTEM UTILITIES fdisk e2fsck fsck fsck.ext2 mke2fs mkfs mkfs.ext2 tune2fs mklost+found ##### FILES FOR RESTORING BACKUPS # I use the tob package for backups, so I include everything to do # restorations. You might want to include man pages or help files. #tob #afio # Needed by tob #/usr/etc/tob.rc #/usr/etc/tob/* #/usr/etc/tob/lists/ #/usr/etc/tob/volumes/* ##### A basic text editor. I use jove, a light-weight emacs clone ##### which is small and requires only libc and libtermcap. #jove #/usr/lib/jove/jove.rc ##### For user "root". #/root/.profile # A generic .profile: /root/.profile <= ./Replacements/root/.profile /root/.*shrc ##### End of Bootdisk_Contents