From owner-svn-soc-all@FreeBSD.ORG Mon Aug 11 19:59:14 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C4A7C3C7 for ; Mon, 11 Aug 2014 19:59:14 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AF93A2B27 for ; Mon, 11 Aug 2014 19:59:14 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7BJxEI4008627 for ; Mon, 11 Aug 2014 19:59:14 GMT (envelope-from kczekirda@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7BJxDPN008606 for svn-soc-all@FreeBSD.org; Mon, 11 Aug 2014 19:59:13 GMT (envelope-from kczekirda@FreeBSD.org) Date: Mon, 11 Aug 2014 19:59:13 GMT Message-Id: <201408111959.s7BJxDPN008606@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to kczekirda@FreeBSD.org using -f From: kczekirda@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r272230 - in soc2014/kczekirda/pxe-fai-head/tools/mfsbsd: conf customfiles/etc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Aug 2014 19:59:14 -0000 Author: kczekirda Date: Mon Aug 11 19:59:13 2014 New Revision: 272230 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=272230 Log: fai is ready Added: soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/customfiles/etc/dhclient.conf Modified: soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/conf/rc.local.sample soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/customfiles/etc/installerconfig Modified: soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/conf/rc.local.sample ============================================================================== --- soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/conf/rc.local.sample Mon Aug 11 18:57:22 2014 (r272229) +++ soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/conf/rc.local.sample Mon Aug 11 19:59:13 2014 (r272230) @@ -1,13 +1,6 @@ #!/bin/sh # $FreeBSD: head/release/rc.local 259686 2013-12-21 16:43:40Z dteske $ -: ${DIALOG_OK=0} -: ${DIALOG_CANCEL=1} -: ${DIALOG_HELP=2} -: ${DIALOG_EXTRA=3} -: ${DIALOG_ITEM_HELP=4} -: ${DIALOG_ESC=255} - MACHINE=`uname -m` kbdcontrol -d >/dev/null 2>&1 @@ -49,14 +42,62 @@ fi export TERM -if [ -f /etc/installerconfig ]; then - if bsdinstall script /etc/installerconfig; then - dialog --backtitle "FreeBSD Installer" --title "Complete" --no-cancel --ok-label "Reboot" --pause "Installation of FreeBSD complete! Rebooting in 10 seconds" 10 30 10 - reboot - else - dialog --backtitle "FreeBSD Installer" --title "Error" --textbox /tmp/bsdinstall_log 0 0 - fi - exit +echo "FAI FreeBSD installer" + +file="/etc/installerconfig" + +if [ -f "$file" ] && [ `head -n 1 "$file"` == "#!fai" ]; then + method="installerconfig" +fi + +preseed=`cat /var/db/dhclient.leases.* | grep bootfile-name | head -n 1 | awk '{print $3}' | tr -d '";'` + +if [ ! -z "$preseed" ]; then + input="/tmp/fai.conf" + + # default config + + fetch "$preseed"/default -o "$input".default + if [ `head -n "$input".default` == "#!fai" ]; then + method="default"; + fi + + # mac based config + + macs=`ifconfig | grep ether | awk '{print $2}'` + + for mac in $macs + do + fetch "$preseed"/"$mac" -o "$input".$mac + if [ `head -n 1 "$input"."$mac"` == "#!fai" ]; then + method="mac" + rightmac="$mac" + break + fi + done fi +case "$method" in + installerconfig) + input="$file" + ;; + default) + input="$input".default + ;; + mac) + input="$input"."$rightmac" + ;; + *) + echo "No installation method detected, run bsdinstall manually" + exit + ;; +esac + +if bsdinstall script "$input"; then + dialog --backtitle "FreeBSD Installer" --title "Complete" --no-cancel --ok-label "Reboot" --pause "Installation of FreeBSD complete! Rebooting in 10 seconds" 10 30 10 + reboot +else + dialog --backtitle "FreeBSD Installer" --title "Error" --textbox /tmp/bsdinstall_log 0 0 +fi +exit Added: soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/customfiles/etc/dhclient.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/customfiles/etc/dhclient.conf Mon Aug 11 19:59:13 2014 (r272230) @@ -0,0 +1,2 @@ +request bootfile-name subnet-mask, broadcast-address, time-offset, routers, + domain-search, domain-name, domain-name-servers, host-name; Modified: soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/customfiles/etc/installerconfig ============================================================================== --- soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/customfiles/etc/installerconfig Mon Aug 11 18:57:22 2014 (r272229) +++ soc2014/kczekirda/pxe-fai-head/tools/mfsbsd/customfiles/etc/installerconfig Mon Aug 11 19:59:13 2014 (r272230) @@ -1,3 +1,5 @@ +#!fai + PARTITIONS="ada0 { auto freebsd-ufs /}" DISTRIBUTIONS="kernel.txz base.txz" MIRROR="ftp://dell740"