summaryrefslogtreecommitdiff
path: root/configs/install-iso/default-config/etc/rc.d
diff options
context:
space:
mode:
authorAaron Griffin <aaronmgriffin@gmail.com>2008-09-06 20:39:35 -0500
committerAaron Griffin <aaronmgriffin@gmail.com>2008-09-06 20:39:35 -0500
commit8966351b12bbcf2f8fffbd8c3a4b00e7529349b8 (patch)
treea54505adcbc029bce687788150df4383e5e936e0 /configs/install-iso/default-config/etc/rc.d
parent99ed5349b32951fa1ec28cc2ee3caaff83fcd681 (diff)
downloadarchiso32-8966351b12bbcf2f8fffbd8c3a4b00e7529349b8.tar.xz
Split mkarchiso and configs into logical parts
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
Diffstat (limited to 'configs/install-iso/default-config/etc/rc.d')
-rw-r--r--configs/install-iso/default-config/etc/rc.d/archiso63
1 files changed, 63 insertions, 0 deletions
diff --git a/configs/install-iso/default-config/etc/rc.d/archiso b/configs/install-iso/default-config/etc/rc.d/archiso
new file mode 100644
index 0000000..661bcbd
--- /dev/null
+++ b/configs/install-iso/default-config/etc/rc.d/archiso
@@ -0,0 +1,63 @@
+# vim: set ft=sh:
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/archiso/functions
+
+
+scan_network ()
+{
+ netparam () { echo ${2} | sed "s|.*${1}\([^ ]*\).*|\1|gi"; }
+ #
+ netdevs=$(cat /proc/net/dev | grep ':' | cut -d':' -f1)
+ for net in ${netdev}; do
+ stats=$(ifconfig ${net} | tr -s "\n" " ")
+
+}
+
+scan_mount_pts ()
+{
+ #iterate over all block devices
+ stat_busy "Scanning local block devices"
+ for dev in $(echo /sys/block/*/dev /sys/block/*/*/dev); do
+
+ devname="/dev/$(echo ${dev} | cut -d'/' -f3,4 | cut -d'/' -f1)"
+ mountpt="/mnt/$(basename '${devname}')"
+ mkdir -p "${mountpt}" 2>/dev/null
+ mount ${options} "${devname}" "${mountpt}" >/dev/null 2>&1
+
+ fstype=$(awk '{ if ($1=="${devname}") { print $3" "$4;q }}' /proc/mounts)
+ fstype="${fstype%%,*}"
+ case "${fstype%% *}" in
+ *fat*|ntfs|*dos) options="user,exec,uid=0,gid=100,umask=00070" ;;
+ *) options="users,defaults,exec" ;;
+ #TODO handle 'sync' on usb devices...
+ esac
+
+ echo "${devname} ${mountpt} ${fstype} ${options} 0 0 #configured by archiso" >>/etc/fstab
+ done
+ stat_done
+}
+
+scan_swap ()
+{
+ #Archie finds a pagefile.sys for windows/dos machines... may add later
+ stat_busy "Finding existing swap partitions"
+ swapdev="$(fdisk -l 2>/dev/null | grep swap | cut -d' ' -f1)"
+ if [ -e "${swapdev}" ]; then
+ swapon ${swapdev}
+ echo "${swapdev} swap swap defaults 0 0 #configured by archiso" >>/etc/fstab
+ fi
+ stat_done
+}
+
+do_homedir ()
+{
+ stat_busy "Scanning for existing HOME directory"
+ user="$(cmdline_param homeuser)"
+ for hdir in $(find /mnt -name "home/${user}" 2>/dev/null); do
+ mkdir -p "/home/arch/"
+ # break after the first success...
+ mount --bind "${hdir}" "/home/arch/" && break
+ done
+ stat_done
+}