add EFI support
This commit is contained in:
		
							parent
							
								
									19cc3dfbba
								
							
						
					
					
						commit
						1dc84b5e89
					
				
					 2 changed files with 95 additions and 24 deletions
				
			
		| 
						 | 
				
			
			@ -12,8 +12,10 @@ wireguard settings
 | 
			
		|||
firefox profiles home/.mozzilla/firefox
 | 
			
		||||
thunderbird profile home/.thunderbird
 | 
			
		||||
jetbrains settings home/.config/JetBrains
 | 
			
		||||
 | 
			
		||||
signal settings .config/Signal
 | 
			
		||||
telegram settings -local/share/TelegramDesktop
 | 
			
		||||
pidgin setting home/.purple
 | 
			
		||||
gnucash + files
 | 
			
		||||
 | 
			
		||||
home/Projects
 | 
			
		||||
home/Mount
 | 
			
		||||
| 
						 | 
				
			
			@ -21,5 +23,7 @@ home/Tools
 | 
			
		|||
 | 
			
		||||
;ldnsutils wireguard resolvconf freecad
 | 
			
		||||
 | 
			
		||||
fonts-powerline kicad-packages3d
 | 
			
		||||
 | 
			
		||||
systemctl enable tinc
 | 
			
		||||
systemctl enable tinc@nodes.j3d1.de
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										113
									
								
								entry.sh
									
										
									
									
									
								
							
							
						
						
									
										113
									
								
								entry.sh
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -31,7 +31,7 @@ function first_stage(){
 | 
			
		|||
 | 
			
		||||
	export DEVICE
 | 
			
		||||
 | 
			
		||||
	apt install -y debootstrap cryptsetup btrfs-progs lvm2 rsync
 | 
			
		||||
	apt install -y debootstrap cryptsetup btrfs-progs lvm2 rsync gdisk
 | 
			
		||||
 | 
			
		||||
	if [ -d /dev/cryptvg ]; then
 | 
			
		||||
		mount | grep target | awk '{print $3}'| sort -r | while read LINE; do
 | 
			
		||||
| 
						 | 
				
			
			@ -51,31 +51,64 @@ function first_stage(){
 | 
			
		|||
 | 
			
		||||
	(
 | 
			
		||||
	echo o
 | 
			
		||||
	echo Y
 | 
			
		||||
	echo n
 | 
			
		||||
	echo p
 | 
			
		||||
	echo 1
 | 
			
		||||
	echo
 | 
			
		||||
	echo +2G
 | 
			
		||||
	echo +512M
 | 
			
		||||
	echo ef02
 | 
			
		||||
	echo n
 | 
			
		||||
	echo p
 | 
			
		||||
	echo 2
 | 
			
		||||
	echo
 | 
			
		||||
	echo +512M
 | 
			
		||||
	echo ef00
 | 
			
		||||
	echo n
 | 
			
		||||
	echo p
 | 
			
		||||
	echo 3
 | 
			
		||||
	echo
 | 
			
		||||
	echo 
 | 
			
		||||
	echo 8309
 | 
			
		||||
	echo w
 | 
			
		||||
	) | fdisk ${DEVICE}
 | 
			
		||||
	echo Y
 | 
			
		||||
	) | gdisk ${DEVICE}
 | 
			
		||||
	
 | 
			
		||||
	if [ -e ${DEVICE}1 ]; then
 | 
			
		||||
	    PART1=${DEVICE}1
 | 
			
		||||
	elif [ -e ${DEVICE}p1 ]; then
 | 
			
		||||
	    PART1=${DEVICE}p1
 | 
			
		||||
	fi
 | 
			
		||||
	
 | 
			
		||||
	wipefs -a ${DEVICE}1
 | 
			
		||||
	wipefs -a ${DEVICE}2
 | 
			
		||||
	if [ -e ${DEVICE}2 ]; then
 | 
			
		||||
	    PART2=${DEVICE}2
 | 
			
		||||
	elif [ -e ${DEVICE}p2 ]; then
 | 
			
		||||
	    PART2=${DEVICE}p2
 | 
			
		||||
	fi
 | 
			
		||||
	
 | 
			
		||||
	if [ -e ${DEVICE}3 ]; then
 | 
			
		||||
	    ROOTPART=${DEVICE}3
 | 
			
		||||
	elif [ -e ${DEVICE}p3 ]; then
 | 
			
		||||
	    ROOTPART=${DEVICE}p3
 | 
			
		||||
	fi
 | 
			
		||||
	
 | 
			
		||||
	wipefs -a ${PART1}
 | 
			
		||||
	wipefs -a ${ROOTPART}
 | 
			
		||||
	
 | 
			
		||||
	echo mkfs.ext4 ${PART1}
 | 
			
		||||
	yes | mkfs.ext4 ${PART1}
 | 
			
		||||
 | 
			
		||||
	echo mkfs.ext4 ${DEVICE}1
 | 
			
		||||
	yes | mkfs.ext4 ${DEVICE}1
 | 
			
		||||
	if [ -d /sys/firmware/efi ]; then
 | 
			
		||||
		echo UEFI
 | 
			
		||||
		echo mkfs.vfat -F32 ${PART2}
 | 
			
		||||
		mkfs.vfat -F32 ${PART2}
 | 
			
		||||
	else
 | 
			
		||||
		echo BIOS
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	(
 | 
			
		||||
	echo $LUKS_PASSWORD
 | 
			
		||||
	echo $LUKS_PASSWORD	
 | 
			
		||||
	)| cryptsetup luksFormat ${DEVICE}2
 | 
			
		||||
	echo $LUKS_PASSWORD | cryptsetup luksOpen ${DEVICE}2 cryptlvm
 | 
			
		||||
	)| cryptsetup luksFormat ${ROOTPART}
 | 
			
		||||
	echo $LUKS_PASSWORD | cryptsetup luksOpen ${ROOTPART} cryptlvm
 | 
			
		||||
	unset LUKS_PASSWORD
 | 
			
		||||
	pvcreate /dev/mapper/cryptlvm
 | 
			
		||||
	vgcreate cryptvg /dev/mapper/cryptlvm
 | 
			
		||||
