mirror of
https://gitlab.archlinux.org/tpowa/archboot.git
synced 2024-09-20 03:50:37 +02:00
remove tarball helper and ucode hooks
This commit is contained in:
parent
249f413a15
commit
1e3bd6d6ed
11 changed files with 49 additions and 242 deletions
|
@ -11,7 +11,7 @@ FILES=()
|
|||
#
|
||||
# Please change the hooks only if you know what you are doing.
|
||||
HOOKS=(udev keyboard archboot_kms archboot_base_latest archboot_installer_latest archboot_net_latest \
|
||||
archboot_kexec archboot_licenses archboot_amd_ucode)
|
||||
archboot_kexec archboot_licenses)
|
||||
|
||||
# COMPRESSION
|
||||
# Use this to compress the initramfs image. By default, gzip compression
|
||||
|
|
|
@ -19,7 +19,7 @@ archboot_pppoe archboot_grub archboot_efibootmgr archboot_pciutils archboot_usbu
|
|||
archboot_openvpn archboot_vpnc archboot_pptpclient archboot_smartmontools archboot_licenses archboot_wireless archboot_wireless_staging \
|
||||
archboot_linux_atm archboot_netctl archboot_fsarchiver archboot_vim archboot_wipe archboot_testdisk archboot_ddrescue \
|
||||
archboot_nmap archboot_tcpdump archboot_openconnect archboot_dnsmasq archboot_platform \
|
||||
archboot_hypervisor archboot_amd_ucode archboot_wvdial \
|
||||
archboot_hypervisor archboot_wvdial \
|
||||
archboot_usb_modeswitch archboot_secure_boot archboot_efivar archboot_lshw)
|
||||
|
||||
# COMPRESSION
|
||||
|
|
|
@ -11,7 +11,7 @@ FILES=()
|
|||
#
|
||||
# Please change the hooks only if you know what you are doing.
|
||||
HOOKS=(udev keyboard archboot_kms archboot_base_latest archboot_installer_latest archboot_net_latest \
|
||||
archboot_kexec archboot_licenses archboot_intel_ucode archboot_amd_ucode)
|
||||
archboot_kexec archboot_licenses)
|
||||
|
||||
# COMPRESSION
|
||||
# Use this to compress the initramfs image. By default, gzip compression
|
||||
|
|
|
@ -19,7 +19,7 @@ archboot_pppoe archboot_grub archboot_refind archboot_efibootmgr archboot_pciuti
|
|||
archboot_openvpn archboot_vpnc archboot_pptpclient archboot_smartmontools archboot_licenses archboot_wireless archboot_wireless_staging \
|
||||
archboot_linux_atm archboot_netctl archboot_fsarchiver archboot_vim archboot_wipe archboot_testdisk archboot_ddrescue \
|
||||
archboot_chntpw archboot_nmap archboot_tcpdump archboot_openconnect archboot_dnsmasq archboot_platform \
|
||||
archboot_hypervisor archboot_dmidecode archboot_amd_ucode archboot_intel_ucode archboot_wvdial \
|
||||
archboot_hypervisor archboot_dmidecode archboot_wvdial \
|
||||
archboot_usb_modeswitch archboot_secure_boot archboot_efivar archboot_lshw)
|
||||
|
||||
# COMPRESSION
|
||||
|
|
|
@ -5,38 +5,27 @@ _BASENAME="$(basename "${0}")"
|
|||
_SHIM_URL="https://kojipkgs.fedoraproject.org/packages/shim/15.4/5/aarch64"
|
||||
_SHIM_VERSION="shim-aa64-15.4-5.aarch64.rpm"
|
||||
_PRESET_DIR="/etc/archboot/presets"
|
||||
_TARBALL_HELPER="/usr/bin/archboot-tarball-helper.sh"
|
||||
_GRUB_CONFIG="/usr/share/archboot/grub/grub.cfg"
|
||||
# covered by usage
|
||||
_GENERATE=""
|
||||
_TARBALL=""
|
||||
_PRESET=""
|
||||
_IMAGENAME=""
|
||||
_RELEASENAME=""
|
||||
_KERNEL=""
|
||||
_TARBALL_NAME=""
|
||||
# temporary directories
|
||||
_AARCH64="$(mktemp -d AARCH64.XXX)"
|
||||
_CORE64="$(mktemp -d core64.XXX)"
|
||||
_SHIM="$(mktemp -d shim.XXX)"
|
||||
|
||||
usage () {
|
||||
echo "${_BASENAME}: usage"
|
||||
echo "CREATE AARCH64 USB/CD IMAGES"
|
||||
echo "-----------------------------"
|
||||
echo "Run in archboot aarch64 chroot first ..."
|
||||
echo "archboot-aarch64-iso.sh -t"
|
||||
echo ""
|
||||
echo "PARAMETERS:"
|
||||
echo " -t Start generation of tarball."
|
||||
echo " -g Start generation of image."
|
||||
echo " -p=PRESET Which preset should be used."
|
||||
echo " /etc/archboot/presets locates the presets"
|
||||
echo " default=aarch64"
|
||||
echo " -i=IMAGENAME Your IMAGENAME."
|
||||
echo " -r=RELEASENAME Use RELEASENAME in boot message."
|
||||
echo " -k=KERNELNAME Use KERNELNAME in boot message."
|
||||
echo " -T=tarball Use this tarball for image creation."
|
||||
echo " -h This message."
|
||||
exit 0
|
||||
}
|
||||
|
@ -49,12 +38,9 @@ export LANG="en_US"
|
|||
while [ $# -gt 0 ]; do
|
||||
case ${1} in
|
||||
-g|--g) _GENERATE="1" ;;
|
||||
-t|--t) _TARBALL="1" ;;
|
||||
-p=*|--p=*) _PRESET="$(echo ${1} | awk -F= '{print $2;}')" ;;
|
||||
-i=*|--i=*) _IMAGENAME="$(echo ${1} | awk -F= '{print $2;}')" ;;
|
||||
-r=*|--r=*) _RELEASENAME="$(echo ${1} | awk -F= '{print $2;}')" ;;
|
||||
-k=*|--k=*) _KERNEL="$(echo ${1} | awk -F= '{print $2;}')" ;;
|
||||
-T=*|--T=*) _TARBALL_NAME="$(echo ${1} | awk -F= '{print $2;}')" ;;
|
||||
-h|--h|?) usage ;;
|
||||
*) usage ;;
|
||||
esac
|
||||
|
@ -73,70 +59,40 @@ if ! [[ "$(uname -m)" == "aarch64" ]]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
[[ "${_GENERATE}" == "1" ]] || usage
|
||||
|
||||
#set PRESET
|
||||
[[ -z "${_PRESET}" ]] && _PRESET="aarch64"
|
||||
_PRESET="${_PRESET_DIR}/${_PRESET}"
|
||||
|
||||
# from initcpio functions
|
||||
kver() {
|
||||
# this is intentionally very loose. only ensure that we're
|
||||
# dealing with some sort of string that starts with something
|
||||
# resembling dotted decimal notation. remember that there's no
|
||||
# requirement for CONFIG_LOCALVERSION to be set.
|
||||
local kver re='^[[:digit:]]+(\.[[:digit:]]+)+'
|
||||
|
||||
# scrape the version out of the kernel image. locate the offset
|
||||
# to the version string by reading 2 bytes out of image at at
|
||||
# address 0x20E. this leads us to a string of, at most, 128 bytes.
|
||||
# read the first word from this string as the kernel version.
|
||||
local offset=$(hexdump -s 526 -n 2 -e '"%0d"' "/boot/Image.gz")
|
||||
[[ $offset = +([0-9]) ]] || return 1
|
||||
|
||||
read kver _ < \
|
||||
<(dd if="/boot/Image.gz" bs=1 count=127 skip=$(( offset + 0x200 )) 2>/dev/null)
|
||||
|
||||
[[ $kver =~ $re ]] || return 1
|
||||
|
||||
_KERNEL="$(printf '%s' "$kver")"
|
||||
}
|
||||
|
||||
# set defaults, if nothing given
|
||||
[[ -z "${_KERNEL}" ]] && kver
|
||||
[[ -z "${_RELEASENAME}" ]] && _RELEASENAME="$(date +%Y.%m.%d-%H.%M)"
|
||||
[[ -z "${_IMAGENAME}" ]] && _IMAGENAME="archlinux-archboot-${_RELEASENAME}-aarch64"
|
||||
|
||||
if [[ "${_TARBALL}" == "1" ]]; then
|
||||
# fix for mkinitcpio 31
|
||||
# https://bugs.archlinux.org/task/72882
|
||||
# remove on mkinitcpio 32 release
|
||||
cp "/usr/lib/initcpio/functions" "/usr/lib/initcpio/functions.old"
|
||||
[[ -f "/usr/share/archboot/patches/31-initcpio.functions.fixed" ]] && cp "/usr/share/archboot/patches/31-initcpio.functions.fixed" "/usr/lib/initcpio/functions"
|
||||
"${_TARBALL_HELPER}" -c="${_PRESET}" -t="${_IMAGENAME}.tar"
|
||||
mv "/usr/lib/initcpio/functions.old" "/usr/lib/initcpio/functions"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if ! [[ "${_GENERATE}" == "1" ]]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
if ! [[ "${_TARBALL_NAME}" == "" ]]; then
|
||||
tar xf ${_TARBALL_NAME} -C "${_CORE64}" || exit 1
|
||||
else
|
||||
echo "Please enter a tarball name with parameter -T=tarball"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "${_AARCH64}/EFI/BOOT"
|
||||
|
||||
_prepare_kernel_initramfs_files() {
|
||||
source "${_PRESET}"
|
||||
mkdir -p "${_AARCH64}/EFI/BOOT"
|
||||
mkdir -p "${_AARCH64}/boot"
|
||||
mv "${_CORE64}"/*/boot/vmlinuz "${_AARCH64}/boot/vmlinuz_aarch64"
|
||||
mv "${_CORE64}"/*/boot/initrd.img "${_AARCH64}/boot/initramfs_aarch64.img"
|
||||
mv "${_CORE64}"/*/boot/amd-ucode.img "${_AARCH64}/boot/"
|
||||
mv "${_CORE64}"/*/boot/dtbs "${_AARCH64}/boot/"
|
||||
# fix for mkinitcpio 31
|
||||
# https://bugs.archlinux.org/task/72882
|
||||
# remove on mkinitcpio 32 release
|
||||
cp "/usr/lib/initcpio/functions" "/usr/lib/initcpio/functions.old"
|
||||
[[ -f "/usr/share/archboot/patches/31-initcpio.functions.fixed" ]] && cp "/usr/share/archboot/patches/31-initcpio.functions.fixed" "/usr/lib/initcpio/functions"
|
||||
mkinitcpio -c "${MKINITCPIO_CONFIG}" -k "${ALL_kver}" -g "${_AARCH64}/boot/initramfs_aarch64.img" || exit 1
|
||||
mv "/usr/lib/initcpio/functions.old" "/usr/lib/initcpio/functions"
|
||||
install -m644 "${ALL_kver}" "${_AARCH64}/boot/vmlinuz_aarch64"
|
||||
# install ucode files
|
||||
cp /boot/amd-ucode.img "${_AARCH64}/boot/"
|
||||
# fix license files
|
||||
mkdir -p "${_AARCH64}/share/licenses/amd-ucode"
|
||||
cp /usr/share/licenses/amd-ucode/LICENSE.amd-ucode "${_AARCH64}/share/licenses/amd-ucode"
|
||||
}
|
||||
|
||||
|
||||
_prepare_efitools_uefi () {
|
||||
cp -f "/usr/share/efitools/efi/HashTool.efi" "${_AARCH64}/EFI/tools/HashTool.efi"
|
||||
cp -f "/usr/share/efitools/efi/KeyTool.efi" "${_AARCH64}/EFI/tools/KeyTool.efi"
|
||||
|
@ -171,12 +127,12 @@ _prepare_uefi_AA64_GRUB_USB_files() {
|
|||
}
|
||||
|
||||
echo "Starting ISO creation ..."
|
||||
echo "Prepare kernel and initramfs ..."
|
||||
_prepare_kernel_initramfs_files
|
||||
|
||||
echo "Prepare fedora shim ..."
|
||||
_prepare_fedora_shim_bootloaders >/dev/null 2>&1
|
||||
|
||||
echo "Prepare kernel and initramfs ..."
|
||||
_prepare_kernel_initramfs_files >/dev/null 2>&1
|
||||
|
||||
echo "Prepare efitools ..."
|
||||
_prepare_efitools_uefi >/dev/null 2>&1
|
||||
|
||||
|
@ -196,7 +152,6 @@ cksum -a sha256 *.iso > "sha256sums.txt"
|
|||
|
||||
# cleanup
|
||||
echo "Cleanup remove ${_CORE64}, ${_AARCH64} and ${_SHIM} ..."
|
||||
rm -rf "${_CORE64}"
|
||||
rm -rf "${_AARCH64}"
|
||||
rm -rf "${_SHIM}"
|
||||
echo "Finished ISO creation."
|
||||
|
|
|
@ -27,17 +27,15 @@ cd $1
|
|||
archboot-aarch64-create-container.sh "${_W_DIR}" -cc -cp -alf || exit 1
|
||||
# generate tarball in container, umount tmp it's a tmpfs and weird things could happen then
|
||||
echo "Generate ISO ..."
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;archboot-aarch64-iso.sh -t -i=archrelease"
|
||||
# generate iso in container
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;archboot-aarch64-iso.sh -g -T=archrelease.tar"
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;archboot-aarch64-iso.sh -g"
|
||||
# remove not working lvm2 from latest image
|
||||
echo "Remove lvm2 and openssh from container ${_W_DIR} ..."
|
||||
systemd-nspawn -D "${_W_DIR}" /bin/bash -c "pacman -Rdd lvm2 openssh --noconfirm" >/dev/null 2>&1
|
||||
# generate latest tarball in container
|
||||
echo "Generate latest ISO ..."
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;archboot-aarch64-iso.sh -t -i=latest -p="${_PRESET_LATEST}""
|
||||
# generate latest iso in container
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;archboot-aarch64-iso.sh -g -T=latest.tar -p="${_PRESET_LATEST}" -r=$(date +%Y.%m.%d-%H.%M)-latest"
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;archboot-aarch64-iso.sh -g -p="${_PRESET_LATEST}" -r=$(date +%Y.%m.%d-%H.%M)-latest"
|
||||
# create Release.txt with included main archlinux packages
|
||||
echo "Generate Release.txt ..."
|
||||
echo "Welcome to ARCHBOOT INSTALLATION / RESCUEBOOT SYSTEM" >>Release.txt
|
||||
|
|
|
@ -1,60 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# Created by Tobias Powalowski <tpowa@archlinux.org>
|
||||
# Settings
|
||||
APPNAME=$(basename "${0}")
|
||||
CONFIG=""
|
||||
TARNAME=""
|
||||
|
||||
export TEMPDIR=$(mktemp -d tarball-helper.XXXX)
|
||||
|
||||
usage ()
|
||||
{
|
||||
echo "${APPNAME}: usage"
|
||||
echo " -c=CONFIG Use CONFIG file"
|
||||
echo " -t=TARNAME Generate a tar image instead of an iso image"
|
||||
echo " -h This message."
|
||||
exit 1
|
||||
}
|
||||
|
||||
[ "$1" == "" ] && usage
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
case $1 in
|
||||
-c=*|--c=*) CONFIG="$(echo $1 | awk -F= '{print $2;}')" ;;
|
||||
-t=*|--t=*) TARNAME="$(echo $1 | awk -F= '{print $2;}')" ;;
|
||||
-h|--h|?) usage ;;
|
||||
*) usage ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ "${TARNAME}" = "" ]; then
|
||||
echo "ERROR: No image name specified, please use the -t option"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f "${CONFIG}" ]; then
|
||||
echo "config file '${CONFIG}' cannot be found, aborting..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
. "${CONFIG}"
|
||||
mkdir -p "${TEMPDIR}/boot"
|
||||
# generate initramdisk
|
||||
echo ":: Calling mkinitcpio CONFIG=${MKINITCPIO_CONFIG} ..."
|
||||
echo ":: Creating initramdisk ..."
|
||||
mkinitcpio -c ${MKINITCPIO_CONFIG} -k ${ALL_kver} -g ${TEMPDIR}/boot/initrd.img
|
||||
echo ":: Using ${ALL_kver} as image kernel ..."
|
||||
install -m644 ${ALL_kver} ${TEMPDIR}/boot/vmlinuz
|
||||
if [[ "$(uname -m)" == "aarch64" ]]; then
|
||||
cp -r /boot/dtbs ${TEMPDIR}/boot
|
||||
fi
|
||||
# create image
|
||||
if ! [ "${TARNAME}" = "" ]; then
|
||||
echo ":: Creating tar image ..."
|
||||
[ -e ${TARNAME} ] && rm ${TARNAME}
|
||||
tar cfv ${TARNAME} ${TEMPDIR} > /dev/null 2>&1 && echo ":: tar Image succesfull created at ${TARNAME}"
|
||||
fi
|
||||
# clean directory
|
||||
rm -r ${TEMPDIR}
|
||||
|
|
@ -3,22 +3,17 @@
|
|||
|
||||
_BASENAME="$(basename "${0}")"
|
||||
_PRESET_DIR="/etc/archboot/presets"
|
||||
_TARBALL_HELPER="/usr/bin/archboot-tarball-helper.sh"
|
||||
_SHIM_URL="https://kojipkgs.fedoraproject.org/packages/shim/15.4/5/x86_64"
|
||||
_SHIM_VERSION="shim-x64-15.4-5.x86_64.rpm"
|
||||
_SHIM32_VERSION="shim-ia32-15.4-5.x86_64.rpm"
|
||||
_GRUB_CONFIG="/usr/share/archboot/grub/grub.cfg"
|
||||
# covered by usage
|
||||
_GENERATE=""
|
||||
_TARBALL=""
|
||||
_PRESET=""
|
||||
_IMAGENAME=""
|
||||
_RELEASENAME=""
|
||||
_KERNEL=""
|
||||
_TARBALL_NAME=""
|
||||
# temporary directories
|
||||
_X86_64="$(mktemp -d X86_64.XXX)"
|
||||
_CORE64="$(mktemp -d core64.XXX)"
|
||||
_SHIM="$(mktemp -d shim.XXX)"
|
||||
_SHIM32="$(mktemp -d shim32.XXX)"
|
||||
|
||||
|
@ -26,38 +21,26 @@ usage () {
|
|||
echo "${_BASENAME}: usage"
|
||||
echo "CREATE X86_64 USB/CD IMAGES"
|
||||
echo "-----------------------------"
|
||||
echo "Run in archboot x86_64 chroot first ..."
|
||||
echo "archboot-x86_64-iso.sh -t"
|
||||
echo ""
|
||||
echo "PARAMETERS:"
|
||||
echo " -t Start generation of tarball."
|
||||
echo " -g Start generation of image."
|
||||
echo " -p=PRESET Which preset should be used."
|
||||
echo " /etc/archboot/presets locates the presets"
|
||||
echo " default=x86_64"
|
||||
echo " -i=IMAGENAME Your IMAGENAME."
|
||||
echo " -r=RELEASENAME Use RELEASENAME in boot message."
|
||||
echo " -k=KERNELNAME Use KERNELNAME in boot message."
|
||||
echo " -T=tarball Use this tarball for image creation."
|
||||
echo " -log show logging on active tty"
|
||||
echo " -h This message."
|
||||
exit 0
|
||||
}
|
||||
|
||||
[[ -z "${1}" ]] && usage
|
||||
|
||||
# change to english locale!
|
||||
export LANG="en_US"
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
case ${1} in
|
||||
-g|--g) _GENERATE="1" ;;
|
||||
-t|--t) _TARBALL="1" ;;
|
||||
-p=*|--p=*) _PRESET="$(echo ${1} | awk -F= '{print $2;}')" ;;
|
||||
-i=*|--i=*) _IMAGENAME="$(echo ${1} | awk -F= '{print $2;}')" ;;
|
||||
-r=*|--r=*) _RELEASENAME="$(echo ${1} | awk -F= '{print $2;}')" ;;
|
||||
-k=*|--k=*) _KERNEL="$(echo ${1} | awk -F= '{print $2;}')" ;;
|
||||
-T=*|--T=*) _TARBALL_NAME="$(echo ${1} | awk -F= '{print $2;}')" ;;
|
||||
-h|--h|?) usage ;;
|
||||
*) usage ;;
|
||||
esac
|
||||
|
@ -76,68 +59,34 @@ if ! [[ "$(uname -m)" == "x86_64" ]]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
[[ "${_GENERATE}" == "1" ]] || usage
|
||||
|
||||
#set PRESET
|
||||
[[ -z "${_PRESET}" ]] && _PRESET="x86_64"
|
||||
_PRESET=""${_PRESET_DIR}"/"${_PRESET}""
|
||||
|
||||
# from initcpio functions
|
||||
kver() {
|
||||
# this is intentionally very loose. only ensure that we're
|
||||
# dealing with some sort of string that starts with something
|
||||
# resembling dotted decimal notation. remember that there's no
|
||||
# requirement for CONFIG_LOCALVERSION to be set.
|
||||
local kver re='^[[:digit:]]+(\.[[:digit:]]+)+'
|
||||
|
||||
# scrape the version out of the kernel image. locate the offset
|
||||
# to the version string by reading 2 bytes out of image at at
|
||||
# address 0x20E. this leads us to a string of, at most, 128 bytes.
|
||||
# read the first word from this string as the kernel version.
|
||||
local offset=$(hexdump -s 526 -n 2 -e '"%0d"' "/boot/vmlinuz-linux")
|
||||
[[ $offset = +([0-9]) ]] || return 1
|
||||
|
||||
read kver _ < \
|
||||
<(dd if="/boot/vmlinuz-linux" bs=1 count=127 skip=$(( offset + 0x200 )) 2>/dev/null)
|
||||
|
||||
[[ $kver =~ $re ]] || return 1
|
||||
|
||||
_KERNEL="$(printf '%s' "$kver")"
|
||||
}
|
||||
|
||||
# set defaults, if nothing given
|
||||
[[ -z "${_KERNEL}" ]] && kver
|
||||
[[ -z "${_RELEASENAME}" ]] && _RELEASENAME="$(date +%Y.%m.%d-%H.%M)"
|
||||
[[ -z "${_IMAGENAME}" ]] && _IMAGENAME="archlinux-archboot-${_RELEASENAME}-x86_64"
|
||||
|
||||
if [[ "${_TARBALL}" == "1" ]]; then
|
||||
_prepare_kernel_initramfs_files() {
|
||||
source "${_PRESET}"
|
||||
mkdir -p "${_X86_64}/EFI/BOOT"
|
||||
mkdir -p "${_X86_64}/boot"
|
||||
# fix for mkinitcpio 31
|
||||
# https://bugs.archlinux.org/task/72882
|
||||
# remove on mkinitcpio 32 release
|
||||
cp "/usr/lib/initcpio/functions" "/usr/lib/initcpio/functions.old"
|
||||
[[ -f "/usr/share/archboot/patches/31-initcpio.functions.fixed" ]] && cp "/usr/share/archboot/patches/31-initcpio.functions.fixed" "/usr/lib/initcpio/functions"
|
||||
"${_TARBALL_HELPER}" -c="${_PRESET}" -t="${_IMAGENAME}.tar"
|
||||
mkinitcpio -c "${MKINITCPIO_CONFIG}" -k "${ALL_kver}" -g "${_X86_64}/boot/initramfs_x86_64.img" || exit 1
|
||||
mv "/usr/lib/initcpio/functions.old" "/usr/lib/initcpio/functions"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if ! [[ "${_GENERATE}" == "1" ]]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
if ! [[ "${_TARBALL_NAME}" == "" ]]; then
|
||||
tar xf ${_TARBALL_NAME} -C "${_CORE64}" || exit 1
|
||||
else
|
||||
echo "Please enter a tarball name with parameter -T=tarball"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "${_X86_64}/EFI/BOOT"
|
||||
|
||||
_prepare_kernel_initramfs_files() {
|
||||
mkdir -p "${_X86_64}/boot"
|
||||
mv "${_CORE64}"/*/boot/vmlinuz "${_X86_64}/boot/vmlinuz_x86_64"
|
||||
mv "${_CORE64}"/*/boot/initrd.img "${_X86_64}/boot/initramfs_x86_64.img"
|
||||
mv "${_CORE64}"/*/boot/{intel-ucode.img,amd-ucode.img} "${_X86_64}/boot/"
|
||||
[[ -f "${_CORE64}/*/boot/memtest" ]] && mv "${_CORE64}"/*/boot/memtest "${_X86_64}/boot/"
|
||||
install -m644 "${ALL_kver}" "${_X86_64}/boot/vmlinuz_x86_64"
|
||||
# install ucode files
|
||||
cp /boot/{intel-ucode.img,amd-ucode.img} "${_X86_64}/boot/"
|
||||
# fix license files
|
||||
mkdir -p "${_X86_64}/share/licenses/{amd-ucode,intel-ucode}"
|
||||
cp /usr/share/licenses/amd-ucode/LICENSE.amd-ucode "${_X86_64}/share/licenses/amd-ucode"
|
||||
cp /usr/share/licenses/intel-ucode/LICENSE "${_X86_64}/share/licenses/intel-ucode"
|
||||
}
|
||||
|
||||
_prepare_efitools_uefi () {
|
||||
|
@ -198,12 +147,12 @@ _prepare_uefi_IA32_GRUB_USB_files() {
|
|||
}
|
||||
|
||||
echo "Starting ISO creation ..."
|
||||
echo "Prepare kernel and initramfs ..."
|
||||
_prepare_kernel_initramfs_files
|
||||
|
||||
echo "Prepare fedora shim ..."
|
||||
_prepare_fedora_shim_bootloaders >/dev/null 2>&1
|
||||
|
||||
echo "Prepare kernel and initramfs ..."
|
||||
_prepare_kernel_initramfs_files >/dev/null 2>&1
|
||||
|
||||
echo "Prepare uefi shells ..."
|
||||
_download_uefi_shell_tianocore >/dev/null 2>&1
|
||||
|
||||
|
@ -229,8 +178,7 @@ rm -f "sha256sums.txt" || true
|
|||
cksum -a sha256 *.iso > "sha256sums.txt"
|
||||
|
||||
# cleanup
|
||||
echo "Cleanup remove ${_CORE64}, ${_X86_64}, ${_SHIM} and ${_SHIM32} ..."
|
||||
rm -rf "${_CORE64}"
|
||||
echo "Cleanup remove ${_X86_64}, ${_SHIM} and ${_SHIM32} ..."
|
||||
rm -rf "${_X86_64}"
|
||||
rm -rf "${_SHIM}"
|
||||
rm -rf "${_SHIM32}"
|
||||
|
|
|
@ -32,17 +32,15 @@ cd $1
|
|||
archboot-x86_64-create-container.sh "${_W_DIR}" -cc -cp -alf || exit 1
|
||||
# generate tarball in container, umount tmp it's a tmpfs and weird things could happen then
|
||||
echo "Generate ISO ..."
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;archboot-x86_64-iso.sh -t -i=archrelease"
|
||||
# generate iso in container
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;archboot-x86_64-iso.sh -g -T=archrelease.tar"
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;archboot-x86_64-iso.sh -g"
|
||||
# remove not working lvm2 from latest image
|
||||
echo "Remove lvm2 and openssh from container ${_W_DIR} ..."
|
||||
systemd-nspawn -D "${_W_DIR}" /bin/bash -c "pacman -Rdd lvm2 openssh --noconfirm" >/dev/null 2>&1
|
||||
# generate latest tarball in container
|
||||
echo "Generate latest ISO ..."
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;archboot-x86_64-iso.sh -t -i=latest -p="${_PRESET_LATEST}""
|
||||
# generate latest iso in container
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;archboot-x86_64-iso.sh -g -T=latest.tar -p="${_PRESET_LATEST}" -r=$(date +%Y.%m.%d-%H.%M)-latest"
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;archboot-x86_64-iso.sh -g -p="${_PRESET_LATEST}" -r=$(date +%Y.%m.%d-%H.%M)-latest"
|
||||
# create Release.txt with included main archlinux packages
|
||||
echo "Generate Release.txt ..."
|
||||
echo "Welcome to ARCHBOOT INSTALLATION / RESCUEBOOT SYSTEM" >>Release.txt
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# Created by Tobias Powalowski <tpowa@archlinux.org>
|
||||
|
||||
build ()
|
||||
{
|
||||
cp "/boot/amd-ucode.img" "${TEMPDIR}/boot/amd-ucode.img"
|
||||
# fix license files
|
||||
add_file "/usr/share/licenses/amd-ucode/LICENSE.amd-ucode"
|
||||
}
|
||||
|
||||
help ()
|
||||
{
|
||||
cat<<HELPEOF
|
||||
This hook includes amd-ucode on an archboot image.
|
||||
HELPEOF
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# Created by Tobias Powalowski <tpowa@archlinux.org>
|
||||
|
||||
build ()
|
||||
{
|
||||
cp "/boot/intel-ucode.img" "${TEMPDIR}/boot/intel-ucode.img"
|
||||
# fix license files
|
||||
add_file "/usr/share/licenses/intel-ucode/LICENSE"
|
||||
}
|
||||
|
||||
help ()
|
||||
{
|
||||
cat<<HELPEOF
|
||||
This hook includes intel-ucode on an archboot image.
|
||||
HELPEOF
|
||||
}
|
Loading…
Reference in a new issue