X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=arch-init-remote;h=ceb3081c1adb36608b9db34454bb338bfeab55d9;hb=3f252d6d03ae2a7c85e852d5ebe24ac59a4dcd25;hp=5c2717ff1ae8d60492c0306a6460b6dfc4e8a733;hpb=4261ad7e021ec77e7198cf42c3576dad07f12a64;p=automated-distro-installer diff --git a/arch-init-remote b/arch-init-remote index 5c2717f..ceb3081 100755 --- a/arch-init-remote +++ b/arch-init-remote @@ -1,35 +1,64 @@ -#!/bin/bash -lx +#!/bin/bash -l +# Copyright (C) 2016 Ian Kelling +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +usage() { + cat <&2' ERR +if [[ ! $1 ]]; then + echo "error: expect a hostname in \$1 " + usage 1 +fi host=$1 -[[ $host == frodo ]] && scp /a/c/machine_specific/frodo/subdir_files/.ssh/* frodo:.ssh/ + +scp -o StrictHostKeyChecking=false -o UserKnownHostsFile=/dev/null \ + /p/c/machine_specific/$host/filesystem/etc/ssh/* root@$host:/etc/ssh + if [[ -e /var/cache/pacman/pkg ]]; then darkhttpd /var/cache/pacman/pkg & - url=http://$HOSTNAME:8080 + mirror=http://$HOSTNAME:8080 fi faid=/a/bin/fai -fai_files=( - distro-install-common - hooks/partition.DEFAULT - class/50-host-classes -) -sudo scp -r /a/bin/fai/arch-init{,-chroot} \ - ${fai_files[@]/#//a/bin/fai/fai/config/} \ - /a/bin/devbyid \ - /q/root/luks /q/root/shadow root@$host: + +rsync -rlpthvi --relative /a/bin/fai/ root@$host:/ +rsync /a/bin/fai/ root@$host:/a/bin/fai/ +sudo scp -r /a/bin/fai/devbyid /q/root/luks /q/root/shadow root@$host: # creating shadow file string: # on debian, you can use mkpasswd -m sha-512 to generate a pass. # arch doesn't have this program. instead, you can do passwd, # and extract it from the shadow file. -ssh root@$host bash -x ./arch-init "'$(cat /p/shadow/standard)'" $host $url -ssh root@$host reboot now || [[ $? == 255 ]] -# next up is: +ssh root@$host bash -x /a/bin/fai/arch-init $host $mirror + +ssh root@$host reboot || [[ $? == 255 ]] + +# next up is sync data, then # ssh $host /a/bin/distro-begin -killall darkhttpd +if [[ -e /var/cache/pacman/pkg ]]; then + killall darkhttpd +fi # todo: this doesn't work. figure out why. #kill $!