| 
						 | 
				
			
			@ -106,14 +139,21 @@ function first_stage(){
 | 
			
		|||
	echo debootstrap sid $TARGET
 | 
			
		||||
	debootstrap sid $TARGET
 | 
			
		||||
 | 
			
		||||
	mount ${DEVICE}1 $TARGET/boot
 | 
			
		||||
	echo mount ${DEVICE}1 $TARGET/boot
 | 
			
		||||
	mount ${PART1} $TARGET/boot
 | 
			
		||||
	echo mount ${PART1} $TARGET/boot
 | 
			
		||||
	
 | 
			
		||||
	if [ -d /sys/firmware/efi ]; then
 | 
			
		||||
		echo UEFI
 | 
			
		||||
		mkdir -p $TARGET/boot/efi
 | 
			
		||||
		mount ${PART2} $TARGET/boot/efi
 | 
			
		||||
		echo mount ${PART2} $TARGET/boot/efi
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	echo mount -osubvol=@home /dev/cryptvg/root $TARGET/home
 | 
			
		||||
	mount -osubvol=@home /dev/cryptvg/root $TARGET/home
 | 
			
		||||
 | 
			
		||||
	genfstab -U $TARGET | tee $TARGET/etc/fstab
 | 
			
		||||
	UUID=$(lsblk -lpo NAME,UUID | grep ${DEVICE}2 | awk '{print $2}')
 | 
			
		||||
	UUID=$(lsblk -lpo NAME,UUID | grep ${ROOTPART} | awk '{print $2}')
 | 
			
		||||
	echo cryptlvm UUID=${UUID} none luks,initramfs > $TARGET/etc/crypttab
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -130,12 +170,21 @@ function second_stage(){
 | 
			
		|||
	hostname $NEW_HOSTNAME
 | 
			
		||||
	sed -i 's/main/main contrib non-free/g' /etc/apt/sources.list
 | 
			
		||||
	apt update
 | 
			
		||||
	apt install -y linux-image-amd64 grub2 cryptsetup cryptsetup-initramfs cryptsetup-suspend btrfs-progs lvm2 firmware-iwlwifi locales tzdata keyboard-configuration console-common zsh intel-microcode ldnsutils wireguard resolvconf
 | 
			
		||||
	grub-install ${DEVICE}
 | 
			
		||||
	update-grub
 | 
			
		||||
	apt install -y linux-image-amd64 cryptsetup cryptsetup-initramfs cryptsetup-suspend btrfs-progs lvm2 firmware-iwlwifi locales tzdata keyboard-configuration console-common zsh intel-microcode ldnsutils wireguard resolvconf
 | 
			
		||||
	if [ -d /sys/firmware/efi ]; then
 | 
			
		||||
		echo UEFI
 | 
			
		||||
		apt install -y grub-efi
 | 
			
		||||
		grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck --no-nvram --removable
 | 
			
		||||
		update-grub
 | 
			
		||||
	else
 | 
			
		||||
		echo BIOS
 | 
			
		||||
		apt install -y grub-pc
 | 
			
		||||
		grub-install ${DEVICE}
 | 
			
		||||
		update-grub
 | 
			
		||||
	fi
 | 
			
		||||
	update-initramfs -k all -u
 | 
			
		||||
	mkdir /snap
 | 
			
		||||
	btrfs subvolume snapshot / /snap/$(date +%Y-%m-%d_basesystem)
 | 
			
		||||
	btrfs subvolume snapshot / /snap/$(date +%Y-%m-%d_00_basesystem)
 | 
			
		||||
	apt install -y task-mate-desktop mate-desktop-environment-extra dbus-x11
 | 
			
		||||
	(
 | 
			
		||||
	echo $USER_PASSWORD
 | 
			
		||||
| 
						 | 
				
			
			@ -148,21 +197,28 @@ function second_stage(){
 | 
			
		|||
	) | adduser jedi
 | 
			
		||||
	unset USER_PASSWORD
 | 
			
		||||
 | 
			
		||||
	btrfs subvolume snapshot / /snap/$(date +%Y-%m-%d_user_gui)
 | 
			
		||||
	apt install -y git wget materia-gtk-theme htop nmap arandr timeshift gparted jq
 | 
			
		||||
	chsh --shell /usr/bin/zsh jedi
 | 
			
		||||
 | 
			
		||||
	btrfs subvolume snapshot / /snap/$(date +%Y-%m-%d_01_user_gui)
 | 
			
		||||
	apt install -y git wget materia-gtk-theme htop nmap arandr timeshift gparted jq fonts-powerline
 | 
			
		||||
	apt install -y virt-manager telegram-desktop chromium firefox thunderbird geany vlc pidgin meld remmina gmpc
 | 
			
		||||
	apt install -y gimp inkscape blender freecad kicad || true
 | 
			
		||||
	btrfs subvolume snapshot / /snap/$(date +%Y-%m-%d_big_tools)
 | 
			
		||||
	apt install -y gimp inkscape blender freecad kicad kicad-packages3d || true
 | 
			
		||||
	btrfs subvolume snapshot / /snap/$(date +%Y-%m-%d_02_big_tools)
 | 
			
		||||
	
 | 
			
		||||
	# switch to woking in homedir
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	rsync -a /root/unbox_data/secrets/SSH/ ~jedi/.ssh/
 | 
			
		||||
	chown -R jedi:jedi ~jedi/
 | 
			
		||||
	chsh --shell /usr/bin/zsh jedi
 | 
			
		||||
	
 | 
			
		||||
	echo second_stage done
 | 
			
		||||
	
 | 
			
		||||
	export -f user_install
 | 
			
		||||
	su jedi -c "bash -c user_install"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	mkdir -p ~jedi/.snap/
 | 
			
		||||
	btrfs subvolume snapshot ~jedi/ ~jedi/.snap/$(date +%Y-%m-%d_fresh_install)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function user_install(){
 | 
			
		||||
| 
						 | 
				
			
			@ -201,6 +257,17 @@ function user_install(){
 | 
			
		|||
	rm -r "$TOOLBOX_TEMP_DIR"
 | 
			
		||||
	unset TOOLBOX_TEMP_DIR
 | 
			
		||||
	
 | 
			
		||||
	
 | 
			
		||||
	# Signal
 | 
			
		||||
	# 1. Install our official public software signing key
 | 
			
		||||
	#wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg
 | 
			
		||||
	#cat signal-desktop-keyring.gpg | sudo tee -a /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null
 | 
			
		||||
	# 2. Add our repository to your list of repositories
 | 
			
		||||
	#echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' |\
 | 
			
		||||
	#sudo tee -a /etc/apt/sources.list.d/signal-xenial.list
 | 
			
		||||
	# 3. Update your package database and install signal
 | 
			
		||||
	#sudo apt update && sudo apt install signal-desktop
 | 
			
		||||
	
 | 
			
		||||
	echo
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue