Add support for AArch64/ARM64 EFI architecture (#1757)
* Add AArch64/ARM64 EFI boot support (for QEMU and some boards) * Allow GRUB to load cmdline.txt-like * Enable qcow2/vmdk disk images Co-authored-by: Stefan Agner <stefan@agner.ch>
This commit is contained in:
@@ -293,21 +293,18 @@ function _fix_disk_spl_mbr() {
|
||||
|
||||
|
||||
function convert_disk_image_virtual() {
|
||||
local hdd_ext="${1}"
|
||||
local hdd_img="$(hassos_image_name img)"
|
||||
local hdd_vmdk="$(hassos_image_name vmdk)"
|
||||
local hdd_vhdx="$(hassos_image_name vhdx)"
|
||||
local hdd_vdi="$(hassos_image_name vdi)"
|
||||
local hdd_qcow2="$(hassos_image_name qcow2)"
|
||||
local hdd_virt="$(hassos_image_name "${hdd_ext}")"
|
||||
local -a qemu_img_opts=()
|
||||
|
||||
rm -f "${hdd_vmdk}"
|
||||
rm -f "${hdd_vhdx}"
|
||||
rm -f "${hdd_vdi}"
|
||||
rm -f "${hdd_qcow2}"
|
||||
if [ "${hdd_ext}" == "vmdk" ]; then
|
||||
qemu_img_opts=("-o" "adapter_type=lsilogic")
|
||||
fi
|
||||
|
||||
qemu-img convert -O vmdk -o adapter_type=lsilogic "${hdd_img}" "${hdd_vmdk}"
|
||||
qemu-img convert -O vhdx "${hdd_img}" "${hdd_vhdx}"
|
||||
qemu-img convert -O vdi "${hdd_img}" "${hdd_vdi}"
|
||||
qemu-img convert -O qcow2 "${hdd_img}" "${hdd_qcow2}"
|
||||
rm -f "${hdd_virt}"
|
||||
|
||||
qemu-img convert -O "${hdd_ext}" "${qemu_img_opts[@]}" "${hdd_img}" "${hdd_virt}"
|
||||
}
|
||||
|
||||
function convert_disk_image_ova() {
|
||||
|
||||
@@ -8,7 +8,14 @@ function _create_rauc_header() {
|
||||
echo "mountprefix=/run/rauc"
|
||||
echo "statusfile=/mnt/data/rauc.db"
|
||||
echo "bootloader=${BOOTLOADER}"
|
||||
|
||||
if [ "${BOOTLOADER}" == "grub" ]; then
|
||||
if [ "${BOOT_SYS}" == "efi" ]; then
|
||||
echo "grubenv=/mnt/boot/EFI/BOOT/grubenv"
|
||||
else
|
||||
echo "grubenv=/mnt/boot/grubenv"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "[keyring]"
|
||||
echo "path=/etc/rauc/keyring.pem"
|
||||
) > "${TARGET_DIR}/etc/rauc/system.conf"
|
||||
@@ -77,7 +84,7 @@ function install_bootloader_config() {
|
||||
if [ "${BOOTLOADER}" == "uboot" ]; then
|
||||
# shellcheck disable=SC1117
|
||||
echo -e "/dev/disk/by-partlabel/hassos-bootstate\t0x0000\t${BOOT_ENV_SIZE}" > "${TARGET_DIR}/etc/fw_env.config"
|
||||
else
|
||||
elif [ "${BOOTLOADER}" == "barebox" ]; then
|
||||
cp -f "${BR2_EXTERNAL_HASSOS_PATH}/bootloader/barebox-state-efi.dtb" "${TARGET_DIR}/etc/barebox-state.dtb"
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user