mirror of
https://github.com/suiryc/archlinux-initrd-ssh-cryptsetup.git
synced 2025-07-27 14:13:52 +03:00

Specify timeout for ipconfig so that we can still boot while network is done. Otherwise ipconfig remains stuck (until IP can be configured). If not given we default to 10s. Minor code refactoring. Moved configuration file from /etc/dropbear/initrd.env to /etc/initcpio/sshcs_env since it now contains options for ipconfig and not only dropbear. Package installation script move legacy file to new path if present. v0.3-1
40 lines
1.4 KiB
Bash
40 lines
1.4 KiB
Bash
#!/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
|
|
}
|
|
|