static usb ethnet addresses
[automated-distro-installer] / arch-init-chroot
index c6e49936126f45e1ca4235a5d3d2d3fed2630dfc..e1738632e39c27612c3386160be064bacff1cd0a 100755 (executable)
@@ -1,4 +1,19 @@
 #!/bin/bash -x
+# 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.
 set -eE -o pipefail
 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
 
@@ -24,9 +39,9 @@ echo "LANG=$l" > /etc/locale.conf
 # # https://bugs.archlinux.org/task/42884
 # # disabled, as with just the module, startup spammed something about
 # # command takes a device name and something else.
-# sed -ri '/^ *MODULES *=.*btrfs/!s/^( *MODULES *=.*)"/\1 btrfs"/' /etc/mkinitcpio.conf
+# sed -ri --follow-symlinks '/^ *MODULES *=.*btrfs/!s/^( *MODULES *=.*)"/\1 btrfs"/' /etc/mkinitcpio.conf
 # # remove extra space
-# sed -ri 's/^( *MODULES *=[^"]*)" */\1"/' /etc/mkinitcpio.conf
+# sed -ri --follow-symlinks 's/^( *MODULES *=[^"]*)" */\1"/' /etc/mkinitcpio.conf
 
 
 
@@ -62,33 +77,28 @@ k_args=(
     root=/dev/mapper/crypt_dev_${first_root_dev##*/}
     resume=${first_root_dev%[0-9]}$swapn
 )
-extra_encrypt_hooks=()
 
 
 # If we have more than 1 to decrypt, arch wiki lead me onto
 # a sort of hacky way run the encrypt hook multiple times.
 
-base=/usr/lib/initcpio
-
-
 # https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system#Configuring_mkinitcpio_2
 # used to have lvm2 after encrypt for lvm, but not using lvm anymore
 for x in encrypt btrfs; do
-    sed -ri -f - /etc/mkinitcpio.conf <<EOF
+    sed -ri --follow-symlinks -f - /etc/mkinitcpio.conf <<EOF
 /^ *HOOKS.*\b$x\b/!s/^( *HOOKS=.*)filesystems/\1$x filesystems/
 EOF
 done
 
 # this is the default file, otherwise you use cryptkey=device:fstype:path
-sed -ri -f - /etc/mkinitcpio.conf <<EOF
+sed -ri --follow-symlinks -f - /etc/mkinitcpio.conf <<EOF
 s#^\s*FILES=.*#FILES="/crypto_keyfile.bin"#
 EOF
 echo "$0: FILES:"
 grep FILES /etc/mkinitcpio.conf
-k_args="${k_args[*]}"
-echo "$0: grub cmdline additions: $k_args"
-sed -ri -f - /etc/default/grub <<EOF
-\%$k_args%!s%^ *GRUB_CMDLINE_LINUX_DEFAULT *= *"%\0$k_args %
+echo "$0: grub cmdline additions: ${k_args[*]}"
+sed -ri --follow-symlinks -f - /etc/default/grub <<EOF
+\%${k_args[*]}%!s%^ *GRUB_CMDLINE_LINUX_DEFAULT *= *"%\0${k_args[*]} %
 EOF
 
 mkinitcpio -p linux
@@ -96,7 +106,7 @@ mkinitcpio -p linux
 
 # remove the default quiet arg.
 # this doesn't seem to affect anything, so leave it alone.
-#sed -ri 's/^( *GRUB_CMDLINE_LINUX_DEFAULT *= *.*) ?\bquiet\b(.*)/\1\2/' /etc/default/grub
+#sed -ri --follow-symlinks 's/^( *GRUB_CMDLINE_LINUX_DEFAULT *= *.*) ?\bquiet\b(.*)/\1\2/' /etc/default/grub
 
 # https://wiki.archlinux.org/index.php/GRUB#Install_to_disk
 for dev in $BOOT_DEVICE; do
@@ -114,12 +124,12 @@ pacman -S --noconfirm sudo
 /a/bin/fai/fai/config/distro-install-common/end
 systemctl enable sshd
 
-rm -rf /home/ian/.ssh
-cp -r /root/.ssh /home/ian
-chown -R ian:ian /home/ian/.ssh
+rm -rf /home/iank/.ssh
+cp -r /root/.ssh /home/iank
+chown -R iank:iank /home/iank/.ssh
 # the groups recommended by
 # https://wiki.archlinux.org/index.php/Users_and_groups#Group_list
-usermod -aG games,rfkill,users,uucp,wheel ian
+usermod -aG games,rfkill,users,uucp,wheel iank
 
 
 pacman -S --noconfirm net-tools # for route