diff --git a/yard/templates/Debian-woody.yard b/yard/templates/Debian-woody.yard new file mode 100644 index 0000000..3eb5c81 --- /dev/null +++ b/yard/templates/Debian-woody.yard @@ -0,0 +1,292 @@ +# Debian-woody.yard +# +# Adapted from Bootdisk_Contents.in by Tom Fawcett +# +# user-mode-linux has devfs built-in so if things aren't working try devfs=nomount in the options +# for the uml box. +############################################################################# +# +# Format rules: +# - Lines beginning with # or % are comments. +# +# - Blank lines and whitespace are ignored. +# +# - Filenames may be either relative or absolute. Any filename not +# beginning with a slash is relative and will be resolved relative to the +# configuration directory (@config_dest@). +# +# - Lines of the form "filename1 -> filename2" will create symbolic (soft) +# links on the root fs. For example, if you want bash linked to sh +# in the root fs you specify: "/bin/bash -> /bin/sh" +# (There is no way to specify hardlinks, though hard linked files +# that exist on the hard disk will be hard linked on the bootdisk.) +# +# - 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 configuration 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, +# eg 2.2.13 or 2.2.15-6mdk. +# +# You don't need to specify shared libraries or loaders. make_root_fs +# will detect necessary libraries and include them automatically. The +# exceptions are NSS and PAM libraries, which are dynamically loaded and +# can't really be predicted. Yard doesn't automatically include these +# libraries (it doesn't know what you want to do), but it will check your +# choices and warn you if something isn't provided for. +# +# 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 +# Bash is huge and requires libncurses.so. +# Most people use a smaller lightweight shell, like ash or kiss, +# and use that instead. +/bin/bash -> sh +#/bin/csh -> tcsh +#/bin/sh -> ash + +/sbin/init +#/sbin/ldconfig # no longer necessary +#/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 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.new +/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 NSS +# If you use old libc5, you don't need this. Comment out these lines. +# +/etc/nsswitch.conf <= ./Replacements/etc/nsswitch.conf +# Check your version of libc and comment out the one you don't need: +#/lib/libnss_files.so.1 # If you use use libc-2.0.X +/lib/libnss_files.so.2 # If you use use libc-2.1.X or libc-2.2.X + + +##### 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.0, 8.0) 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 +/etc/rcS.d/* +/etc/rc.boot/* +/etc/rc2.d/* +/etc/rc3.d/* +/etc/rc4.d/* +/etc/rc5.d/* +/etc/rc6.d/* +# +# +#===== 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 +/dev/mem /dev/kmem +/dev/null /dev/zero +/dev/ram* +/dev/console +/dev/tty[0-9] +/dev/hd[abcd]* # Hard disks +/dev/ttyS[0-9] # Serial ports (new style) +# Optional devices. Uncomment the ones you want, but +# keep in mind that each device file consumes an inode. +/dev/fd0* # Floppy disk drives +#/dev/*tape* # Tape device links +#/dev/*rft0 # Floppy tape devices +#/dev/st? # SCSI tape drives +#/dev/sd* # SCSI disks +#/dev/cdrom /dev/modem # Links to real devices, which will be copied +#/dev/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 + +##### terminfo entries. +/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 + +##### MODULES and support programs for them. +insmod +rmmod +lsmod +depmod +modprobe +#/sbin/kerneld +#/etc/modules.conf /etc/conf.modules # Whichever you use +# +# The actual modules. You probably want to be more selective than this. +# Do an "lsmod" and include the modules you use. +#/lib/modules/$RELEASE/*/*.o + + +##### ESSENTIAL SYSTEM UTILITIES +# (your rescue disk may not boot if these are not present.) +chmod +chown +chroot +cp +df +id +mkdir +pwd +rm +shutdown +stty +sync +uname + +##### NON-ESSENTIAL BUT USEFUL UTILITIES +cut +date +diff +dd +du +egrep fgrep grep +find +#fuser +gunzip gzip +head tail +mkswap +mknod +#mt # tape utility. For floppy tapes, use ftmt instead. +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