X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=arch-init-remote;h=ceb3081c1adb36608b9db34454bb338bfeab55d9;hb=a030c6b0d89340212d3c04023dcd1fe2a52d31d1;hp=4210b5f8ce86f83ba73924372147232302a5e3aa;hpb=81e0e0b826ebffdee7d809ee4dff1338af7692e1;p=automated-distro-installer diff --git a/arch-init-remote b/arch-init-remote index 4210b5f..ceb3081 100755 --- a/arch-init-remote +++ b/arch-init-remote @@ -1,4 +1,26 @@ #!/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 " - exit 1 + usage 1 fi host=$1 + scp -o StrictHostKeyChecking=false -o UserKnownHostsFile=/dev/null \ /p/c/machine_specific/$host/filesystem/etc/ssh/* root@$host:/etc/ssh @@ -19,26 +42,19 @@ if [[ -e /var/cache/pacman/pkg ]]; then 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} \ - /a/bin/fai/encrypt \ - ${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 $host $mirror +ssh root@$host bash -x /a/bin/fai/arch-init $host $mirror -#ssh root@$host reboot now || [[ $? == 255 ]] +ssh root@$host reboot || [[ $? == 255 ]] -# next up is: +# next up is sync data, then # ssh $host /a/bin/distro-begin if [[ -e /var/cache/pacman/pkg ]]; then