diff options
Diffstat (limited to 'meta-amd-bsp/recipes-core')
15 files changed, 259 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-core/busybox/busybox/gpt_disklabel.cfg b/meta-amd-bsp/recipes-core/busybox/busybox/gpt_disklabel.cfg new file mode 100644 index 00000000..686eb99d --- /dev/null +++ b/meta-amd-bsp/recipes-core/busybox/busybox/gpt_disklabel.cfg @@ -0,0 +1 @@ +CONFIG_FEATURE_GPT_LABEL=y diff --git a/meta-amd-bsp/recipes-core/busybox/busybox_%.bbappend b/meta-amd-bsp/recipes-core/busybox/busybox_%.bbappend new file mode 100644 index 00000000..34c5934c --- /dev/null +++ b/meta-amd-bsp/recipes-core/busybox/busybox_%.bbappend @@ -0,0 +1,4 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" +SRC_URI:append:amd = " \ + file://gpt_disklabel.cfg \ + " diff --git a/meta-amd-bsp/recipes-core/initrdscripts/files/0001-init-install.sh-Don-t-set-quiet-kernel-option-in-ins.patch b/meta-amd-bsp/recipes-core/initrdscripts/files/0001-init-install.sh-Don-t-set-quiet-kernel-option-in-ins.patch new file mode 100644 index 00000000..c42438d4 --- /dev/null +++ b/meta-amd-bsp/recipes-core/initrdscripts/files/0001-init-install.sh-Don-t-set-quiet-kernel-option-in-ins.patch @@ -0,0 +1,38 @@ +From 2fe5dc144c38ca4e8621d81e990453565bb1b01e Mon Sep 17 00:00:00 2001 +From: Awais Belal <awais_belal@mentor.com> +Date: Mon, 19 Mar 2018 16:49:51 +0500 +Subject: [PATCH] init-install.sh: Don't set "quiet" kernel option + +Signed-off-by: Drew Moseley <drew_moseley@mentor.com> +Signed-off-by: Awais Belal <awais_belal@mentor.com> + +Upstream-Status: Inappropriate [configuration] +--- + init-install.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/init-install.sh b/init-install.sh +index 713a830..36fcdba 100644 +--- init-install.sh ++++ init-install.sh +@@ -293,7 +293,7 @@ if [ -f /etc/grub.d/00_header -a $grub_version -ne 0 ] ; then + cat >$GRUBCFG <<_EOF + menuentry "Linux" { + search --no-floppy --fs-uuid $boot_uuid --set root +- linux /$kernel root=PARTUUID=$root_part_uuid $rootwait rw $5 $3 $4 quiet ++ linux /$kernel root=PARTUUID=$root_part_uuid $rootwait rw $5 $3 $4 + } + _EOF + chmod 0444 $GRUBCFG +@@ -307,7 +307,7 @@ if [ $grub_version -eq 0 ] ; then + echo "timeout 30" >> /boot/grub/menu.lst + echo "title Live Boot/Install-Image" >> /boot/grub/menu.lst + echo "root (hd0,0)" >> /boot/grub/menu.lst +- echo "kernel /$kernel root=$rootfs rw $3 $4 quiet" >> /boot/grub/menu.lst ++ echo "kernel /$kernel root=$rootfs rw $3 $4" >> /boot/grub/menu.lst + fi + + # Copy kernel artifacts. To add more artifacts just add to types +-- +2.11.1 + diff --git a/meta-amd-bsp/recipes-core/initrdscripts/files/0002-init-install.sh-Add-a-second-prompt-to-install.patch b/meta-amd-bsp/recipes-core/initrdscripts/files/0002-init-install.sh-Add-a-second-prompt-to-install.patch new file mode 100644 index 00000000..49482b52 --- /dev/null +++ b/meta-amd-bsp/recipes-core/initrdscripts/files/0002-init-install.sh-Add-a-second-prompt-to-install.patch @@ -0,0 +1,37 @@ +From b93b1271d5f548c048b0813e1f9662c0befdac97 Mon Sep 17 00:00:00 2001 +From: Drew Moseley <drew_moseley@mentor.com> +Date: Sat, 5 Jul 2014 18:58:25 -0400 +Subject: [PATCH 2/4] init-install.sh: Add a second prompt to install + +This also makes it clear that the user will be overwriting +the entire disk. + +Signed-off-by: Drew Moseley <drew_moseley@mentor.com> +--- + meta/recipes-core/initrdscripts/files/init-install.sh | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +Upstream-Status: Inappropriate [configuration] + +diff --git a/meta/recipes-core/initrdscripts/files/init-install.sh b/meta/recipes-core/initrdscripts/files/init-install.sh +--- init-install.sh.orig 2016-08-01 13:29:03.823681411 -0700 ++++ init-install.sh 2016-08-01 13:30:32.323680567 -0700 +@@ -94,6 +94,18 @@ + done + + if [ -n "$TARGET_DEVICE_NAME" ]; then ++ while true; do ++ echo "This will overwrite all data on $TARGET_DEVICE_NAME" ++ echo -n "Are you sure? [y/n] " ++ read answer ++ if [ "$answer" = "y" ]; then ++ break ++ elif [ "$answer" = "n" ]; then ++ echo "Installation aborted." ++ exit 1 ++ fi ++ echo "Please answer y or n" ++ done + echo "Installing image on /dev/$TARGET_DEVICE_NAME ..." + else + echo "No hard drive selected. Installation aborted." diff --git a/meta-amd-bsp/recipes-core/initrdscripts/files/0003-init-install-efi.sh-Don-t-set-quiet-kernel-option-in.patch b/meta-amd-bsp/recipes-core/initrdscripts/files/0003-init-install-efi.sh-Don-t-set-quiet-kernel-option-in.patch new file mode 100644 index 00000000..76771c09 --- /dev/null +++ b/meta-amd-bsp/recipes-core/initrdscripts/files/0003-init-install-efi.sh-Don-t-set-quiet-kernel-option-in.patch @@ -0,0 +1,38 @@ +From 30186b183e0022abb97485f5804be0e1e02ccb1f Mon Sep 17 00:00:00 2001 +From: Awais Belal <awais_belal@mentor.com> +Date: Mon, 19 Mar 2018 16:56:53 +0500 +Subject: [PATCH] init-install-efi.sh: Don't set "quiet" kernel option + +Signed-off-by: Drew Moseley <drew_moseley@mentor.com> +Signed-off-by: Awais Belal <awais_belal@mentor.com> + +Upstream-Status: Inappropriate [configuration] +--- + init-install-efi.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/init-install-efi.sh b/init-install-efi.sh +index f946d97..c8af835 100644 +--- init-install-efi.sh ++++ init-install-efi.sh +@@ -246,7 +246,7 @@ if [ -f /run/media/$1/EFI/BOOT/grub.cfg ]; then + sed -i "s/ LABEL=[^ ]*/ /" $GRUBCFG + # Replace root= and add additional standard boot options + # We use root as a sentinel value, as vmlinuz is no longer guaranteed +- sed -i "s/ root=[^ ]*/ root=PARTUUID=$root_part_uuid rw $rootwait quiet /g" $GRUBCFG ++ sed -i "s/ root=[^ ]*/ root=PARTUUID=$root_part_uuid rw $rootwait /g" $GRUBCFG + fi + + if [ -d /run/media/$1/loader ]; then +@@ -263,7 +263,7 @@ if [ -d /run/media/$1/loader ]; then + # delete any root= strings + sed -i "s/ root=[^ ]*/ /" $SYSTEMDBOOT_CFGS + # add the root= and other standard boot options +- sed -i "s@options *@options root=PARTUUID=$rootuuid rw $rootwait quiet @" $SYSTEMDBOOT_CFGS ++ sed -i "s@options *@options root=PARTUUID=$rootuuid rw $rootwait @" $SYSTEMDBOOT_CFGS + fi + + umount /tgt_root +-- +2.11.1 + diff --git a/meta-amd-bsp/recipes-core/initrdscripts/files/0004-init-install-efi.sh-Add-a-second-prompt-to-install.patch b/meta-amd-bsp/recipes-core/initrdscripts/files/0004-init-install-efi.sh-Add-a-second-prompt-to-install.patch new file mode 100644 index 00000000..86b8baee --- /dev/null +++ b/meta-amd-bsp/recipes-core/initrdscripts/files/0004-init-install-efi.sh-Add-a-second-prompt-to-install.patch @@ -0,0 +1,37 @@ +From a2c99e6a9b5a47f72a9a73ad5d1978786c809583 Mon Sep 17 00:00:00 2001 +From: Drew Moseley <drew_moseley@mentor.com> +Date: Sat, 5 Jul 2014 18:58:39 -0400 +Subject: [PATCH 4/4] init-install-efi.sh: Add a second prompt to install + +This also makes it clear that the user will be overwriting +the entire disk. + +Signed-off-by: Drew Moseley <drew_moseley@mentor.com> +--- + meta/recipes-core/initrdscripts/files/init-install-efi.sh | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +Upstream-Status: Inappropriate [configuration] + +diff --git a/meta/recipes-core/initrdscripts/files/init-install-efi.sh b/meta/recipes-core/initrdscripts/files/init-install-efi.sh +--- init-install-efi.sh.orig 2016-08-02 12:13:24.718900725 -0700 ++++ init-install-efi.sh 2016-08-02 12:16:05.926899187 -0700 +@@ -100,6 +100,18 @@ + done + + if [ -n "$TARGET_DEVICE_NAME" ]; then ++ while true; do ++ echo "This will overwrite all data on $TARGET_DEVICE_NAME" ++ echo -n "Are you sure? [y/n] " ++ read answer ++ if [ "$answer" = "y" ]; then ++ break ++ elif [ "$answer" = "n" ]; then ++ echo "Installation aborted." ++ exit 1 ++ fi ++ echo "Please answer y or n" ++ done + echo "Installing image on /dev/$TARGET_DEVICE_NAME ..." + else + echo "No hard drive selected. Installation aborted." diff --git a/meta-amd-bsp/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bbappend b/meta-amd-bsp/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bbappend new file mode 100644 index 00000000..2c407297 --- /dev/null +++ b/meta-amd-bsp/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" +SRC_URI:append:amd = " \ + file://0003-init-install-efi.sh-Don-t-set-quiet-kernel-option-in.patch;striplevel=0;patchdir=${WORKDIR} \ + file://0004-init-install-efi.sh-Add-a-second-prompt-to-install.patch;striplevel=0;patchdir=${WORKDIR} \ +" diff --git a/meta-amd-bsp/recipes-core/initrdscripts/initramfs-live-install_1.0.bbappend b/meta-amd-bsp/recipes-core/initrdscripts/initramfs-live-install_1.0.bbappend new file mode 100644 index 00000000..97cfc319 --- /dev/null +++ b/meta-amd-bsp/recipes-core/initrdscripts/initramfs-live-install_1.0.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" +SRC_URI:append:amd = " \ + file://0001-init-install.sh-Don-t-set-quiet-kernel-option-in-ins.patch;striplevel=0;patchdir=${WORKDIR} \ + file://0002-init-install.sh-Add-a-second-prompt-to-install.patch;striplevel=0;patchdir=${WORKDIR} \ +" diff --git a/meta-amd-bsp/recipes-core/systemd/systemd_%.bbappend b/meta-amd-bsp/recipes-core/systemd/systemd_%.bbappend new file mode 100644 index 00000000..9ef955fa --- /dev/null +++ b/meta-amd-bsp/recipes-core/systemd/systemd_%.bbappend @@ -0,0 +1,7 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +pkg_postinst:udev-hwdb:amd () { +} +pkg_postinst_ontarget:udev-hwdb:amd () { + udevadm hwdb --update +} diff --git a/meta-amd-bsp/recipes-core/udev/udev-extraconf/60-drm-hotplug-mode.rules b/meta-amd-bsp/recipes-core/udev/udev-extraconf/60-drm-hotplug-mode.rules new file mode 100644 index 00000000..9eaa12ba --- /dev/null +++ b/meta-amd-bsp/recipes-core/udev/udev-extraconf/60-drm-hotplug-mode.rules @@ -0,0 +1 @@ +ACTION=="change", SUBSYSTEM=="drm", ENV{HOTPLUG}=="1", ENV{DISPLAY}=":0", RUN+="/etc/udev/scripts/hotplug-display-@MULTIDISPLAYMODE.sh" diff --git a/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-auto.sh b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-auto.sh new file mode 100644 index 00000000..9e1864da --- /dev/null +++ b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-auto.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +connectedPorts=$(xrandr | grep " connected" | sed 's/ connected.*//') +for port in $connectedPorts ; do + xrandr --output $port --auto +done + +disconnectedPorts=$(xrandr | grep " disconnected" | sed 's/ disconnected.*//') +for port in $disconnectedPorts ; do + xrandr --output $port --off +done + diff --git a/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-extended-h.sh b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-extended-h.sh new file mode 100644 index 00000000..6adab773 --- /dev/null +++ b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-extended-h.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +declare -a connectedPorts=($(xrandr | grep " connected" | sed 's/ connected.*//')) +for i in "${!connectedPorts[@]}"; do + if [ $i -eq 0 ]; then + xrandr --output ${connectedPorts[i]} --auto + fi + if [ -n "${connectedPorts[i+1]}" ]; then + xrandr --output ${connectedPorts[i+1]} --auto --right-of ${connectedPorts[i]} + fi +done + +disconnectedPorts=$(xrandr | grep " disconnected" | sed 's/ disconnected.*//') +for port in $disconnectedPorts ; do + xrandr --output $port --off +done diff --git a/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-extended-v.sh b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-extended-v.sh new file mode 100644 index 00000000..5b16969c --- /dev/null +++ b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-extended-v.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +declare -a connectedPorts=($(xrandr | grep " connected" | sed 's/ connected.*//')) +for i in "${!connectedPorts[@]}"; do + if [ $i -eq 0 ]; then + xrandr --output ${connectedPorts[i]} --auto + fi + if [ -n "${connectedPorts[i+1]}" ]; then + xrandr --output ${connectedPorts[i+1]} --auto --below ${connectedPorts[i]} + fi +done + +disconnectedPorts=$(xrandr | grep " disconnected" | sed 's/ disconnected.*//') +for port in $disconnectedPorts ; do + xrandr --output $port --off +done diff --git a/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-mirrored.sh b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-mirrored.sh new file mode 100644 index 00000000..1c0ae61a --- /dev/null +++ b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-mirrored.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +declare -a connectedPorts=($(xrandr | grep " connected" | sed 's/ connected.*//')) +for i in "${!connectedPorts[@]}"; do + if [ $i -eq 0 ]; then + xrandr --output ${connectedPorts[i]} --auto + fi + if [ -n "${connectedPorts[i+1]}" ]; then + xrandr --output ${connectedPorts[i+1]} --auto --same-as ${connectedPorts[0]} + fi +done + +disconnectedPorts=$(xrandr | grep " disconnected" | sed 's/ disconnected.*//') +for port in $disconnectedPorts ; do + xrandr --output $port --off +done diff --git a/meta-amd-bsp/recipes-core/udev/udev-extraconf_%.bbappend b/meta-amd-bsp/recipes-core/udev/udev-extraconf_%.bbappend new file mode 100644 index 00000000..d5e25cc4 --- /dev/null +++ b/meta-amd-bsp/recipes-core/udev/udev-extraconf_%.bbappend @@ -0,0 +1,26 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI += " \ + file://60-drm-hotplug-mode.rules \ + file://hotplug-display-auto.sh \ + file://hotplug-display-mirrored.sh \ + file://hotplug-display-extended-h.sh \ + file://hotplug-display-extended-v.sh \ +" +# Allowed options for MULTI_DISPLAY_MODE: auto | mirrored | extended-h | extended-v +MULTI_DISPLAY_MODE ?= "auto" + +do_install:append() { + sed -i 's/@MULTIDISPLAYMODE/${MULTI_DISPLAY_MODE}/' ${WORKDIR}/60-drm-hotplug-mode.rules + + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/60-drm-hotplug-mode.rules ${D}${sysconfdir}/udev/rules.d/60-drm-hotplug-mode.rules + + install -d ${D}${sysconfdir}/udev/scripts/ + install -m 0755 ${WORKDIR}/hotplug-display-auto.sh ${D}${sysconfdir}/udev/scripts/hotplug-display-auto.sh + install -m 0755 ${WORKDIR}/hotplug-display-mirrored.sh ${D}${sysconfdir}/udev/scripts/hotplug-display-mirrored.sh + install -m 0755 ${WORKDIR}/hotplug-display-extended-h.sh ${D}${sysconfdir}/udev/scripts/hotplug-display-extended-h.sh + install -m 0755 ${WORKDIR}/hotplug-display-extended-v.sh ${D}${sysconfdir}/udev/scripts/hotplug-display-extended-v.sh +} + +RDEPENDS:${PN} += "${@bb.utils.contains('IMAGE_FEATURES', 'x11-base', 'xrandr', '', d)}" |