refactor(iso): No kernel updates in ISO (#3)
This commit is contained in:
parent
290e659d29
commit
5d359a3f39
66
setup.sh
66
setup.sh
@ -38,18 +38,23 @@ function we_are_changerooted () {
|
||||
fi
|
||||
}
|
||||
|
||||
function set_ntp () {
|
||||
funcion no_kernel_update_in_iso () {
|
||||
#1.1
|
||||
sed -r -e 's'$'\x1''#(IgnorePkg)[^\r\n\f]+'$'\x1''\1 = linux linux-headers'$'\x1''g' /etc/pacman.conf
|
||||
}
|
||||
|
||||
function set_ntp () {
|
||||
#1.2
|
||||
timedatectl set-ntp true
|
||||
}
|
||||
|
||||
function resize_cow_space () {
|
||||
#1.2
|
||||
#1.3
|
||||
mount -o remount,size='50%' /run/archiso/cowspace
|
||||
}
|
||||
|
||||
function update_pacman_db () {
|
||||
#1.3
|
||||
#1.4
|
||||
printf -- '%s\n' 'Refreshing mirror list ...'
|
||||
systemctl start reflector
|
||||
# In an ISO and for the minimal number of packages we need we do not
|
||||
@ -58,13 +63,13 @@ function update_pacman_db () {
|
||||
}
|
||||
|
||||
function install_pkgs () {
|
||||
#1.4
|
||||
#1.5
|
||||
printf -- '%s\n' 'Installing packages ...'
|
||||
pacman -S --needed --noconfirm "${@}"
|
||||
}
|
||||
|
||||
function install_zfs () {
|
||||
#1.5
|
||||
#1.6
|
||||
declare reset_colors='\033[0m'
|
||||
curl -s 'https://raw.githubusercontent.com/eoli3n/archiso-zfs/master/init' | bash
|
||||
printf -- "${reset_colors}"
|
||||
@ -251,7 +256,7 @@ function export_pool () {
|
||||
}
|
||||
|
||||
function setup_zpool () {
|
||||
#1.6
|
||||
#1.7
|
||||
local drive_by_id
|
||||
zpool_drive="$(select_part 'zfs')"
|
||||
drive_by_id="$(get_drive_id "${zpool_drive}")"
|
||||
@ -271,7 +276,7 @@ function setup_zpool () {
|
||||
}
|
||||
|
||||
function mount_system () {
|
||||
#1.7
|
||||
#1.8
|
||||
zfs mount "${zpool_name}"'/root/'"${zfs_arch_dataset_name}"
|
||||
zfs mount -a
|
||||
|
||||
@ -284,7 +289,7 @@ function mount_system () {
|
||||
}
|
||||
|
||||
function copy_zpool_cache () {
|
||||
#1.8
|
||||
#1.9
|
||||
mkdir -p '/mnt/etc/zfs'
|
||||
zpool set 'cachefile=/etc/zfs/'"${zpool_name}"'.cache' "${zpool_name}"
|
||||
}
|
||||
@ -304,7 +309,7 @@ function pacman_dont_check_space () {
|
||||
}
|
||||
|
||||
function install_archlinux () {
|
||||
#1.9
|
||||
#1.10
|
||||
pacman_dl_parallel
|
||||
pacman_dont_check_space
|
||||
pacstrap /mnt \
|
||||
@ -331,7 +336,7 @@ function install_archlinux () {
|
||||
}
|
||||
|
||||
function gen_fstab () {
|
||||
#1.10
|
||||
#1.11
|
||||
genfstab -U /mnt | grep -v "${zpool_name}" | tr -s '\n' | sed -r -e 's/\/mnt//' -e '/./,$!d' > '/mnt/etc/fstab'
|
||||
}
|
||||
|
||||
@ -344,7 +349,7 @@ EOF
|
||||
}
|
||||
|
||||
function set_hostname () {
|
||||
#1.11
|
||||
#1.12
|
||||
declare new_hostname
|
||||
install_pkgs 'pwgen'
|
||||
new_hostname="$(pwgen --no-numerals --no-capitalize --ambiguous 8)"
|
||||
@ -353,7 +358,7 @@ function set_hostname () {
|
||||
}
|
||||
|
||||
function set_locale () {
|
||||
#1.12
|
||||
#1.13
|
||||
printf -- '%s\n' \
|
||||
'KEYMAP=de-latin1' \
|
||||
'FONT=Lat2-Terminus16' \
|
||||
@ -364,7 +369,7 @@ function set_locale () {
|
||||
}
|
||||
|
||||
function add_zfs_hook_to_initramfs () {
|
||||
#1.13
|
||||
#1.14
|
||||
# Add zfs hook, remove fsck hook from initramfs.
|
||||
sed -ri \
|
||||
-e 's'$'\x1''(HOOKS=)(.*?[\(| ])(filesystems)([\)| ][^\r\n\f]*)'$'\x1''\1\2zfs \3\4'$'\x1''g' \
|
||||
@ -379,7 +384,7 @@ function add_zfs_hook_to_initramfs () {
|
||||
}
|
||||
|
||||
function set_initramfs_build_list () {
|
||||
#1.14
|
||||
#1.15
|
||||
# No need to build fallback initramfs, our new fallback is ZFS snapshots
|
||||
sed -ri \
|
||||
-e '/^#/d' \
|
||||
@ -393,7 +398,7 @@ function set_initramfs_build_list () {
|
||||
}
|
||||
|
||||
function add_zfs_files_to_new_os () {
|
||||
#1.15
|
||||
#1.16
|
||||
for zfs_file in '/etc/hostid' '/etc/zfs/zpool.cache' $([[ ! "${ARCHZBM_ZFSPROPS_NO_ENCRYPTION}" ]] && printf -- '%s' '/etc/zfs/'"${zpool_name}"'.key'); do
|
||||
rsync -av --itemize-changes {'','/mnt'}"${zfs_file}"
|
||||
done
|
||||
@ -738,21 +743,22 @@ function main () {
|
||||
if we_are_changerooted; then
|
||||
install_os_in_chroot #2.2
|
||||
else
|
||||
set_ntp #1.1
|
||||
resize_cow_space #1.2
|
||||
update_pacman_db #1.3
|
||||
install_pkgs 'base-devel' 'git' 'jq' #1.4
|
||||
install_zfs #1.5
|
||||
setup_zpool #1.6
|
||||
mount_system #1.7
|
||||
copy_zpool_cache #1.8
|
||||
install_archlinux #1.9
|
||||
gen_fstab #1.10
|
||||
set_hostname #1.11
|
||||
set_locale #1.12
|
||||
add_zfs_hook_to_initramfs #1.13
|
||||
set_initramfs_build_list #1.14
|
||||
add_zfs_files_to_new_os #1.15
|
||||
no_kernel_update_in_iso #1.1
|
||||
set_ntp #1.2
|
||||
resize_cow_space #1.3
|
||||
update_pacman_db #1.4
|
||||
install_pkgs 'base-devel' 'git' 'jq' #1.5
|
||||
install_zfs #1.6
|
||||
setup_zpool #1.7
|
||||
mount_system #1.8
|
||||
copy_zpool_cache #1.9
|
||||
install_archlinux #1.10
|
||||
gen_fstab #1.11
|
||||
set_hostname #1.12
|
||||
set_locale #1.13
|
||||
add_zfs_hook_to_initramfs #1.14
|
||||
set_initramfs_build_list #1.15
|
||||
add_zfs_files_to_new_os #1.16
|
||||
enter_chroot #2.1
|
||||
# We're done in chroot
|
||||
finalize_os_setup #3.1
|
||||
|
Loading…
x
Reference in New Issue
Block a user