blob: 27b9f2fef5d9a4660d39d0f246e941ebc531fd9c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#!/bin/bash
post_install() {
local sshcs_env="/etc/initcpio/sshcs_env"
local sshcs_env_old="/etc/dropbear/initrd.env"
local dropbear_authorized_keys="/etc/dropbear/initrd.authorized_keys"
local etc_dropbear=$(dirname "${dropbear_authorized_keys}")
[ ! -e "${sshcs_env}" ] && [ -e "${sshcs_env_old}" ] && {
[ -d $(dirname "${sshcs_env}") ] || mkdir -p $(dirname "${sshcs_env}")
mv "${sshcs_env_old}" "${sshcs_env}"
cat <<EOF
Moved legacy file ${sshcs_env_old} to new path ${sshcs_env}"
EOF
}
[ -d "${etc_dropbear}" ] || mkdir -p "${etc_dropbear}"
[ -e "${dropbear_authorized_keys}" ] || touch "${dropbear_authorized_keys}"
chmod 600 "${dropbear_authorized_keys}"
cat <<EOF
Add the SSH public key to '${dropbear_authorized_keys}'.
Add the 'ip=' kernel command parameter to the bootloader configuration
(see https://wiki.archlinux.org/index.php/Mkinitcpio#Using_net).
In the 'HOOKS' section of '/etc/mkinitcpio.conf', add 'ssh-cryptsetup'
before 'filesystems'. And rebuild the initramfs: 'mkinitcpio -p linux'
EOF
}
post_remove() {
cat <<EOF
Remove the 'ip=' kernel command parameter from the bootloader configuration.
In the 'HOOKS' section of '/etc/mkinitcpio.conf', remove 'ssh-cryptsetup'.
And rebuild the initramfs: 'mkinitcpio -p linux'
EOF
}
post_upgrade() {
post_install
}
|