forked from artix/artools
		
	Compare commits
	
		
			6 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7bf4dff1a1 | |||
| 529e73e2ab | |||
| 7be420a24f | |||
| cd76f7d3cf | |||
| 918b95db58 | |||
| 77c464d603 | 
| @@ -117,6 +117,7 @@ pretend=false | ||||
| images_only=false | ||||
| iso_only=false | ||||
| persist=false | ||||
| use_dracut=false | ||||
|  | ||||
| basestrap_args=(-GMc) | ||||
| cmd=${0##*/} | ||||
| @@ -139,6 +140,7 @@ usage() { | ||||
|     echo '    -x                 Build images only' | ||||
|     echo '    -z                 Generate iso only' | ||||
|     echo '                       Requires pre built images (-x)' | ||||
|     echo '    -d                 Use dracut instead of mkinitcpio for iso initramfs' | ||||
|     echo '    -q                 Query settings and pretend build' | ||||
|     echo '    -h                 This help' | ||||
|     echo '' | ||||
| @@ -148,7 +150,7 @@ usage() { | ||||
|  | ||||
| orig_argv=("$0" "$@") | ||||
|  | ||||
| opts='p:r:t:i:g:czxmqh' | ||||
| opts='p:r:t:i:g:czxmdqh' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
| @@ -161,6 +163,7 @@ while getopts "${opts}" arg; do | ||||
|         x) images_only=true ;; | ||||
|         z) iso_only=true ;; | ||||
|         m) persist=true ;; | ||||
|         d) use_dracut=true ;; | ||||
|         q) pretend=true ;; | ||||
|         h|?) usage 0 ;; | ||||
|         *) echo "invalid argument '${arg}'"; usage 1 ;; | ||||
|   | ||||
| @@ -142,21 +142,23 @@ run_hook() { | ||||
|     [[ -z "${cow_flags}" ]] && cow_flags="defaults" | ||||
|     [[ -z "${cow_directory}" ]] && cow_directory="persistent_${label}" | ||||
|     [[ -z "${cow_chunksize}" ]] && cow_chunksize="8" | ||||
|     # set mount handler for artix | ||||
|     mount_handler="artix_mount_handler" | ||||
|     [[ -z "${overlay}" ]] && overlay="" | ||||
|  | ||||
|     lower_dir='' | ||||
|     live_root="/run/artix" | ||||
|     bootmnt="/run/bootmnt" | ||||
|     overlay_root="${live_root}/overlay_root" | ||||
|     cow="${live_root}/cowspace" | ||||
|     bootmnt="${live_root}/bootmnt" | ||||
|     cp2ram="${live_root}/copytoram" | ||||
|  | ||||
|     # set mount handler for artix | ||||
|     mount_handler="artix_mount_handler" | ||||
| } | ||||
|  | ||||
| _check_sum() { | ||||
|     local fs="$1" | ||||
|     local fs="${1}" | ||||
|     if [[ -f "${bootmnt}/${root}/${fs}.img" ]]; then | ||||
|         if [[ -f "${bootmnt}/${root}/${fs}.img.sha512" ]]; then | ||||
|         if [[ -f "${bootmnt}/${root}/${fs}.img.md5" ]]; then | ||||
|             msg -n ":: Self-test requested, please wait..." | ||||
|             if _verify_checksum "${fs}"; then | ||||
|                 msg "done. Checksum is OK, continue booting." | ||||
| @@ -166,14 +168,14 @@ _check_sum() { | ||||
|                 launch_interactive_shell | ||||
|             fi | ||||
|         else | ||||
|             echo "ERROR: checksum=y option specified but ${root}/${fs}.img.sha512 not found" | ||||
|             echo "ERROR: checksum=y option specified but ${root}/${fs}.img.md5 not found" | ||||
|             launch_interactive_shell | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| _check_sig() { | ||||
|  | ||||
|     local fs="${1}" | ||||
|     if [[ -f "${bootmnt}/${root}/${fs}.img" ]]; then | ||||
|         if [[ -f "${bootmnt}/${root}/${fs}.img.sig" ]]; then | ||||
|             msg -n ":: Signature verification requested, please wait..." | ||||
| @@ -191,12 +193,12 @@ _check_sig() { | ||||
| } | ||||
|  | ||||
| _gen_arg() { | ||||
|     local arg="$1" | ||||
|     local arg="${1}" | ||||
|     echo "${lower_dir:-}${lower_dir:+:}${arg}" | ||||
| } | ||||
|  | ||||
| _mount_root_overlay() { | ||||
|     local sfs="$1" | ||||
| _mount_root_overlayfs() { | ||||
|     local sfs="${1}" | ||||
|     local src="${bootmnt}/${root}" | ||||
|     local dest_sfs="${live_root}/sfs" | ||||
|     local dest_img="${live_root}/img" | ||||
| @@ -227,15 +229,15 @@ artix_mount_handler() { | ||||
|         fi | ||||
|     fi | ||||
|  | ||||
|     for fs in rootfs livefs; do | ||||
|         if [[ "${checksum}" == "y" ]]; then | ||||
|             _check_sum "${fs}" | ||||
|         fi | ||||
|     if [[ "${checksum}" == "y" ]]; then | ||||
|         _check_sum "rootfs" | ||||
|         [[ -n "${overlay}" ]] && _check_sum "${overlay}" | ||||
|     fi | ||||
|  | ||||
|         if [[ "${verify}" == "y" ]]; then | ||||
|             _check_sig "${fs}" | ||||
|         fi | ||||
|     done | ||||
|     if [[ "${verify}" == "y" ]]; then | ||||
|         _check_sig "rootfs" | ||||
|         [[ -n "${overlay}" ]] && _check_sig "${overlay}" | ||||
|     fi | ||||
|  | ||||
|     if [[ "${copytoram}" == "y" ]]; then | ||||
|         msg ":: Mounting ${cp2ram} (tmpfs) filesystem, size=${copytoram_size}" | ||||
| @@ -258,9 +260,8 @@ artix_mount_handler() { | ||||
|     mkdir -p ${overlay_root} | ||||
|     mount -t tmpfs -o "size=${overlay_root_size}",mode=0755 overlay_root ${overlay_root} | ||||
|  | ||||
|     for fs in livefs rootfs; do | ||||
|         _mount_root_overlay "${fs}" | ||||
|     done | ||||
|     [[ -n "${overlay}" ]] && _mount_root_overlayfs "${overlay}" | ||||
|     _mount_root_overlayfs "rootfs" | ||||
|  | ||||
|     _mnt_overlayfs "${lower_dir}" "${newroot}" "/" | ||||
|  | ||||
|   | ||||
| @@ -6,7 +6,6 @@ run_hook () { | ||||
|     if [[ -n "${img_dev}" && -n "${img_loop}" ]]; then | ||||
|         mount_handler="artix_loop_mount_handler" | ||||
|     fi | ||||
|     live_root="/run/artix" | ||||
| } | ||||
|  | ||||
| artix_loop_mount_handler () { | ||||
|   | ||||
| @@ -23,7 +23,7 @@ _curl_get() { | ||||
|     local _dst="${2}" | ||||
|  | ||||
|     msg ":: Downloading '${_url}'" | ||||
|     if ! curl -L -f -o "/run/artix/httpspace/${root}${_dst}/${_url##*/}" --create-dirs "${_url}"; then | ||||
|     if ! curl -L -f -o "${live_root}/httpspace/${root}${_dst}/${_url##*/}" --create-dirs "${_url}"; then | ||||
|         echo "ERROR: Downloading '${_url}'" | ||||
|         echo "   Falling back to interactive prompt" | ||||
|         echo "   You can try to fix the problem manually, log out when you are finished" | ||||
| @@ -31,29 +31,33 @@ _curl_get() { | ||||
|     fi | ||||
| } | ||||
|  | ||||
| _get_sfs() { | ||||
|     local _sfs="${2}" | ||||
|     local _src=${artix_http_srv}${root} | ||||
|     if [[ ! -z "$( curl -s --head "${_src}/${_sfs}.img" | grep "OK" )" ]]; then | ||||
|         _curl_get "${_src}/${_sfs}.img" "/" | ||||
|  | ||||
|         if [[ "${checksum}" == "y" ]]; then | ||||
|             _curl_get "${_src}/${_sfs}.md5" "/" | ||||
|         fi | ||||
|         if [[ "${verify}" == "y" ]]; then | ||||
|             _curl_get "${_src}/${_sfs}.img.sig" "/" | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| artix_pxe_http_mount_handler () { | ||||
|     newroot="${1}" | ||||
|  | ||||
|     msg ":: Mounting /run/artix/httpspace (tmpfs) filesystem, size='${artix_http_spc}'" | ||||
|     mkdir -p "/run/artix/httpspace" | ||||
|     mount -t tmpfs -o size="${artix_http_spc}",mode=0755 httpspace "/run/artix/httpspace" | ||||
|     msg ":: Mounting ${live_root}/httpspace (tmpfs) filesystem, size='${artix_http_spc}'" | ||||
|     mkdir -p "${live_root}/httpspace" | ||||
|     mount -t tmpfs -o size="${artix_http_spc}",mode=0755 httpspace "${live_root}/httpspace" | ||||
|  | ||||
|     local _src=${artix_http_srv}${root}/${arch} | ||||
|     _get_sfs "rootfs" | ||||
|     [[ -n "${overlay}" ]] && _mount_root_overlayfs "${overlay}" | ||||
|  | ||||
|     for sfs in livefs rootfs;do | ||||
|         if [[ ! -z "$( curl -s --head "${_src}/${sfs}.sfs" | grep "OK" )" ]]; then | ||||
|             _curl_get "${_src}/${sfs}.sfs" "/${arch}" | ||||
|  | ||||
|             if [[ "${checksum}" == "y" ]]; then | ||||
|                 _curl_get "${_src}/${sfs}.md5" "/${arch}" | ||||
|             fi | ||||
|             if [[ "${verify}" == "y" ]]; then | ||||
|                 _curl_get "${_src}/${sfs}.sfs.sig" "/${arch}" | ||||
|             fi | ||||
|         fi | ||||
|     done | ||||
|     mkdir -p "/run/artix/bootmnt" | ||||
|     mount -o bind /run/artix/httpspace /run/artix/bootmnt | ||||
|     mkdir -p "${bootmnt}" | ||||
|     mount -o bind ${live_root}/httpspace ${bootmnt} | ||||
|  | ||||
|     artix_mount_handler ${newroot} | ||||
| } | ||||
|   | ||||
| @@ -12,10 +12,10 @@ run_hook() { | ||||
|  | ||||
| artix_nfs_mount_handler() { | ||||
|     newroot="${1}" | ||||
|     mkdir -p "/run/artix/bootmnt" | ||||
|     mkdir -p "${bootmnt}" | ||||
|     msg ":: Mounting '${artix_nfs_srv}'" | ||||
|     # Do not put "${artix_nfs_opt}" nfsmount fails! | ||||
|     if ! nfsmount ${artix_nfs_opt} "${artix_nfs_srv}" "/run/artix/bootmnt"; then | ||||
|     if ! nfsmount ${artix_nfs_opt} "${artix_nfs_srv}" "${bootmnt}"; then | ||||
|         echo "ERROR: Mounting '${artix_nfs_srv}'" | ||||
|         echo "   Falling back to interactive prompt" | ||||
|         echo "   You can try to fix the problem manually, log out when you are finished" | ||||
|   | ||||
| @@ -25,7 +25,7 @@ if [[ ! -d /oldrun/artix/copytoram ]]; then | ||||
|     if [[ -d /oldrun/artix/img_dev ]]; then | ||||
|         umount /oldrun/artix/img_dev | ||||
|     else | ||||
|         umount /oldrun/artix/bootmnt | ||||
|         umount /oldrun/bootmnt | ||||
|     fi | ||||
| fi | ||||
|  | ||||
|   | ||||
| @@ -143,10 +143,10 @@ write_unpackfs() { | ||||
|     local yaml=$(write_yaml_header) | ||||
|     yaml+=$(write_yaml_map 0 'unpack') | ||||
| #     if ${persist}; then | ||||
| #         yaml+=$(write_yaml_seq_map 2 'source' '"/run/artix/bootmnt/LiveOS/rootfs.img"') | ||||
| #         yaml+=$(write_yaml_seq_map 2 'source' '"/run/bootmnt/LiveOS/rootfs.img"') | ||||
| #         yaml+=$(write_yaml_map 4 'sourcefs' '"ext4"') | ||||
| #     else | ||||
|     yaml+=$(write_yaml_seq_map 2 'source' '"/run/artix/bootmnt/LiveOS/rootfs.img"') | ||||
|     yaml+=$(write_yaml_seq_map 2 'source' '"/run/bootmnt/LiveOS/rootfs.img"') | ||||
|     yaml+=$(write_yaml_map 4 'sourcefs' '"squashfs"') | ||||
| #     fi | ||||
|     yaml+=$(write_yaml_map 4 'destination' '""') | ||||
|   | ||||
							
								
								
									
										149
									
								
								lib/iso/grub.sh
									
									
									
									
									
								
							
							
						
						
									
										149
									
								
								lib/iso/grub.sh
									
									
									
									
									
								
							| @@ -12,51 +12,8 @@ | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU General Public License for more details. | ||||
|  | ||||
| write_mkinitcpio_conf() { | ||||
|     local conf="$1/etc/mkinitcpio-artix.conf" | ||||
|     printf "%s\n" 'MODULES=(loop dm-snapshot)' > $conf | ||||
|     printf "%s\n" 'COMPRESSION="xz"' >> $conf | ||||
|     if [[ "${PROFILE}" == 'base' ]];then | ||||
|         printf "%s\n" 'HOOKS=(base udev artix_shutdown artix artix_loop_mnt artix_pxe_common artix_pxe_http artix_pxe_nbd artix_pxe_nfs artix_kms modconf block filesystems keyboard keymap)' >> $conf | ||||
|     else | ||||
|         printf "%s\n" 'HOOKS=(base udev artix_shutdown artix artix_loop_mnt artix_kms modconf block filesystems keyboard keymap)' >> $conf | ||||
|     fi | ||||
| } | ||||
|  | ||||
| prepare_initcpio(){ | ||||
|     msg2 "Copying initcpio ..." | ||||
|     local dest="$1" | ||||
|     cp /etc/initcpio/hooks/artix* $dest/etc/initcpio/hooks | ||||
|     cp /etc/initcpio/install/artix* $dest/etc/initcpio/install | ||||
|     cp /etc/initcpio/artix_shutdown $dest/etc/initcpio | ||||
|  | ||||
|     msg2 "Writing mkinitcpio.conf ..." | ||||
|     write_mkinitcpio_conf "$dest" | ||||
| } | ||||
|  | ||||
| prepare_initramfs(){ | ||||
|     local mnt="$1" | ||||
|  | ||||
|     if [[ -n ${GPG_KEY} ]]; then | ||||
|         su ${OWNER} -c "gpg --export ${GPG_KEY} >/tmp/GPG_KEY" | ||||
|         exec 17<>/tmp/GPG_KEY | ||||
|     fi | ||||
|     local _kernel=$(<$mnt/usr/src/linux/version) | ||||
|     ARTIX_GNUPG_FD=${GPG_KEY:+17} artools-chroot $mnt \ | ||||
|         /usr/bin/mkinitcpio -k ${_kernel} \ | ||||
|         -c /etc/mkinitcpio-artix.conf \ | ||||
|         -g /boot/initramfs.img | ||||
|  | ||||
|     if [[ -n ${GPG_KEY} ]]; then | ||||
|         exec 17<&- | ||||
|     fi | ||||
|     if [[ -f /tmp/GPG_KEY ]]; then | ||||
|         rm /tmp/GPG_KEY | ||||
|     fi | ||||
| } | ||||
|  | ||||
| prepare_boot_extras(){ | ||||
|     local src="$1" dest="$2" | ||||
|     local src="$1" dest=${iso_root}/boot | ||||
|  | ||||
|     for u in intel amd;do | ||||
|         cp $src/boot/$u-ucode.img $dest/$u-ucode.img | ||||
| @@ -67,10 +24,108 @@ prepare_boot_extras(){ | ||||
|     cp $src/usr/share/licenses/common/GPL2/license.txt $dest/memtest.COPYING | ||||
| } | ||||
|  | ||||
| ##################dracut################## | ||||
|  | ||||
| prepare_initramfs_dracut(){ | ||||
|     local mnt="$1" | ||||
|     local kver=$(<"$mnt"/usr/src/linux/version) | ||||
|  | ||||
|     printf "%s\n" 'add_dracutmodules+=" dmsquash-live"' > "$mnt"/etc/dracut.conf.d/50-live.conf | ||||
|  | ||||
|     msg "Starting build: %s" "${kver}" | ||||
|     artools-chroot "$mnt" dracut -fqM /boot/initramfs.img "$kver" | ||||
|     msg "Image generation successful" | ||||
|  | ||||
|     cp "$mnt"/boot/initramfs.img "${iso_root}"/boot/initramfs-"${ARCH}".img | ||||
|  | ||||
|     prepare_boot_extras "$mnt" | ||||
| } | ||||
|  | ||||
| configure_grub_dracut(){ | ||||
|     msg "Configuring grub kernel options ..." | ||||
|     local kopts=( | ||||
|         "root=live:LABEL=${iso_label}" | ||||
|         'rd.live.squashimg=rootfs.img' | ||||
|         'rd.live.image' | ||||
|         'rootflags=auto' | ||||
|     ) | ||||
|     [[ "${PROFILE}" != 'base' ]] && kopts+=("rd.live.join=livefs.img") | ||||
|  | ||||
|     local ro_opts=() | ||||
|     local rw_opts=() | ||||
| #         'rd.writable.fsimg=1' | ||||
|  | ||||
|     sed -e "s|@kopts@|${kopts[*]}|" \ | ||||
|         -e "s|@ro_opts@|${ro_opts[*]}|" \ | ||||
|         -e "s|@rw_opts@|${rw_opts[*]}|" \ | ||||
|         -i ${iso_root}/boot/grub/kernels.cfg | ||||
| } | ||||
|  | ||||
| ############################################# | ||||
|  | ||||
| write_mkinitcpio_conf() { | ||||
|     msg2 "Writing mkinitcpio.conf ..." | ||||
|     local conf="$1/etc/mkinitcpio-artix.conf" | ||||
|     printf "%s\n" 'MODULES=(loop dm-snapshot)' > $conf | ||||
|     printf "%s\n" 'COMPRESSION="xz"' >> $conf | ||||
|     if [[ "${PROFILE}" == 'base' ]];then | ||||
|         printf "%s\n" 'HOOKS=(base udev artix_shutdown artix artix_loop_mnt | ||||
|                             artix_pxe_common artix_pxe_http artix_pxe_nbd artix_pxe_nfs | ||||
|                             artix_kms modconf block filesystems keyboard keymap)' >> $conf | ||||
|     else | ||||
|         printf "%s\n" 'HOOKS=(base udev artix_shutdown artix artix_loop_mnt | ||||
|                             artix_kms modconf block filesystems keyboard keymap)' >> $conf | ||||
|     fi | ||||
| } | ||||
|  | ||||
| prepare_initcpio(){ | ||||
|     msg2 "Copying initcpio ..." | ||||
|     local dest="$1" | ||||
|     cp /etc/initcpio/hooks/artix* $dest/etc/initcpio/hooks | ||||
|     cp /etc/initcpio/install/artix* $dest/etc/initcpio/install | ||||
|     cp /etc/initcpio/artix_shutdown $dest/etc/initcpio | ||||
| } | ||||
|  | ||||
| prepare_initramfs(){ | ||||
|     local mnt="$1" | ||||
|  | ||||
|     prepare_initcpio "$mnt" | ||||
|  | ||||
|     write_mkinitcpio_conf "$mnt" | ||||
|  | ||||
|     if [[ -n ${GPG_KEY} ]]; then | ||||
|         su ${OWNER} -c "gpg --export ${GPG_KEY} >/tmp/GPG_KEY" | ||||
|         exec 17<>/tmp/GPG_KEY | ||||
|     fi | ||||
|     local _kernel=$(<"$mnt"/usr/src/linux/version) | ||||
|     ARTIX_GNUPG_FD=${GPG_KEY:+17} artools-chroot "$mnt" \ | ||||
|         /usr/bin/mkinitcpio -k ${_kernel} \ | ||||
|         -c /etc/mkinitcpio-artix.conf \ | ||||
|         -g /boot/initramfs.img | ||||
|  | ||||
|     if [[ -n ${GPG_KEY} ]]; then | ||||
|         exec 17<&- | ||||
|     fi | ||||
|     if [[ -f /tmp/GPG_KEY ]]; then | ||||
|         rm /tmp/GPG_KEY | ||||
|     fi | ||||
|  | ||||
|     cp $mnt/boot/initramfs.img ${iso_root}/boot/initramfs-${ARCH}.img | ||||
|     prepare_boot_extras "$mnt" | ||||
| } | ||||
|  | ||||
| configure_grub(){ | ||||
|     local kopts="root=LiveOS label=${iso_label}" | ||||
|     local popts='' | ||||
|     sed -e "s|@kopts@|${kopts}|" -e "s|@popts@|${popts}|" -i ${iso_root}/boot/grub/kernels.cfg | ||||
|     msg "Configuring grub kernel options ..." | ||||
|     local ro_opts=() | ||||
|     local rw_opts=() | ||||
|     local kopts=("label=${iso_label}") | ||||
|  | ||||
|     [[ "${PROFILE}" != 'base' ]] && kopts+=('overlay=livefs') | ||||
|  | ||||
|     sed -e "s|@kopts@|${kopts[*]}|" \ | ||||
|         -e "s|@ro_opts@|${ro_opts[*]}|" \ | ||||
|         -e "s|@rw_opts@|${rw_opts[*]}|" \ | ||||
|         -i ${iso_root}/boot/grub/kernels.cfg | ||||
| } | ||||
|  | ||||
| prepare_grub(){ | ||||
|   | ||||
| @@ -24,9 +24,9 @@ make_sig () { | ||||
|  | ||||
| make_checksum(){ | ||||
|     local file="$1" | ||||
|     msg2 "Creating sha512sum ..." | ||||
|     msg2 "Creating md5sum ..." | ||||
|     cd ${iso_root}${live_dir} | ||||
|     sha512sum $file > $file.sha512 | ||||
|     md5sum $file > $file.md5 | ||||
|     cd ${OLDPWD} | ||||
| } | ||||
|  | ||||
| @@ -100,13 +100,13 @@ make_sfs() { | ||||
|  | ||||
|         mksquashfs "${mksfs_args[@]}" | ||||
|  | ||||
|         make_checksum "${img_name}" | ||||
|         ${persist} && rm -r "${work_dir}/embed" | ||||
|  | ||||
|         if [[ -n ${GPG_KEY} ]];then | ||||
|             make_sig "${img_name}" | ||||
|         if ! ${use_dracut}; then | ||||
|             make_checksum "${img_name}" | ||||
|             if [[ -n ${GPG_KEY} ]];then | ||||
|                 make_sig "${img_name}" | ||||
|             fi | ||||
|         fi | ||||
|  | ||||
|         ${persist} && rm -r "${work_dir}/embed" | ||||
|     fi | ||||
|     show_elapsed_time "${FUNCNAME}" "${timer_start}" | ||||
| } | ||||
|   | ||||
| @@ -148,21 +148,20 @@ make_livefs() { | ||||
| make_bootfs() { | ||||
|     if [[ ! -e ${work_dir}/bootfs.lock ]]; then | ||||
|         msg "Prepare [/iso/boot]" | ||||
|         local boot="${iso_root}/boot" | ||||
|  | ||||
|         prepare_dir "${boot}" | ||||
|         prepare_dir "${iso_root}/boot" | ||||
|  | ||||
|         cp ${work_dir}/rootfs/boot/vmlinuz* ${boot}/vmlinuz-${ARCH} | ||||
|         cp ${work_dir}/rootfs/boot/vmlinuz* ${iso_root}/boot/vmlinuz-${ARCH} | ||||
|  | ||||
|         local bootfs="${work_dir}/bootfs" | ||||
|  | ||||
|         mount_overlay "${bootfs}" "${work_dir}" | ||||
|  | ||||
|         prepare_initcpio "${bootfs}" | ||||
|         prepare_initramfs "${bootfs}" | ||||
|  | ||||
|         cp ${bootfs}/boot/initramfs.img ${boot}/initramfs-${ARCH}.img | ||||
|         prepare_boot_extras "${bootfs}" "${boot}" | ||||
|         if ${use_dracut}; then | ||||
|             prepare_initramfs_dracut "${bootfs}" | ||||
|         else | ||||
|             prepare_initramfs "${bootfs}" | ||||
|         fi | ||||
|  | ||||
|         umount_overlay | ||||
|  | ||||
| @@ -181,7 +180,11 @@ make_grub(){ | ||||
|  | ||||
|         prepare_grub "${work_dir}/rootfs" "$layer" | ||||
|  | ||||
|         configure_grub | ||||
|         if ${use_dracut}; then | ||||
|             configure_grub_dracut | ||||
|         else | ||||
|             configure_grub | ||||
|         fi | ||||
|  | ||||
|         : > ${work_dir}/grub.lock | ||||
|         msg "Done [/iso/boot/grub]" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user