diff options
author | Aaron Griffin <aaronmgriffin@gmail.com> | 2009-11-25 10:40:07 -0800 |
---|---|---|
committer | Aaron Griffin <aaronmgriffin@gmail.com> | 2009-11-30 15:14:26 -0800 |
commit | 246a00412bcf15feedf6320fe10de6e545517b89 (patch) | |
tree | 94377634c0fd0f78557b79e52da470070e261966 /configs/syslinux-iso/overlay/etc/rc.d/archiso | |
parent | f77ddc0e9ce71eced048139e51bf9540883fffcc (diff) | |
download | archiso32-246a00412bcf15feedf6320fe10de6e545517b89.tar.xz |
Initial commit of syslinux based iso config
Includes vesamenu config... needs testing
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
Diffstat (limited to 'configs/syslinux-iso/overlay/etc/rc.d/archiso')
-rw-r--r-- | configs/syslinux-iso/overlay/etc/rc.d/archiso | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/configs/syslinux-iso/overlay/etc/rc.d/archiso b/configs/syslinux-iso/overlay/etc/rc.d/archiso new file mode 100644 index 0000000..735c297 --- /dev/null +++ b/configs/syslinux-iso/overlay/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" " ") + done +} + +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 +} |