From 3dc9fcf5a76d0e4895c279f101843eb83c634525 Mon Sep 17 00:00:00 2001 From: luojects Date: Wed, 10 Aug 2022 11:16:49 +0800 Subject: [PATCH] syslinux: fix startup problem * fixup: isolinux.bin work with ldlinux.c32 * fixup: arm-std don't build ISO * fixup: x86-64 arch ISO has to support efi startup, but pcbios startup is an optional support, so remove isohybrid from MACHINE_FEATURES * add screen: openamp demo use it to open pty shell Signed-off-by: luojects --- meta-openeuler/classes/image-live.bbclass | 1 + meta-openeuler/conf/machine/qemu-x86-64.conf | 2 +- meta-openeuler/recipes-core/images/openeuler-image.bb | 2 ++ .../recipes-devtools/syslinux/syslinux_%.bbappend | 3 ++- meta-openeuler/recipes-extended/screen/screen_%.bbappend | 9 +++++++++ scripts/download_code.sh | 1 + 6 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 meta-openeuler/recipes-extended/screen/screen_%.bbappend diff --git a/meta-openeuler/classes/image-live.bbclass b/meta-openeuler/classes/image-live.bbclass index 549c5326843..38b3c7f1c18 100644 --- a/meta-openeuler/classes/image-live.bbclass +++ b/meta-openeuler/classes/image-live.bbclass @@ -119,6 +119,7 @@ build_iso() { # In the boot catalog, even though it is not used mkdir -p ${ISODIR}/${ISOLINUXDIR} install -m 0644 ${STAGING_DATADIR_NATIVE}/syslinux/isolinux.bin ${ISODIR}${ISOLINUXDIR} + install -m 0644 ${STAGING_DATADIR_NATIVE}/syslinux/ldlinux.c32 ${ISODIR}${ISOLINUXDIR} fi # We used to have support for zisofs; this is a relic of that diff --git a/meta-openeuler/conf/machine/qemu-x86-64.conf b/meta-openeuler/conf/machine/qemu-x86-64.conf index f0cc3ecdea0..da0d98a3da2 100644 --- a/meta-openeuler/conf/machine/qemu-x86-64.conf +++ b/meta-openeuler/conf/machine/qemu-x86-64.conf @@ -10,7 +10,7 @@ UBOOT_MACHINE ?= "qemu-x86_64_defconfig" KERNEL_IMAGETYPE =. "bzImage" KERNEL_IMAGETYPE_FOR_MAKE =. "bzImage" -MACHINE_FEATURES += "x86 efi isohybrid" +MACHINE_FEATURES += "x86 efi" MACHINE_EXTRA_RRECOMMENDS = "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" diff --git a/meta-openeuler/recipes-core/images/openeuler-image.bb b/meta-openeuler/recipes-core/images/openeuler-image.bb index 46d33455154..a667b0d3198 100644 --- a/meta-openeuler/recipes-core/images/openeuler-image.bb +++ b/meta-openeuler/recipes-core/images/openeuler-image.bb @@ -8,6 +8,8 @@ do_image_cpio[depends] = "" # build an iso image, the live-os use openeuler-image-live, it musn't the same as itself(openeuler-image) # when defined LIVE_ROOTFS_TYPE, bug may occered in poky, so just use default value ext4 in image-live.bbclass. # notice we need MACHINE_FEATURES += "efi" in machine conf +#IMAGE_FSTYPES_aarch64 += " iso " +#IMAGE_FSTYPES_x86-64 += " iso " IMAGE_FSTYPES += " iso " INITRD_IMAGE_LIVE = "openeuler-image-live" diff --git a/meta-openeuler/recipes-devtools/syslinux/syslinux_%.bbappend b/meta-openeuler/recipes-devtools/syslinux/syslinux_%.bbappend index 2e96f0359f3..4b109491f8b 100644 --- a/meta-openeuler/recipes-devtools/syslinux/syslinux_%.bbappend +++ b/meta-openeuler/recipes-devtools/syslinux/syslinux_%.bbappend @@ -1,5 +1,5 @@ # main bb file: yocto-poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb -# UEFI startup ISO(x86_64) only use isolinux.bin and isohybrid, which are pre-compiled binary in x86_64 arch +# isolinux.bin is used to support PCBIOS startup ISO, which is also the bootloader like grub # version in openEuler PV = "6.04-pre1" @@ -27,4 +27,5 @@ SRC_URI[tarball.sha256sum] = "3f6d50a57f3ed47d8234fd0ab4492634eb7c9aaf7dd902f33d do_install_append() { install -d ${D}${datadir}/syslinux/ install -m 644 ${S}/bios/core/isolinux.bin ${D}${datadir}/syslinux/ + install -m 644 ${S}/bios/com32/elflink/ldlinux/ldlinux.c32 ${D}${datadir}/syslinux/ } diff --git a/meta-openeuler/recipes-extended/screen/screen_%.bbappend b/meta-openeuler/recipes-extended/screen/screen_%.bbappend new file mode 100644 index 00000000000..e58b2f811f6 --- /dev/null +++ b/meta-openeuler/recipes-extended/screen/screen_%.bbappend @@ -0,0 +1,9 @@ +# main bbfile: yocto-poky/meta/recipes-extended/screen/screen_4.8.0.bb + +# files, patches that come from openeuler +SRC_URI_prepend = " \ + file://screen-4.3.1-crypt.patch \ + file://screen-4.3.1-screenrc.patch \ + file://screen-4.3.1-suppress_remap.patch \ + file://screen-E3.patch \ +" diff --git a/scripts/download_code.sh b/scripts/download_code.sh index e4e6bdafd83..421e1bfcdb2 100644 --- a/scripts/download_code.sh +++ b/scripts/download_code.sh @@ -234,6 +234,7 @@ download_code() update_code_repo src-openeuler/wpa_supplicant openEuler-22.09 update_code_repo src-openeuler/grub2 openEuler-22.09 update_code_repo src-openeuler/parted openEuler-22.09 + update_code_repo src-openeuler/screen openEuler-22.09 } # download iSulad related packages -- Gitee