mirror of
				https://github.com/suiryc/archlinux-initrd-ssh-cryptsetup.git
				synced 2025-11-04 18:22:31 +03:00 
			
		
		
		
	
		
			
	
	
		
			31 lines
		
	
	
		
			1015 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			1015 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/bash
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								post_install() {
							 | 
						||
| 
								 | 
							
								    local dropbear_authorized_keys="/etc/dropbear/initrd.authorized_keys"
							 | 
						||
| 
								 | 
							
								    local etc_dropbear=$(dirname "${dropbear_authorized_keys}")
							 | 
						||
| 
								 | 
							
								    [ -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
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 |