Date: Thu, 12 Mar 2015 13:39:39 GMT From: kczekirda@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r278258 - in soc2014/kczekirda/pxe-fai-head: head/usr.sbin/bsdinstall/scripts tools/mfsbsd/customfiles/usr/libexec/bsdinstall Message-ID: <201503121339.t2CDddSQ025877@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kczekirda Date: Thu Mar 12 13:39:39 2015 New Revision: 278258 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=278258 Log: configuration after reboot Modified: soc2014/kczekirda/pxe-fai-head/head/usr.sbin/bsdinstall/scripts/script soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/customfiles/usr/libexec/bsdinstall/script Modified: soc2014/kczekirda/pxe-fai-head/head/usr.sbin/bsdinstall/scripts/script ============================================================================== --- soc2014/kczekirda/pxe-fai-head/head/usr.sbin/bsdinstall/scripts/script Thu Mar 12 13:39:23 2015 (r278257) +++ soc2014/kczekirda/pxe-fai-head/head/usr.sbin/bsdinstall/scripts/script Thu Mar 12 13:39:39 2015 (r278258) @@ -62,9 +62,6 @@ # DOMAIN # DNS1 # DNS2 - -# TODO: network, users, -# VARIABLES: # IPV6 (default: NO) : ${IPV6:=NO} # SLAAC (default: YES) @@ -75,7 +72,6 @@ # GWV6 # DNS3 # DNS4 - # ROOTPWHASH # USERSCONFIG @@ -171,31 +167,45 @@ bsdinstall distfetch # Unpack distributions -bsdinstall checksum +#bsdinstall checksum bsdinstall distextract ############################################################ CONFIGURATION # Hostname if [ -n "$HOSTNAME" ]; then - echo "hostname=\"$HOSTNAME\"" > $BSDINSTALL_TMPETC/rc.conf.hostname + if [ ! -f /tmp/bsdinstall-installscript-ab ]; then + echo "#!/bin/sh" > /tmp/bsdinstall-installscript-ab + fi + echo "echo hostname=\\\"$HOSTNAME\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab fi # Keymap if [ -n "$KEYMAP" ]; then - echo "keymap=\"$KEYMAP\"" > $BSDINSTALL_TMPETC/rc.conf.keymap + if [ ! -f /tmp/bsdinstall-installscript-ab ]; then + echo "#!/bin/sh" > /tmp/bsdinstall-installscript-ab + fi + echo "echo keymap=\\\"$KEYMAP\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab fi # Services havedump= + +if [ -n "$DAEMONS" ]; then + if [ ! -f /tmp/bsdinstall-installscript-ab ]; then + echo "#!/bin/sh" > /tmp/bsdinstall-installscript-ab + fi +fi + for daemon in $DAEMONS; do [ "$daemon" = "dumpdev" ] && havedump=1 continue - echo ${daemon}_enable=\"YES\" >> $BSDINSTALL_TMPETC/rc.conf.services + echo "echo ${daemon}_enable=\\\"YES\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab done + if [ "$havedump" ]; then - echo dumpdev=\"AUTO\" >> $BSDINSTALL_TMPETC/rc.conf.services + echo "echo dumpdev=\\\"AUTO\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab else - echo dumpdev=\"NO\" >> $BSDINSTALL_TMPETC/rc.conf.services + echo "echo dumpdev=\\\"NO\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab fi # Time zone @@ -232,63 +242,83 @@ # Network if [ -n "$INTERFACE" ] && [ "$IPV4" = "YES" ]; then + if [ ! -f /tmp/bsdinstall-installscript-ab ]; then + echo "#!/bin/sh" > /tmp/bsdinstall-installscript-ab + fi if [ "$DHCP" = "YES" ]; then - echo "ifconfig_${INTERFACE}=\"DHCP\"" >> $BSDINSTALL_TMPETC/rc.conf.network + echo "echo ifconfig_${INTERFACE}=\\\"DHCP\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab fi if [ "$DHCP" = "NO" ]; then - echo "ifconfig_${INTERFACE}=\"inet $ADDRESSV4 netmask $NETMASK\"" >> $BSDINSTALL_TMPETC/rc.conf.network - echo "defaultrouter=\"$GWV4\"" >> $BSDINSTALL_TMPETC/rc.conf.network + echo "echo \"ifconfig_${INTERFACE}=\\\"inet $ADDRESSV4 netmask $NETMASK\\\"\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab + echo "echo defaultrouter=\\\"$GWV4\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab fi fi if [ -n "$INTERFACE" ] && [ "$IPV6" = "YES" ]; then - echo "ipv6_enable=\"YES\"" >> $BSDINSTALL_TMPETC/rc.conf.network + if [ ! -f /tmp/bsdinstall-installscript-ab ]; then + echo "#!/bin/sh" > /tmp/bsdinstall-installscript-ab + fi + echo "echo ipv6_enable=\\\"YES\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab if [ "$SLAAC" = "YES" ]; then - echo "ifconfig_${INTERFACE}_ipv6=\"inet6 accept_rtadv\"" >> $BSDINSTALL_TMPETC/rc.conf.network + echo "echo \"ifconfig_${INTERFACE}_ipv6=\\\"inet6 accept_rtadv\"\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab fi if [ "$SLAAC" = "NO" ]; then - echo "ifconfig_${INTERFACE}_ipv6=\"ineti6 $ADDRESSV6\"" >> $BSDINSTALL_TMPETC/rc.conf.network - echo "ipv6_defaultrouter=\"$GWV6\"" >> $BSDINSTALL_TMPETC/rc.conf.network + echo "echo ifconfig_${INTERFACE}_ipv6=\"ineti6 $ADDRESSV6\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab + echo "echo ipv6_defaultrouter=\"$GWV6\" >> $BSDINSTALL_TMPETC/rc.conf" >> /tmp/bsdinstall-installscript-ab fi fi # Resolver if [ "$DOMAIN" ]; then - echo "domain $DOMAIN" >> $BSDINSTALL_CHROOT/etc/resolv.conf + echo "echo domain $DOMAIN >> /etc/resolv.conf" >> /tmp/bsdinstall-installscript-ab fi if [ "$DNS1" ]; then - echo "nameserver $DNS1" >> $BSDINSTALL_CHROOT/etc/resolv.conf + echo "echo nameserver $DNS1 >> /etc/resolv.conf" >> /tmp/bsdinstall-installscript-ab fi if [ "$DNS2" ]; then - echo "nameserver $DNS2" >> $BSDINSTALL_CHROOT/etc/resolv.conf + echo "echo nameserver $DNS2 >> /etc/resolv.conf" >> /tmp/bsdinstall-installscript-ab fi if [ "$DNS3" ]; then - echo "nameserver $DNS3" >> $BSDINSTALL_CHROOT/etc/resolv.conf + echo "echo nameserver $DNS3 >> /etc/resolv.conf" >> /tmp/bsdinstall-installscript-ab fi if [ "$DNS4" ]; then - echo "nameserver $DNS4" >> $BSDINSTALL_CHROOT/etc/resolv.conf + echo "echo \"nameserver $DNS4\" >> /etc/resolv.conf" >> /tmp/bsdinstall-installscript-ab fi # Finalize install -bsdinstall config +cat $BSDINSTALL_TMPETC/rc.conf.* >> $BSDINSTALL_TMPETC/rc.conf +rm $BSDINSTALL_TMPETC/rc.conf.* + +cp $BSDINSTALL_TMPETC/* $BSDINSTALL_CHROOT/etc + +cat $BSDINSTALL_TMPBOOT/loader.conf.* >> $BSDINSTALL_TMPBOOT/loader.conf +rm $BSDINSTALL_TMPBOOT/loader.conf.* +df -t zfs $BSDINSTALL_CHROOT > /dev/null && echo "zfs_load=\"YES\"" >> $BSDINSTALL_TMPBOOT/loader.conf + +cp $BSDINSTALL_TMPBOOT/* $BSDINSTALL_CHROOT/boot + +[ "${debugFile#+}" ] && cp "${debugFile#+}" $BSDINSTALL_CHROOT/var/log/ + +echo "/usr/bin/newaliases" >> /tmp/bsdinstall-installscript-ab # Run post-install script if [ -f /tmp/bsdinstall-installscript-ab ]; then - cp /tmp/bsdinstall-installscript-ab $BSDINSTALL_CHROOT/tmp/installscript - chmod a+x $BSDINSTALL_CHROOT/tmp/installscript - mount -t devfs devfs "$BSDINSTALL_CHROOT/dev" - chroot $BSDINSTALL_CHROOT /tmp/installscript $@ 2>&1 - umount "$BSDINSTALL_CHROOT/dev" - rm $BSDINSTALL_CHROOT/tmp/installscript + echo "rm /etc/rc.local" >> /tmp/bsdinstall-installscript-ab + echo "reboot" >> /tmp/bsdinstall-installscript-ab + cp /tmp/bsdinstall-installscript-ab $BSDINSTALL_CHROOT/etc/rc.local + chmod a+x $BSDINSTALL_CHROOT/etc/rc.local + rm /tmp/bsdinstall-installscript-ab fi +############################################################ CONFIGURATION END + bsdinstall entropy [ -z "$ZFSBOOT" ] && bsdinstall umount Modified: soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/customfiles/usr/libexec/bsdinstall/script ============================================================================== --- soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/customfiles/usr/libexec/bsdinstall/script Thu Mar 12 13:39:23 2015 (r278257) +++ soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/customfiles/usr/libexec/bsdinstall/script Thu Mar 12 13:39:39 2015 (r278258) @@ -2,6 +2,7 @@ #- # Copyright (c) 2013 Nathan Whitehorn # Copyright (c) 2013 Devin Teske +# Copyright (c) 2014 Kamil Czekirda # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -44,13 +45,11 @@ # BSDINSTALL_DISTDIR # MIRROR default: : ${MIRROR:=ftp://ftp.freebsd.org} -# RELDIR default: -: ${RELDIR:=releases} # RELEASE default: -: ${RELEASE:=10.0-RELEASE} +: ${RELEASE:=10.1} # HOSTNAME to TMPETC if not exist, don't set # KEYMAP to TMPETC if not exist, don't set -# DAEMONS to TMPETC if not exist, set only sshd +# DAEMONS to TMPETC if not exist, don't set # TIMEZONE to /tmp/bsdinstall-installscript-ab # INTERFACE (em0, bge0) # IPV4 (default: YES) @@ -63,9 +62,6 @@ # DOMAIN # DNS1 # DNS2 - -# TODO: network, users, -# VARIABLES: # IPV6 (default: NO) : ${IPV6:=NO} # SLAAC (default: YES) @@ -76,7 +72,6 @@ # GWV6 # DNS3 # DNS4 - # ROOTPWHASH # USERSCONFIG @@ -130,37 +125,87 @@ f_dprintf "Began Instalation at %s" "$( date )" fi +############################################################ DEVICE PREPARING + +# Make partitions +rm -f $PATH_FSTAB +touch $PATH_FSTAB +if [ "$ZFSBOOT" = "YES" ]; then + bsdinstall zfsboot /tmp/bsdinstall-installscript-aa +else + bsdinstall scriptedpart "$PARTITIONS" +fi + +bsdinstall mount + +############################################################ INSTALLATION + # Build mirror path +if [ "$RELEASE" = "11.0" ]; then + RELDIR="snapshots" + RELEASE="$RELEASE-CURRENT" +else + RELDIR="releases" + RELEASE="$RELEASE-RELEASE" +fi + MIRROR=$(echo "$MIRROR" | sed 's/\/$//') BSDINSTALL_DISTSITE="$MIRROR/pub/FreeBSD/$RELDIR/$UNAME_M/$UNAME_P/$RELEASE" + export BSDINSTALL_DISTSITE +# Fetch distributions + +BSDINSTALL_FETCHDEST="$BSDINSTALL_CHROOT/usr/freebsd-dist" +export BSDINSTALL_DISTDIR="$BSDINSTALL_FETCHDEST" +echo "$BSDINSTALL_FETCHDEST" +mkdir -p "$BSDINSTALL_FETCHDEST" + +export FTP_PASSIVE_MODE=YES +bsdinstall distfetch + +# Unpack distributions +#bsdinstall checksum +bsdinstall distextract + +############################################################ CONFIGURATION + # Hostname if [ -n "$HOSTNAME" ]; then - echo "hostname=\"$HOSTNAME\"" > $BSDINSTALL_TMPETC/rc.conf.hostname + if [ ! -f /tmp/bsdinstall-installscript-ab ]; then + echo "#!/bin/sh" > /tmp/bsdinstall-installscript-ab + fi + echo "echo hostname=\\\"$HOSTNAME\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab fi # Keymap if [ -n "$KEYMAP" ]; then - echo "keymap=\"$KEYMAP\"" > $BSDINSTALL_TMPETC/rc.conf.keymap + if [ ! -f /tmp/bsdinstall-installscript-ab ]; then + echo "#!/bin/sh" > /tmp/bsdinstall-installscript-ab + fi + echo "echo keymap=\\\"$KEYMAP\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab fi # Services +havedump= + if [ -n "$DAEMONS" ]; then - havedump= - for daemon in $DAEMONS; do - [ "$daemon" = "dumpdev" ] && havedump=1 continue - echo ${daemon}_enable=\"YES\" >> $BSDINSTALL_TMPETC/rc.conf.services - done - if [ "$havedump" ]; then - echo dumpdev=\"AUTO\" >> $BSDINSTALL_TMPETC/rc.conf.services - else - echo dumpdev=\"NO\" >> $BSDINSTALL_TMPETC/rc.conf.services + if [ ! -f /tmp/bsdinstall-installscript-ab ]; then + echo "#!/bin/sh" > /tmp/bsdinstall-installscript-ab fi +fi + +for daemon in $DAEMONS; do + [ "$daemon" = "dumpdev" ] && havedump=1 continue + echo "echo ${daemon}_enable=\\\"YES\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab +done + +if [ "$havedump" ]; then + echo "echo dumpdev=\\\"AUTO\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab else - echo "sshd_enable=\"YES\"" > $BSDINSTALL_TMPETC/rc.conf.services + echo "echo dumpdev=\\\"NO\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab fi # Time zone @@ -195,97 +240,85 @@ echo "adduser -f $USERSCONFIG" >> /tmp/bsdinstall-installscript-ab fi -# Make partitions -rm -f $PATH_FSTAB -touch $PATH_FSTAB -if [ "$ZFSBOOT" = "YES" ]; then - bsdinstall zfsboot /tmp/bsdinstall-installscript-aa -else - bsdinstall scriptedpart "$PARTITIONS" -fi -bsdinstall mount - # Network - if [ -n "$INTERFACE" ] && [ "$IPV4" = "YES" ]; then + if [ ! -f /tmp/bsdinstall-installscript-ab ]; then + echo "#!/bin/sh" > /tmp/bsdinstall-installscript-ab + fi if [ "$DHCP" = "YES" ]; then - echo "ifconfig_${INTERFACE}=\"DHCP\"" >> $BSDINSTALL_TMPETC/rc.conf.network + echo "echo ifconfig_${INTERFACE}=\\\"DHCP\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab fi if [ "$DHCP" = "NO" ]; then - echo "ifconfig_${INTERFACE}=\"inet $ADDRESSV4 netmask $NETMASK\"" >> $BSDINSTALL_TMPETC/rc.conf.network - echo "defaultrouter=\"$GWV4\"" >> $BSDINSTALL_TMPETC/rc.conf.networ + echo "echo \"ifconfig_${INTERFACE}=\\\"inet $ADDRESSV4 netmask $NETMASK\\\"\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab + echo "echo defaultrouter=\\\"$GWV4\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab fi fi if [ -n "$INTERFACE" ] && [ "$IPV6" = "YES" ]; then - echo "ipv6_enable=\"YES\"" >> $BSDINSTALL_TMPETC/rc.conf.network + if [ ! -f /tmp/bsdinstall-installscript-ab ]; then + echo "#!/bin/sh" > /tmp/bsdinstall-installscript-ab + fi + echo "echo ipv6_enable=\\\"YES\\\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab if [ "$SLAAC" = "YES" ]; then - echo "ifconfig_${INTERFACE}_ipv6=\"inet6 accept_rtadv\"" >> $BSDINSTALL_TMPETC/rc.conf.network + echo "echo \"ifconfig_${INTERFACE}_ipv6=\\\"inet6 accept_rtadv\"\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab fi if [ "$SLAAC" = "NO" ]; then - echo "ifconfig_${INTERFACE}_ipv6=\"ineti6 $ADDRESSV6\"" >> $BSDINSTALL_TMPETC/rc.conf.network - echo "ipv6_defaultrouter=\"$GWV6\"" >> $BSDINSTALL_TMPETC/rc.conf.network + echo "echo ifconfig_${INTERFACE}_ipv6=\"ineti6 $ADDRESSV6\" >> /etc/rc.conf" >> /tmp/bsdinstall-installscript-ab + echo "echo ipv6_defaultrouter=\"$GWV6\" >> $BSDINSTALL_TMPETC/rc.conf" >> /tmp/bsdinstall-installscript-ab fi fi -# resolver +# Resolver -mkdir $BSDINSTALL_CHROOT/etc/ if [ "$DOMAIN" ]; then - echo "domain $DOMAIN" >> $BSDINSTALL_CHROOT/etc/resolv.conf + echo "echo domain $DOMAIN >> /etc/resolv.conf" >> /tmp/bsdinstall-installscript-ab fi if [ "$DNS1" ]; then - echo "nameserver $DNS1" >> $BSDINSTALL_CHROOT/etc/resolv.conf + echo "echo nameserver $DNS1 >> /etc/resolv.conf" >> /tmp/bsdinstall-installscript-ab fi if [ "$DNS2" ]; then - echo "nameserver $DNS2" >> $BSDINSTALL_CHROOT/etc/resolv.conf + echo "echo nameserver $DNS2 >> /etc/resolv.conf" >> /tmp/bsdinstall-installscript-ab fi if [ "$DNS3" ]; then - echo "nameserver $DNS3" >> $BSDINSTALL_CHROOT/etc/resolv.conf + echo "echo nameserver $DNS3 >> /etc/resolv.conf" >> /tmp/bsdinstall-installscript-ab fi if [ "$DNS4" ]; then - echo "nameserver $DNS4" >> $BSDINSTALL_CHROOT/etc/resolv.conf + echo "echo \"nameserver $DNS4\" >> /etc/resolv.conf" >> /tmp/bsdinstall-installscript-ab fi +# Finalize install +cat $BSDINSTALL_TMPETC/rc.conf.* >> $BSDINSTALL_TMPETC/rc.conf +rm $BSDINSTALL_TMPETC/rc.conf.* -# Fetch distributions +cp $BSDINSTALL_TMPETC/* $BSDINSTALL_CHROOT/etc -BSDINSTALL_FETCHDEST="$BSDINSTALL_CHROOT/usr/freebsd-dist" -export BSDINSTALL_DISTDIR="$BSDINSTALL_FETCHDEST" -echo "$BSDINSTALL_FETCHDEST" -mkdir -p "$BSDINSTALL_FETCHDEST" +cat $BSDINSTALL_TMPBOOT/loader.conf.* >> $BSDINSTALL_TMPBOOT/loader.conf +rm $BSDINSTALL_TMPBOOT/loader.conf.* +df -t zfs $BSDINSTALL_CHROOT > /dev/null && echo "zfs_load=\"YES\"" >> $BSDINSTALL_TMPBOOT/loader.conf -export FTP_PASSIVE_MODE=YES -bsdinstall distfetch +cp $BSDINSTALL_TMPBOOT/* $BSDINSTALL_CHROOT/boot -# Unpack distributions -bsdinstall checksum -bsdinstall distextract - -# Finalize install -bsdinstall config +[ "${debugFile#+}" ] && cp "${debugFile#+}" $BSDINSTALL_CHROOT/var/log/ -# Make sure networking is functional, if we can arrange that -#if [ ! -f $BSDINSTALL_CHROOT/etc/resolv.conf -a -f /etc/resolv.conf ]; then -# cp /etc/resolv.conf $BSDINSTALL_CHROOT/etc/resolv.conf -#fi +echo "/usr/bin/newaliases" >> /tmp/bsdinstall-installscript-ab # Run post-install script if [ -f /tmp/bsdinstall-installscript-ab ]; then - cp /tmp/bsdinstall-installscript-ab $BSDINSTALL_CHROOT/tmp/installscript - chmod a+x $BSDINSTALL_CHROOT/tmp/installscript - mount -t devfs devfs "$BSDINSTALL_CHROOT/dev" - chroot $BSDINSTALL_CHROOT /tmp/installscript $@ 2>&1 - umount "$BSDINSTALL_CHROOT/dev" - rm $BSDINSTALL_CHROOT/tmp/installscript + echo "rm /etc/rc.local" >> /tmp/bsdinstall-installscript-ab + echo "reboot" >> /tmp/bsdinstall-installscript-ab + cp /tmp/bsdinstall-installscript-ab $BSDINSTALL_CHROOT/etc/rc.local + chmod a+x $BSDINSTALL_CHROOT/etc/rc.local + rm /tmp/bsdinstall-installscript-ab fi +############################################################ CONFIGURATION END + bsdinstall entropy [ -z "$ZFSBOOT" ] && bsdinstall umount
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201503121339.t2CDddSQ025877>