diff --git a/etc/conf.d/nfs_conf.d b/etc/conf.d/nfs_conf.d new file mode 100644 index 000000000..56c18a969 --- /dev/null +++ b/etc/conf.d/nfs_conf.d @@ -0,0 +1,12 @@ +# Number of servers to be started up by default +NFSD_OPTS=8 + +# Options to pass to rpc.mountd +# e.g. MOUNTDOPTS="-p 32767" +MOUNTD_OPTS="--no-nfs-version 1 --no-nfs-version 2" +# Options to pass to rpc.statd +# e.g. STATDOPTS="-p 32765 -o 32766" +STATD_OPTS="" +# Options to pass to rpc.rquotad +# e.g. RQUOTADOPTS="-p 32764" +RQUOTAD_OPTS="" diff --git a/etc/init b/etc/init index 721c55dda..2c3de1f3a 100755 --- a/etc/init +++ b/etc/init @@ -22,6 +22,7 @@ echo "/sbin/modprobe" > /proc/sys/kernel/modprobe for cmd in $CMDLINE; do case "$cmd" in + \#*) break ;; # ignore everything after a # in the commandline [0123456Ss]) export runlevel="$cmd" ;; single) export runlevel="S" ;; #some people use 'single' # replace can cause problems for the following entries @@ -58,6 +59,12 @@ if [ "x${disablemodules}" != "x" ]; then done fi +if [ "x${earlymodules}" != "x" ]; then + for m in $(replace "${earlymodules}" ','); do + /sbin/modprobe -q $m > /dev/null 2>&1 + done +fi + . /config for m in $MODULES; do @@ -83,6 +90,14 @@ if [ -e "/hooks" ]; then done fi +if [ "${rootdelay}" != "0" ]; then + msg -n "Waiting for devices to settle..." + /bin/sleep "${rootdelay}" + export rootdelay=0 + export kinit_params="$kinit_params rootdelay=0" + msg "done." +fi + if [ "${break}" = "y" ]; then echo ":: Break requested, type 'exit' to resume operation" echo " NOTE: klibc contains no 'ls' binary, used 'echo *' instead" @@ -94,15 +109,44 @@ if [ "${root}" = "" -a "${ip}" = "" ]; then exec /sbin/init else # boot into system + if [ ! -b "${root}" ]; then + # This duplicates code from the filesystem hook + # without this, mkinitcpio would fail for users who use + # neither the udev hook, nor the filesystem hook + msg "\nRoot device '${root}' doesn't exist, attempting to create it" + + eval $(/bin/parseblock "${root}") + if [ "${BLOCKNAME}" = "unknown" ]; then + echo "ERROR: Failed to parse block device name for '${root}'" + elif [ "x${BLOCKDEVICE}" = "x" ]; then + echo "ERROR: Failed to parse block device ids for '${root}'" + else + export root="${BLOCKNAME}" + echo "/bin/mknod \"${BLOCKNAME}\" b ${BLOCKDEVICE}" + /bin/mknod "${BLOCKNAME}" b ${BLOCKDEVICE} >/dev/null + fi + if [ ! -b "${root}" ]; then + err "Unable to create/detect root device '${root}'" + echo "Dropping to a recovery shell... type 'exit' to reboot" + echo "NOTE: klibc contains no 'ls' binary, use 'echo *' instead" + echo "" + echo "If the device '${root}' gets created while you are here," + echo "try adding 'rootdelay=8' or higher to the kernel command-line" + PS1="ramfs$ " /bin/sh -i + msg "Rebooting..." + /bin/reboot + fi + fi + + msg ":: Initramfs Completed - control passing to kinit" + if [ -f "/message" ]; then + msg "$(cat /message)" + fi #Special handling is udev is running udevpid=$(/bin/minips -C udevd -o pid=) if [ "x${udevpid}" != "x" ]; then /bin/kill -9 $udevpid /bin/sleep 0.01 fi - # Optimize fs type loop for mounting rootfs - msg ":: Initramfs Completed - control passing to kinit" - - echo "/sbin/modprobe" > /proc/sys/kernel/modprobe exec /bin/kinit -- "root=${root}" ${kinit_params} "${runlevel}" > /dev/null 2>&1 fi \ No newline at end of file diff --git a/etc/pam/environment b/etc/pam/environment new file mode 100644 index 000000000..f46b8d94a --- /dev/null +++ b/etc/pam/environment @@ -0,0 +1,5 @@ +# +# This file is parsed by pam_env module +# +# Syntax: simple "KEY=VAL" pairs on seperate lines +# diff --git a/etc/pam/security/access.conf b/etc/pam/security/access.conf index cec2be0c8..74c5fbe84 100644 --- a/etc/pam/security/access.conf +++ b/etc/pam/security/access.conf @@ -1,11 +1,14 @@ # Login access control table. -# +# +# Comment line must start with "#", no space at front. +# Order of lines is important. +# # When someone logs in, the table is scanned for the first entry that # matches the (user, host) combination, or, in case of non-networked # logins, the first entry that matches the (user, tty) combination. The -# permissions field of that table entry determines whether the login will +# permissions field of that table entry determines whether the login will # be accepted or refused. -# +# # Format of the login access control table is three fields separated by a # ":" character: # @@ -14,11 +17,11 @@ # '|'. This is useful for configurations where you are trying to use # pam_access with X applications that provide PAM_TTY values that are # the display variable like "host:0".] -# +# # permission : users : origins -# +# # The first field should be a "+" (access granted) or "-" (access denied) -# character. +# character. # # The second field should be a list of one or more login names, group # names, or ALL (always matches). A pattern of the form user@host is @@ -28,31 +31,39 @@ # The third field should be a list of one or more tty names (for # non-networked logins), host names, domain names (begin with "."), host # addresses, internet network numbers (end with "."), ALL (always -# matches) or LOCAL (matches any string that does not contain a "." -# character). +# matches), NONE (matches no tty on non-networked logins) or +# LOCAL (matches any string that does not contain a "." character). # -# If you run NIS you can use @netgroupname in host or user patterns; this -# even works for @usergroup@@hostgroup patterns. Weird. +# You can use @netgroupname in host or user patterns; this even works +# for @usergroup@@hostgroup patterns. # # The EXCEPT operator makes it possible to write very compact rules. # # The group file is searched only when a name does not match that of the # logged-in user. Both the user's primary group is matched, as well as # groups in which users are explicitly listed. +# To avoid problems with accounts, which have the same name as a group, +# you can use brackets around group names '(group)' to differentiate. +# In this case, you should also set the "nodefgroup" option. # # TTY NAMES: Must be in the form returned by ttyname(3) less the initial # "/dev" (e.g. tty1 or vc/1) # ############################################################################## -# +# # Disallow non-root logins on tty1 # #-:ALL EXCEPT root:tty1 -# +# # Disallow console logins to all but a few accounts. # #-:ALL EXCEPT wheel shutdown sync:LOCAL # +# Same, but make sure that really the group wheel and not the user +# wheel is used (use nodefgroup argument, too): +# +#-:ALL EXCEPT (wheel) shutdown sync:LOCAL +# # Disallow non-local logins to privileged accounts (group wheel). # #-:wheel:ALL EXCEPT LOCAL .win.tue.nl @@ -63,3 +74,49 @@ # # All other accounts are allowed to login from anywhere. # +############################################################################## +# All lines from here up to the end are building a more complex example. +############################################################################## +# +# User "root" should be allowed to get access via cron .. tty5 tty6. +#+ : root : cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6 +# +# User "root" should be allowed to get access from hosts with ip addresses. +#+ : root : 192.168.200.1 192.168.200.4 192.168.200.9 +#+ : root : 127.0.0.1 +# +# User "root" should get access from network 192.168.201. +# This term will be evaluated by string matching. +# comment: It might be better to use network/netmask instead. +# The same is 192.168.201.0/24 or 192.168.201.0/255.255.255.0 +#+ : root : 192.168.201. +# +# User "root" should be able to have access from domain. +# Uses string matching also. +#+ : root : .foo.bar.org +# +# User "root" should be denied to get access from all other sources. +#- : root : ALL +# +# User "foo" and members of netgroup "nis_group" should be +# allowed to get access from all sources. +# This will only work if netgroup service is available. +#+ : @nis_group foo : ALL +# +# User "john" should get access from ipv4 net/mask +#+ : john : 127.0.0.0/24 +# +# User "john" should get access from ipv4 as ipv6 net/mask +#+ : john : ::ffff:127.0.0.0/127 +# +# User "john" should get access from ipv6 host address +#+ : john : 2001:4ca0:0:101::1 +# +# User "john" should get access from ipv6 host address (same as above) +#+ : john : 2001:4ca0:0:101:0:0:0:1 +# +# User "john" should get access from ipv6 net/mask +#+ : john : 2001:4ca0:0:101::/64 +# +# All other users should be denied to get access from all sources. +#- : ALL : ALL diff --git a/etc/pam/security/fileshare.conf b/etc/pam/security/fileshare.conf new file mode 100644 index 000000000..0b89ee3c5 --- /dev/null +++ b/etc/pam/security/fileshare.conf @@ -0,0 +1 @@ +RESTRICT=no \ No newline at end of file diff --git a/etc/pam/security/group.conf b/etc/pam/security/group.conf index e721b9907..d4a10672f 100644 --- a/etc/pam/security/group.conf +++ b/etc/pam/security/group.conf @@ -1,10 +1,7 @@ -## -## Note, to get this to work as it is currently typed you need -## -## 1. to run an application as root -## 2. add the following groups to the /etc/group file: -## floppy, games, sound -## +# +# This is the configuration file for the pam_group module. +# + # # *** Please note that giving group membership on a session basis is # *** NOT inherently secure. If a user can create an executable that @@ -16,11 +13,9 @@ # *** "chgrp games toplay; chmod g+s toplay". They are basically able # *** to play games any time... You have been warned. AGM # -# this is an example configuration file for the pam_group module. Its -# syntax is based on that of the pam_time module and (at some point in -# the distant past was inspired by the 'shadow' package) + # -# the syntax of the lines is as follows: +# The syntax of the lines is as follows: # # services;ttys;users;times;groups # @@ -28,15 +23,59 @@ # newlines). From reading these comments, it is clear that # text following a '#' is ignored to the end of the line. # -# the first four fields are described in the pam_time directory. -# The only difference for these is how the time field is interpretted: -# it is used to indicate "when" these groups are to be given to the user. +# the combination of individual users/terminals etc is a logic list +# namely individual tokens that are optionally prefixed with '!' (logical +# not) and separated with '&' (logical and) and '|' (logical or). +# +# services +# is a logic list of PAM service names that the rule applies to. +# +# ttys +# is a logic list of terminal names that this rule applies to. +# +# users +# is a logic list of users or a netgroup of users to whom this +# rule applies. +# +# NB. For these items the simple wildcard '*' may be used only once. +# With netgroups no wildcards or logic operators are allowed. +# +# times +# It is used to indicate "when" these groups are to be given to the +# user. The format here is a logic list of day/time-range +# entries the days are specified by a sequence of two character +# entries, MoTuSa for example is Monday Tuesday and Saturday. Note +# that repeated days are unset MoMo = no day, and MoWk = all weekdays +# bar Monday. The two character combinations accepted are +# +# Mo Tu We Th Fr Sa Su Wk Wd Al +# +# the last two being week-end days and all 7 days of the week +# respectively. As a final example, AlFr means all days except Friday. +# +# Each day/time-range can be prefixed with a '!' to indicate "anything +# but" +# +# The time-range part is two 24-hour times HHMM separated by a hyphen +# indicating the start and finish time (if the finish time is smaller +# than the start time it is deemed to apply on the following day). # # groups -# The (comma or space separated) list of groups that the user +# The (comma or space separated) list of groups that the user # inherits membership of. These groups are added if the previous # fields are satisfied by the user's request # +# For a rule to be active, ALL of service+ttys+users must be satisfied +# by the applying process. +# + +# +# Note, to get this to work as it is currently typed you need +# +# 1. to run an application as root +# 2. add the following groups to the /etc/group file: +# floppy, games, sound +# # # Here is a simple example: running 'xsh' on tty* (any ttyXXX device), diff --git a/etc/pam/security/limits.conf b/etc/pam/security/limits.conf index 871ab5c7c..2eb0530b0 100644 --- a/etc/pam/security/limits.conf +++ b/etc/pam/security/limits.conf @@ -26,7 +26,7 @@ # - stack - max stack size (KB) # - cpu - max CPU time (MIN) # - nproc - max number of processes -# - as - address space limit +# - as - address space limit (KB) # - maxlogins - max number of logins for this user # - maxsyslogins - max number of logins on the system # - priority - the priority to run user process with diff --git a/etc/pam/security/namespace.conf b/etc/pam/security/namespace.conf new file mode 100644 index 000000000..f973225f9 --- /dev/null +++ b/etc/pam/security/namespace.conf @@ -0,0 +1,28 @@ +# /etc/security/namespace.conf +# +# See /usr/share/doc/pam-*/txts/README.pam_namespace for more information. +# +# Uncommenting the following three lines will polyinstantiate +# /tmp, /var/tmp and user's home directories. /tmp and /var/tmp will +# be polyinstantiated based on the MLS level part of the security context as well as user +# name, Polyinstantion will not be performed for user root and adm for directories +# /tmp and /var/tmp, whereas home directories will be polyinstantiated for all users. +# The user name and context is appended to the instance prefix. +# +# Note that instance directories do not have to reside inside the +# polyinstantiated directory. In the examples below, instances of /tmp +# will be created in /tmp-inst directory, where as instances of /var/tmp +# and users home directories will reside within the directories that +# are being polyinstantiated. +# +# Instance parent directories must exist for the polyinstantiation +# mechanism to work. By default, they should be created with the mode +# of 000. pam_namespace module will enforce this mode unless it +# is explicitly called with an argument to ignore the mode of the +# instance parent. System administrators should use this argument with +# caution, as it will reduce security and isolation achieved by +# polyinstantiation. +# +#/tmp /tmp-inst/ level root,adm +#/var/tmp /var/tmp/tmp-inst/ level root,adm +#$HOME $HOME/$USER.inst/ level diff --git a/etc/pam/security/namespace.init b/etc/pam/security/namespace.init new file mode 100755 index 000000000..0e9be68f9 --- /dev/null +++ b/etc/pam/security/namespace.init @@ -0,0 +1,24 @@ +#!/bin/sh -p +# This is only a boilerplate for the instance initialization script. +# It receives polydir path as $1 and the instance path as $2. +# +# If you intend to polyinstantiate /tmp and you also want to use the X windows +# environment, you will have to use this script to bind mount the socket that +# is used by the X server to communicate with its clients. X server places +# this socket in /tmp/.X11-unix directory, which will get obscured by +# polyinstantiation. Uncommenting the following lines will bind mount +# the relevant directory at an alternative location (/.tmp/.X11-unix) such +# that the X server, window manager and X clients, can still find the +# socket X0 at the polyinstanted /tmp/.X11-unix. +# +#if [ $1 = /tmp ]; then +# if [ ! -f /.tmp/.X11-unix ]; then +# mkdir -p /.tmp/.X11-unix +# fi +# mount --bind /tmp/.X11-unix /.tmp/.X11-unix +# cp -fp -- /tmp/.X0-lock "$2/.X0-lock" +# mkdir -- "$2/.X11-unix" +# ln -fs -- /.tmp/.X11-unix/X0 "$2/.X11-unix/X0" +#fi + +exit 0 diff --git a/etc/pam/security/pam_env.conf b/etc/pam/security/pam_env.conf index 021166396..d0ba35c2a 100644 --- a/etc/pam/security/pam_env.conf +++ b/etc/pam/security/pam_env.conf @@ -1,6 +1,3 @@ -# $Date$ -# $Author$ -# $Id$ # # This is the configuration file for pam_env, a PAM module to load in # a configurable list of environment variables for a diff --git a/etc/pam/security/time.conf b/etc/pam/security/time.conf index d2062fdb5..c7b7989c1 100644 --- a/etc/pam/security/time.conf +++ b/etc/pam/security/time.conf @@ -20,7 +20,8 @@ # is a logic list of terminal names that this rule applies to. # # users -# is a logic list of users to whom this rule applies. +# is a logic list of users or a netgroup of users to whom this +# rule applies. # # NB. For these items the simple wildcard '*' may be used only once. # @@ -61,4 +62,4 @@ # # End of example file. -# \ No newline at end of file +# diff --git a/etc/remote/exports b/etc/remote/exports new file mode 100644 index 000000000..c9f93c6a8 --- /dev/null +++ b/etc/remote/exports @@ -0,0 +1,8 @@ +# /etc/exports +# +# See exports(5) for a description. + +# use exportfs -arv to reread +#/export 192.168.1.10(rw,no_root_squash) + + diff --git a/etc/start_udev b/etc/start_udev index a9d5c6b09..14d18d25b 100755 --- a/etc/start_udev +++ b/etc/start_udev @@ -66,8 +66,8 @@ if [ ! -d $sysfs_dir/block ]; then exit 1 fi -# mount ramfs, else autodetection will fail! -mount -t ramfs none $udev_root +# mount ramfs, else autodetection will fail! # not needed on install media! +# mount -t ramfs none $udev_root # propogate /udev from /sys #echo "Creating initial udev device nodes:" diff --git a/etc/vimrc b/etc/virc similarity index 100% rename from etc/vimrc rename to etc/virc diff --git a/hooks/arch-acpi b/hooks/arch_acpi similarity index 100% rename from hooks/arch-acpi rename to hooks/arch_acpi diff --git a/hooks/arch-addons b/hooks/arch_addons similarity index 81% rename from hooks/arch-addons rename to hooks/arch_addons index 3aa27b1c2..be88a08e9 100644 --- a/hooks/arch-addons +++ b/hooks/arch_addons @@ -3,6 +3,9 @@ run_hook () # fix depmod link ln -s /sbin/depmod /bin/depmod ARCH_ADDON="optical storage floppy disk" + ### exclude kernel ntfs it seems broken! + echo "Disabling kernel NTFS module for mounting, due to known issues!" + mv /lib/modules/$(uname -r)/kernel/fs/ntfs/ntfs.ko /lib/modules/$(uname -r)/kernel/fs/ntfs/ntfs.ko.old echo " Waiting 10 seconds for usb/fw devices to come ready ..." sleep 10 for i in $ARCH_ADDON; do @@ -34,6 +37,7 @@ run_hook () fi done done + mv /lib/modules/$(uname -r)/kernel/fs/ntfs/ntfs.ko.old /lib/modules/$(uname -r)/kernel/fs/ntfs/ntfs.ko if [ "$RETRIGGER_UDEV" = "1" ]; then echo "Retrigger udev uevents ..." /etc/start_udev uevents diff --git a/hooks/arch-base b/hooks/arch_base similarity index 87% rename from hooks/arch-base rename to hooks/arch_base index afaad3592..6259f2ea1 100644 --- a/hooks/arch-base +++ b/hooks/arch_base @@ -5,6 +5,7 @@ run_hook () # fixing some symlinks ln -s /sbin/halt /sbin/poweroff ln -s /sbin/halt /sbin/reboot + ln -s /usr/sbin/chroot /bin/chroot ln -s /bin/chroot /usr/bin/chroot ln -s /sbin/killall5 /bin/pidof ln -s /usr/bin/netcat /usr/bin/nc diff --git a/hooks/arch-encrypt b/hooks/arch_encrypt similarity index 100% rename from hooks/arch-encrypt rename to hooks/arch_encrypt diff --git a/hooks/arch-filesystems b/hooks/arch_filesystems similarity index 96% rename from hooks/arch-filesystems rename to hooks/arch_filesystems index cc14a3b31..8642a5dcd 100644 --- a/hooks/arch-filesystems +++ b/hooks/arch_filesystems @@ -26,10 +26,10 @@ run_hook () ln -s /sbin/dosfsck /sbin/fsck.vfat # fix ntfs symlinks ln -s /usr/sbin/mkntfs /sbin/mkfs.ntfs - ln -s /usr/sbin/ntfsmount /sbin/mount.ntfs-fuse + ln -s /usr/bin/ntfsmount /sbin/mount.ntfs-fuse # fix ntfs-3g symlink - ln -s /usr/bin/ntfs-3g /sbin/mount.ntfs-3g + ln -s /bin/ntfs-3g /sbin/mount.ntfs-3g #needed for switching if ! [ "${root}" = "" ]; then diff --git a/hooks/arch-floppy b/hooks/arch_floppy similarity index 100% rename from hooks/arch-floppy rename to hooks/arch_floppy diff --git a/hooks/arch-hwdetect b/hooks/arch_hwdetect similarity index 100% rename from hooks/arch-hwdetect rename to hooks/arch_hwdetect diff --git a/hooks/arch-lvm2 b/hooks/arch_lvm2 similarity index 100% rename from hooks/arch-lvm2 rename to hooks/arch_lvm2 diff --git a/hooks/arch-naim b/hooks/arch_naim similarity index 100% rename from hooks/arch-naim rename to hooks/arch_naim diff --git a/hooks/arch-pxelinux b/hooks/arch_pxelinux similarity index 100% rename from hooks/arch-pxelinux rename to hooks/arch_pxelinux diff --git a/hooks/arch-raid b/hooks/arch_raid similarity index 100% rename from hooks/arch-raid rename to hooks/arch_raid diff --git a/hooks/arch-remote b/hooks/arch_remote similarity index 100% rename from hooks/arch-remote rename to hooks/arch_remote diff --git a/hooks/arch-udev b/hooks/arch_udev similarity index 100% rename from hooks/arch-udev rename to hooks/arch_udev diff --git a/install.conf b/install.conf index b096aaacc..5df60c612 100644 --- a/install.conf +++ b/install.conf @@ -14,11 +14,11 @@ FILES="" # default is set to ftp install media # # Please change the other hooks only if you know what you are doing. -HOOKS="arch-ftp-install arch-acpi arch-bootmessage arch-motd arch-memtest arch-pam arch-shadow arch-base arch-hwdetect arch-udev ide pata scsi sata arch-net arch-isdn arch-pcmcia arch-rtc arch-sound usb usbinput fw arch-floppy arch-raid arch-lvm2 arch-encrypt arch-filesystems arch-keymap arch-remote arch-cpufreq arch-fb arch-links arch-naim arch-pacman arch-addons arch-kexec arch-ppp arch-pppoe arch-lilo arch-grub arch-iptables arch-capi4k arch-pciutils arch-usbutils arch-openvpn arch-vpnc" +HOOKS="arch_ftp_install arch_acpi arch_bootmessage arch_motd arch_memtest arch_pam arch_shadow arch_base arch_hwdetect arch_udev ide pata scsi sata arch_net arch_isdn arch_pcmcia arch_rtc arch_sound usb usbinput fw arch_floppy arch_raid arch_lvm2 arch_encrypt arch_filesystems arch_keymap arch_remote arch_cpufreq arch_fb arch_links arch_naim arch_pacman arch_addons arch_kexec arch_ppp arch_pppoe arch_lilo arch_grub arch_iptables arch_capi4k arch_pciutils arch_usbutils arch_openvpn arch_vpnc" # # adding pxelinux hook if mkpxelinux is used. if [ "${RUNPROGRAM}" = "mkpxelinux" ]; then - HOOKS="$HOOKS arch-pxelinux" + HOOKS="$HOOKS arch_pxelinux" fi # diff --git a/install/arch-acpi b/install/arch_acpi similarity index 91% rename from install/arch-acpi rename to install/arch_acpi index a43a8d3c2..404ebdcff 100644 --- a/install/arch-acpi +++ b/install/arch_acpi @@ -6,7 +6,7 @@ install () BINARIES="" FILES="" - SCRIPT="arch-acpi" + SCRIPT="arch_acpi" } help () diff --git a/install/arch-addons b/install/arch_addons old mode 100755 new mode 100644 similarity index 89% rename from install/arch-addons rename to install/arch_addons index 77044e197..143cc9abb --- a/install/arch-addons +++ b/install/arch_addons @@ -5,7 +5,7 @@ install () MODULES="" BINARIES="" FILES="" - SCRIPT="arch-addons" + SCRIPT="arch_addons" } help () diff --git a/install/arch-base b/install/arch_base similarity index 94% rename from install/arch-base rename to install/arch_base index e3f290b7c..1da678138 100644 --- a/install/arch-base +++ b/install/arch_base @@ -28,8 +28,8 @@ install () ### adding needed programs from running system add_file "${CONFIG}" "/config" - SCRIPT="arch-base" - BINARIES="init agetty mount modprobe modinfo umount basename du clear env head id md5sum nano netcat printf tail tee test tr tty uptime wc which whoami xargs yes syslog-ng bash swapon uniq cut seq snarf find sort fdisk sfdisk cfdisk gawk cp mv shutdown free ls rm sed test less chgrp chmod chown date df dialog dmesg egrep fgrep grep hostname kill killall killall5 more ps pwd rmdir stty sync tar touch uname vim lsmod modinfo rmmod hdparm true mktemp chroot dirname expr bzip2 hwclock depmod su cat cpio dd gzip wget" + SCRIPT="arch_base" + BINARIES="init agetty mount modprobe modinfo umount basename du clear env head id md5sum nano netcat printf tail tee test tr tty uptime wc which whoami xargs yes syslog-ng bash swapon uniq cut seq snarf find sort fdisk sfdisk cfdisk gawk cp mv shutdown free ls rm sed test less chgrp chmod chown date df dialog dmesg egrep fgrep grep hostname kill killall killall5 more ps pwd rmdir stty sync tar touch uname vi lsmod modinfo rmmod hdparm true mktemp chroot dirname expr bzip2 hwclock depmod su cat cpio dd gzip wget top" add_file "/bin/echo" add_file "/bin/gunzip" add_file "/bin/zcat" diff --git a/install/arch-base-install b/install/arch_base_install similarity index 100% rename from install/arch-base-install rename to install/arch_base_install diff --git a/install/arch-base-installppc b/install/arch_base_installppc similarity index 100% rename from install/arch-base-installppc rename to install/arch_base_installppc diff --git a/install/arch-baseppc b/install/arch_baseppc similarity index 100% rename from install/arch-baseppc rename to install/arch_baseppc diff --git a/install/arch-bootmessage b/install/arch_bootmessage similarity index 100% rename from install/arch-bootmessage rename to install/arch_bootmessage diff --git a/install/arch-bootmessage-ppc b/install/arch_bootmessage_ppc similarity index 100% rename from install/arch-bootmessage-ppc rename to install/arch_bootmessage_ppc diff --git a/install/arch-capi4k b/install/arch_capi4k similarity index 100% rename from install/arch-capi4k rename to install/arch_capi4k diff --git a/install/arch-cpufreq b/install/arch_cpufreq similarity index 100% rename from install/arch-cpufreq rename to install/arch_cpufreq diff --git a/install/arch-current-install b/install/arch_current_install similarity index 100% rename from install/arch-current-install rename to install/arch_current_install diff --git a/install/arch-current-installppc b/install/arch_current_installppc similarity index 100% rename from install/arch-current-installppc rename to install/arch_current_installppc diff --git a/install/arch-encrypt b/install/arch_encrypt similarity index 92% rename from install/arch-encrypt rename to install/arch_encrypt index e28c69b69..1a56756fb 100644 --- a/install/arch-encrypt +++ b/install/arch_encrypt @@ -5,7 +5,7 @@ install () MODULES=" dm-crypt $(all_modules "/crypto/" | grep -v "aes.ko" ) " BINARIES="cryptsetup" FILES="" - SCRIPT="arch-encrypt" + SCRIPT="arch_encrypt" add_dir "/dev/mapper" } diff --git a/install/arch-fb b/install/arch_fb similarity index 100% rename from install/arch-fb rename to install/arch_fb diff --git a/install/arch-filesystems b/install/arch_filesystems similarity index 96% rename from install/arch-filesystems rename to install/arch_filesystems index 9a0708e8b..b3234b2b5 100644 --- a/install/arch-filesystems +++ b/install/arch_filesystems @@ -5,7 +5,7 @@ install () MODULES=" $(checked_modules '/kernel/fs') " BINARIES="mkswap debugfs.reiserfs mkfs.reiserfs reiserfsck tunefs.reiserfs resizefs.reiserfs badblocks blkid debugfs dumpe2fs e2fsck e2image findfs fsck logsave mkfs.ext2 resize2fs mkntfs ntfsmount ntfscp ntfsclone ntfslabel ntfsresize ntfsundelete ntfscat ntfscluster ntfscmp ntfsfix ntfsinfo ntfsls jfs_debugfs jfs_fsck jfs_fscklog jfs_logdump jfs_mkfs jfs_tune mkfs.xfs fsck.xfs xfs_repair xfs_admin xfs_bmap xfs_check xfs_copy xfs_db xfs_freeze xfs_growfs xfs_info xfs_io xfs_logprint xfs_mdrestore xfs_metadump xfs_mkfile xfs_ncheck xfs_quota xfs_rtcp mkdosfs dosfsck ntfs-3g" FILES="" - SCRIPT="arch-filesystems" + SCRIPT="arch_filesystems" } help () diff --git a/install/arch-filesystems-ppc b/install/arch_filesystems_ppc similarity index 100% rename from install/arch-filesystems-ppc rename to install/arch_filesystems_ppc diff --git a/install/arch-floppy b/install/arch_floppy similarity index 86% rename from install/arch-floppy rename to install/arch_floppy index 4a7223228..e65723d07 100644 --- a/install/arch-floppy +++ b/install/arch_floppy @@ -5,7 +5,7 @@ install () MODULES="floppy" BINARIES="" FILES="" - SCRIPT="arch-floppy" + SCRIPT="arch_floppy" } help () diff --git a/install/arch-ftp-install b/install/arch_ftp_install similarity index 100% rename from install/arch-ftp-install rename to install/arch_ftp_install diff --git a/install/arch-ftp-installppc b/install/arch_ftp_installppc similarity index 100% rename from install/arch-ftp-installppc rename to install/arch_ftp_installppc diff --git a/install/arch-grub b/install/arch_grub similarity index 100% rename from install/arch-grub rename to install/arch_grub diff --git a/install/arch-hwdetect b/install/arch_hwdetect similarity index 90% rename from install/arch-hwdetect rename to install/arch_hwdetect index fdd70ce00..e3a538687 100644 --- a/install/arch-hwdetect +++ b/install/arch_hwdetect @@ -5,7 +5,7 @@ install () MODULES="" BINARIES="vmware-detect" FILES="" - SCRIPT="arch-hwdetect" + SCRIPT="arch_hwdetect" add_file /sbin/hwdetect /sbin/hwdetect } diff --git a/install/arch-iptables b/install/arch_iptables similarity index 100% rename from install/arch-iptables rename to install/arch_iptables diff --git a/install/arch-isdn b/install/arch_isdn similarity index 100% rename from install/arch-isdn rename to install/arch_isdn diff --git a/install/arch-kexec b/install/arch_kexec similarity index 100% rename from install/arch-kexec rename to install/arch_kexec diff --git a/install/arch-keymap b/install/arch_keymap similarity index 100% rename from install/arch-keymap rename to install/arch_keymap diff --git a/install/arch-keymap-ppc b/install/arch_keymap_ppc similarity index 100% rename from install/arch-keymap-ppc rename to install/arch_keymap_ppc diff --git a/install/arch-lilo b/install/arch_lilo similarity index 100% rename from install/arch-lilo rename to install/arch_lilo diff --git a/install/arch-links b/install/arch_links similarity index 100% rename from install/arch-links rename to install/arch_links diff --git a/install/arch-lvm2 b/install/arch_lvm2 similarity index 92% rename from install/arch-lvm2 rename to install/arch_lvm2 index f5da00608..a072ad965 100644 --- a/install/arch-lvm2 +++ b/install/arch_lvm2 @@ -5,7 +5,7 @@ install () MODULES=" dm-mod " BINARIES="lvm" FILES="" - SCRIPT="arch-lvm2" + SCRIPT="arch_lvm2" add_dir "/dev/mapper" } diff --git a/install/arch-memtest b/install/arch_memtest similarity index 100% rename from install/arch-memtest rename to install/arch_memtest diff --git a/install/arch-motd b/install/arch_motd similarity index 100% rename from install/arch-motd rename to install/arch_motd diff --git a/install/arch-naim b/install/arch_naim similarity index 92% rename from install/arch-naim rename to install/arch_naim index 758de08d6..aed36d2d9 100644 --- a/install/arch-naim +++ b/install/arch_naim @@ -5,7 +5,7 @@ install () MODULES="" BINARIES="naim" FILES="" - SCRIPT="arch-naim" + SCRIPT="arch_naim" add_file "/etc/archboot/etc/naim/nircrc" "/root/.nircrc" } diff --git a/install/arch-net b/install/arch_net similarity index 100% rename from install/arch-net rename to install/arch_net diff --git a/install/arch-openvpn b/install/arch_openvpn similarity index 100% rename from install/arch-openvpn rename to install/arch_openvpn diff --git a/install/arch-pacman b/install/arch_pacman old mode 100755 new mode 100644 similarity index 82% rename from install/arch-pacman rename to install/arch_pacman index df8f82bb0..09b5bd48d --- a/install/arch-pacman +++ b/install/arch_pacman @@ -10,11 +10,13 @@ install () DEPENDS="initscripts cvs wget bash coreutils cryptsetup dialog \ e2fsprogs findutils gawk grep iputils jfsutils less lvm2 mdadm module-init-tools nano \ ncurses net-tools gnu-netcat ntfsprogs pcmciautils procps psmisc reiserfsprogs sed snarf \ -syslog-ng sysvinit tar util-linux vim which wireless_tools xfsprogs dnsutils hdparm memtest86+ \ +syslog-ng sysvinit tar util-linux which wireless_tools xfsprogs dnsutils hdparm memtest86+ \ grub netkit-telnet openssh hwdetect portmap shadow bridge-utils ifenslave cpufrequtils links tcp_wrappers \ dosfstools udev initscripts filesystem kernel26 glibc kernel-headers xinetd naim links pacman screen kbd pam \ dhcpcd bzip2 gcc mktemp openssl zlib libelf gpm sysfsutils libgcrypt libgpg-error popt kexec-tools ppp libpcap \ -rp-pppoe lilo grub iptables capi4k-utils ntfs-3g isdn4k-utils pciutils usbutils vpnc openvpn bcm43xx-fwcutter wpa_supplicant gzip rsync libarchive libdownload device-mapper" +rp-pppoe lilo grub iptables capi4k-utils ntfs-3g isdn4k-utils pciutils usbutils vpnc openvpn bcm43xx-fwcutter \ +wpa_supplicant gzip rsync libarchive libdownload device-mapper cracklib nfs-utils nfsidmap readline acl attr \ +pcre cpio archboot fuse klibc libusb vi lzo2 libsasl libldap libevent gpm" for i in $DEPENDS; do add_file "$(echo /var/lib/pacman/local/$i-[0-9]*-[0-9]*/depends)" diff --git a/install/arch-pam b/install/arch_pam old mode 100755 new mode 100644 similarity index 81% rename from install/arch-pam rename to install/arch_pam index c6b3cd2c2..0db4441ad --- a/install/arch-pam +++ b/install/arch_pam @@ -9,6 +9,7 @@ install () for i in $(echo /etc/archboot/etc/pam/*/*); do add_file "$i" "$(echo $i | sed -e 's|/etc/archboot/etc/pam|/etc|g')" done + add_file "/etc/archboot/etc/pam/environment" "/etc/environment" for i in $(echo /lib/libpam*); do add_file "$i" done @@ -18,6 +19,8 @@ install () for i in $(echo /lib/security/pam_filter/*); do add_file "$i" done + #fix cracklib support! + add_file /usr/lib/libcrack.so.2 } help () diff --git a/install/arch-pciutils b/install/arch_pciutils similarity index 100% rename from install/arch-pciutils rename to install/arch_pciutils diff --git a/install/arch-pcmcia b/install/arch_pcmcia similarity index 100% rename from install/arch-pcmcia rename to install/arch_pcmcia diff --git a/install/arch-ppp b/install/arch_ppp similarity index 100% rename from install/arch-ppp rename to install/arch_ppp diff --git a/install/arch-pppoe b/install/arch_pppoe similarity index 100% rename from install/arch-pppoe rename to install/arch_pppoe diff --git a/install/arch-pxelinux b/install/arch_pxelinux similarity index 88% rename from install/arch-pxelinux rename to install/arch_pxelinux index 80a8ec56c..d61498721 100644 --- a/install/arch-pxelinux +++ b/install/arch_pxelinux @@ -4,7 +4,7 @@ install () { BINARIES="" FILES="" - SCRIPT="arch-pxelinux" + SCRIPT="arch_pxelinux" } help () diff --git a/install/arch-raid b/install/arch_raid similarity index 98% rename from install/arch-raid rename to install/arch_raid index 1fba2bb47..d2606c702 100644 --- a/install/arch-raid +++ b/install/arch_raid @@ -5,7 +5,7 @@ install () MODULES=" $(checked_modules "drivers/md/*" | grep -v "dm-") " BINARIES="mdadm" FILES="" - SCRIPT="arch-raid" + SCRIPT="arch_raid" add_file "/usr/lib/klibc/bin/mdassemble" "/bin/mdassemble" } diff --git a/install/arch-remote b/install/arch_remote similarity index 80% rename from install/arch-remote rename to install/arch_remote index 46eb6540d..2867d32a4 100644 --- a/install/arch-remote +++ b/install/arch_remote @@ -4,9 +4,9 @@ install () { MODULES=" $(checked_modules "/drivers/net/") " - BINARIES="$(basename $(find /usr/bin/screen-*)) telnet tcpd findssl.sh scp sftp ssh ssh-add ssh-agent ssh-copy-id ssh-keygen ssh-keyscan sshd pmap_set pmap_dump portmap xinetd in.telnetd rsync" + BINARIES="$(basename $(find /usr/bin/screen-*)) telnet tcpd findssl.sh scp sftp ssh ssh-add ssh-agent ssh-copy-id ssh-keygen ssh-keyscan sshd pmap_set pmap_dump portmap xinetd in.telnetd rsync exportfs nfsstat rpc.idmapd rpc.lockd rpc.mountd rpc.nfsd rpc.rquotad rpc.statd rpcdebug showmount" FILES="" - SCRIPT="arch-remote" + SCRIPT="arch_remote" add_file "/etc/archboot/etc/remote/hosts.allow" "/etc/hosts.allow" add_file "/etc/archboot/etc/remote/hosts.deny" "/etc/hosts.deny" add_file "/etc/archboot/etc/remote/screenrc" "/etc/screenrc" @@ -21,6 +21,7 @@ install () add_file "/etc/archboot/etc/remote/screen_pam" "/etc/pam.d/screen" add_file "/etc/archboot/etc/remote/rsyncd.conf" "/etc/rsyncd.conf" add_file "/etc/archboot/etc/remote/rsync_xinetd" "/etc/xinet.d/rsync" + add_file "/etc/archboot/etc/remote/exports" "/etc/exports" for i in $(find /usr/share/terminfo/ ! -type d); do add_file "$i" done @@ -31,6 +32,12 @@ install () add_file "/etc/rc.d/xinetd" add_file "/etc/rc.d/rsyncd" add_dir "/var/empty" + add_file "/etc/rc.d/nfsd" + add_file "/etc/rc.d/nfslock" + add_file "/etc/archboot/etc/conf.d/nfs_conf.d" "/etc/conf.d/nfs" + add_dir "/var/lib/nfs/sm" + add_dir "/var/lib/nfs/sm.bak" + add_dir "/var/lib/nfs/v4recovery" } help () diff --git a/install/arch-rtc b/install/arch_rtc similarity index 100% rename from install/arch-rtc rename to install/arch_rtc diff --git a/install/arch-shadow b/install/arch_shadow old mode 100755 new mode 100644 similarity index 100% rename from install/arch-shadow rename to install/arch_shadow diff --git a/install/arch_sound b/install/arch_sound new file mode 100644 index 000000000..ec6e58a6b --- /dev/null +++ b/install/arch_sound @@ -0,0 +1,17 @@ +# Created by Tobias Powalowski + +install () +{ + MODULES=" $(checked_modules "/sound/")" + + BINARIES="" + FILES="" + SCRIPT="" +} + +help () +{ +cat<