[PATCH v3] recipes-core/: Disable LUV_STORAGE_URL parameter by default in luv.cfg
by Gayatri Kammela
LUV_STORAGE_URL in luv.cfg has a default value which meant to indicate
the format of the url to be given by user. However, the script that
saves and submit the results takes the default value as a parameter when
user didn't wish to use the feature.
The default value is not valid and thus it makes sense to disable this
parameter by default value "none", leaving the script run only if
user provides the url.
Cc: Ricardo Neri <ricardo.neri-calderon(a)linux.intel.com>
Signed-off-by: Gayatri Kammela <gayatri.kammela(a)intel.com>
---
Changes since v2:
1) Added additional layer of logic to prevent the script from running when
there is no luv_storage parameter.
Changes since v1:
1)Modified the logic that looks for luv_storage=none instead of generic none.
meta-luv/recipes-core/images/luv-live-image.bb | 2 +-
meta-luv/recipes-core/images/luv-netboot-image.bb | 2 +-
.../recipes-core/luv-test/luv-test/submit_results | 46 ++++++++++++++--------
3 files changed, 31 insertions(+), 19 deletions(-)
diff --git a/meta-luv/recipes-core/images/luv-live-image.bb b/meta-luv/recipes-core/images/luv-live-image.bb
index 50cad08ee9ef..540c7475df60 100644
--- a/meta-luv/recipes-core/images/luv-live-image.bb
+++ b/meta-luv/recipes-core/images/luv-live-image.bb
@@ -31,7 +31,7 @@ CMDLINE_append_x86 = "${COMMON_CMDLINE_x86}"
CMDLINE_append_x86-64 = "${COMMON_CMDLINE_x86}"
LUVCFG_netconsole = "LUV_NETCONSOLE=10.11.12.13,64001"
-LUVCFG_storage_url = "LUV_STORAGE_URL=http://ipaddress/cgi-bin/upload.php"
+LUVCFG_storage_url = "LUV_STORAGE_URL=none"
python() {
import re
diff --git a/meta-luv/recipes-core/images/luv-netboot-image.bb b/meta-luv/recipes-core/images/luv-netboot-image.bb
index 93ac1978dc1e..a72c79f0a630 100644
--- a/meta-luv/recipes-core/images/luv-netboot-image.bb
+++ b/meta-luv/recipes-core/images/luv-netboot-image.bb
@@ -33,7 +33,7 @@ CMDLINE_append_x86 = "${COMMON_CMDLINE_x86}"
CMDLINE_append_x86-64 = "${COMMON_CMDLINE_x86}"
LUVCFG_netconsole = "LUV_NETCONSOLE=10.11.12.13,64001"
-LUVCFG_storage_url = "LUV_STORAGE_URL=http://ipaddress/cgi-bin/upload.php"
+LUVCFG_storage_url = "LUV_STORAGE_URL=none"
HDDDIR = "${S}/hddimg"
diff --git a/meta-luv/recipes-core/luv-test/luv-test/submit_results b/meta-luv/recipes-core/luv-test/luv-test/submit_results
index 8288e5f19f20..19d102ac68ea 100644
--- a/meta-luv/recipes-core/luv-test/luv-test/submit_results
+++ b/meta-luv/recipes-core/luv-test/luv-test/submit_results
@@ -6,35 +6,45 @@
# zip folder and then upload to a given webserver.
#####################################################################
-# Gather results in a compressed tarball
-
plymouth_write() {
/bin/plymouth display-message --text="{1}"
}
-get_tar_luv_results()
+# check if the url is valid
+get_luv_url()
{
+ # check if luv-storage exists in grub.cfg
grep -q luv_storage /proc/cmdline
if [ $? -eq 0 ]; then
- tar -zcf /tmp/luv-results-$tstamp.tar.gz ${LUV_SAVE_RESULTS_DIR}
- luv_tar_results=/tmp/luv-results-$tstamp.tar.gz
+ # check if luv-storage is disabled by default
+ grep -q 'luv_storage=none' /proc/cmdline
+ if [ $? -eq 1 ]; then
+ # retrieve the contents of the variable luv_storage
+ storage_url=$(cat /proc/cmdline | sed -e 's/^.*luv_storage=//' -e 's/ .*$//')
+ valid_exp='(https?|ftp|file)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]'
+ if ! [[ ${storage_url} =~ $valid_exp ]] ; then
+ echo $alert_url_missing
+ plymouth_write "MSG $alert_url_missing"
+ halt
+ else
+ return 0
+ fi
+ else
+ return 1
+ fi
else
return 1
fi
}
-# check if the url is valid
-get_luv_url()
+# Gather results in a compressed tarball
+get_tar_luv_results()
{
- # retrieve the contents of the variable luv_storage
- storage_url=$(cat /proc/cmdline | sed -e 's/^.*luv_storage=//' -e 's/ .*$//')
- valid_exp='(https?|ftp|file)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]'
- if ! [[ ${storage_url} =~ $valid_exp ]] ; then
- echo $alert_url_missing
- plymouth_write "MSG $alert_url_missing"
- halt
+ tar -zcf /tmp/luv-results-$tstamp.tar.gz ${LUV_SAVE_RESULTS_DIR}
+ if [ $? -eq 0 ]; then
+ luv_tar_results=/tmp/luv-results-$tstamp.tar.gz
else
- return 0
+ return 1
fi
}
@@ -44,10 +54,12 @@ alert_url_missing="No valid URL is provided to save the results! Please provide
LUV_SAVE_RESULTS_DIR=$1
tstamp=$(date +"%Y-%m-%d--%H-%M-%S")
-get_tar_luv_results
+get_luv_url
if [ $? -eq 0 ]; then
- get_luv_url
+ get_tar_luv_results
if [ $? -eq 0 ]; then
curl -F "uploadedfile=@${luv_tar_results}" ${storage_url}
fi
+else
+ exit
fi
--
2.7.4
5 years, 3 months
[PATCH] recipes-core/udev: Remove eudev_3.2.bbappend file
by Gayatri Kammela
eudev_3.2.bbappend file is created to add runtime dependencies
that produces the udev-cache package for utils like gzip. However, we
don't need the udev-cache package anymore as it is taken care of by
systemd, thus removing the eudev_3.2.bbappend file.
Cc: Ricardo Neri <ricardo.neri(a)intel.com>
Signed-off-by: Gayatri Kammela <gayatri.kammela(a)intel.com>
---
meta-luv/recipes-core/udev/eudev_3.2.bbappend | 1 -
1 file changed, 1 deletion(-)
delete mode 100644 meta-luv/recipes-core/udev/eudev_3.2.bbappend
diff --git a/meta-luv/recipes-core/udev/eudev_3.2.bbappend b/meta-luv/recipes-core/udev/eudev_3.2.bbappend
deleted file mode 100644
index 84451c92064c..000000000000
--- a/meta-luv/recipes-core/udev/eudev_3.2.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-RDEPENDS_udev-cache += "gzip findutils"
--
2.7.4
5 years, 4 months
[PATCH] luv-test/luv-test.bb: Add the runtime dependency for gzip utility
by Gayatri Kammela
luv-test.bb has listed all the runtime dependencies on a per packages
basis and hence it makes sense to add package dependency for gzip as
well which is required to tar the test results.
Cc: Ricardo Neri <ricardo.neri(a)intel.com>
Signed-off-by: Gayatri Kammela <gayatri.kammela(a)intel.com>
---
meta-luv/recipes-core/luv-test/luv-test.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-luv/recipes-core/luv-test/luv-test.bb b/meta-luv/recipes-core/luv-test/luv-test.bb
index 7a94cc301917..3f668486f991 100644
--- a/meta-luv/recipes-core/luv-test/luv-test.bb
+++ b/meta-luv/recipes-core/luv-test/luv-test.bb
@@ -37,7 +37,7 @@ SRC_URI += "file://luv-test-manager file://luv-test-parser \
RDEPENDS_${PN}-netconsole+= "kernel-modules curl iputils iproute2 bash init-ifupdown dhcp-client"
RDEPENDS_${PN}-crash+="bash"
RDEPENDS_${PN}-manager+= "bash"
-RDEPENDS_${PN}+= "bash"
+RDEPENDS_${PN}+= "bash gzip"
do_install_append() {
install -d ${D}${sbindir}/
--
2.7.4
5 years, 4 months
[PATCH] luv-net-boot-image.bb: fix the missing initrd
by Gayatri Kammela
set_live_vm_vars() function is defined to eliminate the potential
conflicts caused by using the same vars. It is necessary to call this
function prior to copying the initrd to the disk image.
This fix avoids the missing initrd in netboot image.
Cc: Ricardo Neri <ricardo.neri(a)intel.com>
Signed-off-by: Gayatri Kammela <gayatri.kammela(a)intel.com>
---
meta-luv/recipes-core/images/luv-netboot-image.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-luv/recipes-core/images/luv-netboot-image.bb b/meta-luv/recipes-core/images/luv-netboot-image.bb
index d8205eeb7e56..93ac1978dc1e 100644
--- a/meta-luv/recipes-core/images/luv-netboot-image.bb
+++ b/meta-luv/recipes-core/images/luv-netboot-image.bb
@@ -77,6 +77,7 @@ do_populate_image() {
}
python do_mkimage() {
+ set_live_vm_vars(d, 'LIVE')
bb.build.exec_func('build_efi_cfg', d)
bb.build.exec_func('build_luv_cfg', d)
bb.build.exec_func('do_populate_image', d)
--
2.7.4
5 years, 4 months
Linux UEFI Validation Project v2.1-rc2 release
by Neri, Ricardo
Hello,
This is to announce the release of LUV v2.1-rc2.
It has been a while since the last time of our last release. This is not
the ideal release cadence are working to make changes. We will now
release
more frequently. We aim to release a new version every 4-5 weeks with
the
content we accumulate over that period of time.
Given the large number of new features and changes in this release, it
made sense to release it as rc2 of v2.1 to allow for issues to arise and
stabilize towards the next release cycle.
== Goodies
This release include the client side of our telemetrics solution. This
solution is based on the implementation done for Clear Linux[1]; abiding
Intel privacy policies[2]. Please note that telemetrics is an opt-in
feature and is disabled by default and only works for systems within
Intel networks. We will work now on the server side of the solution.
In this release we have migrated from systemV to systemd, which is
inline
with most Linux distributions. Also, our telemetrics client needed it
to function. Megha Dey did all the heavy lifting to migrate to systemd;
which was not an easy task (kudos to her!). She worked on stabilizing
network and revamping our splash screen, which now uses plymouth.
Sai Praneeth Prakhya extended our existing implementation to detect
illegal access to UEFI Boot Services memory regions after boot. His
extension now allows to detect such access to also conventional memory.
Likewise, it now detects these acceses at runtime and long after UEFI
SetVirtualAddressMap. This has been quite useful recently to detect bugs
related to UEFI capsules in certain firmware implementations.
Gayatri Kammela worked on providing tools to make the netboot images
more
useful. She completed a reference implementation of an HTTP server to
collect test results in a test farm. The documentation of this
implementation can be found here[2]; we don't provide collection
services.
Of course, the client-side implementation of this solution is part of
this
release. Along with this solution, she wrote a script to customize a
netboot binary (an EFI application) to work with her reference
implementation[4].
Naresh Bhat updated the kernel configuration for aarch64. He also worked
on
providing a more clean, unified and structured kernel command line for
all
the supported CPU architectures. He also enabled support of netboot
images
for aarch64.
Fathi Boudra kindly reworked the kernel configuration fragments to avoid
unnecessary duplications.
Matt Hart added a new luv.poweroff option.
Configuration of LUV has been simplified by moving all the parameters
that
the user might configure a LUV.cfg file found in the boot partition of
the
disk image. No more meddling with the grub.cfg configuration file.
We now provide images built for both GPT and MBR partition schemes.
== Updated test suites
We include FWTS V17.03.00, CHIPSEC v1.2.5 plus all the changes available
as of this week towards the release of v.1.2.6, which should be coming
soon. BITS was bumped to v2079. We use Linux v4.10. This release is
based
on the Morty version of the Yocto Project.
=== meta-oe and updates to the build proces
Our build process changed a bit. We now include certain components from
the
meta-oe layer[5]. Such layer has been added to our repository, but it
still
need to be added locally to the build/conf/bblayers.conf file when
building.
=== Binary images for x86
A announcement to download binary images for x86 will be sent this week.
== Known issues:
luv.reboot not rebooting in LUV v2.1-rc2
https://github.com/01org/luv-yocto/issues/120
Results are overwritten by horizontal line in luv.html file
https://github.com/01org/luv-yocto/issues/118
LUV from next branch fails to build on Ubuntu 16.10
https://github.com/01org/luv-yocto/issues/104
Get rid of License warnings in linux firmware
https://github.com/01org/luv-yocto/issues/103
sometimes bits-python-native fails to build
https://github.com/01org/luv-yocto/issues/101
Unstable behavior on i386 images
https://github.com/01org/luv-yocto/issues/76
Strange error while running live image using qemu
https://github.com/01org/luv-yocto/issues/64
== Fixed issues
* linux-yocto-efi-test.do_kernel_checkout fails
https://github.com/01org/luv-yocto/issues
* OVMF build fails on Ubuntu 16.04 with GCC 5.3
https://github.com/01org/luv-yocto/issues/85
* ndctl is broken with Linux v4.9
https://github.com/01org/luv-yocto/issues/115
* gzip not being built
https://github.com/01org/luv-yocto/issues/113
* nvdimm-test: LIC_FILES_CHKSUM points to an invalid file
https://github.com/01org/luv-yocto/issues/112
* Ship .config file with LUV
https://github.com/01org/luv-yocto/issues/108
* Recipes that depend on the kernel fail to find their files
https://github.com/01org/luv-yocto/issues/106
* Default LUV_STORAGE to not be used
https://github.com/01org/luv-yocto/issues/105
* get rid of QA warning
https://github.com/01org/luv-yocto/issues/102
* LUV : No space left on device
https://github.com/01org/luv-yocto/issues/99
== Short log
Many thanks to all the people who contributed to this release!
Fathi Boudra (1):
linux-yocto-efi-test: avoid to duplicate x86 kernel config
fragments
Gayatri Kammela (21):
fwts: bump to v16.07.00
fwts: bump to v16.08.01
fwts: bump to v16.09.00
meta-luv/recipes-connectivity/dhcp/: Add a new file
dhcp_4.3.4.bbappend
fwts: bump to v16.11.00
recipes-core/images: Modify the style of luv_netconsole
recipes-core/images: Add 'LUV_STORAGE_URL' parameter
luv-efi.bbclass: Create a new file 'luv.cfg'
grub-efi: Enable source command in grub
recipes-core/luv-images, luv-efi.bbclass: Source the luv.cfg and
activate it
luv-efi.bbclass: Source the luv.cfg file independent of the
architecture
initscripts/: Add a new file 'submit_results' and then add it to
bin directory
luv-test-manager: execute/invoke submit_results script
meta-luv/utils/: Add a new file "modify_luv_netboot_efi.py" to luv
meta-luv/README: Add information on submitting results to a remote
location
bits/luv-parser-bits: Print the INFO tag only if BITS executes
fwts: bump to v16.12.00
udev/eudev_3.2.bbappend: Replace the recipe name variable with the
package name
fwts: bump to v17.01.00
fwts: bump to v17.02.00
fwts: bump to v17.03.00
Matt Hart (2):
luv-test-manager: Add luv.poweroff kernel command line option
meta-luv: Document LUV boot options
Megha Dey (23):
nvdimm: Move NVDIMM testing modules out of kernel recipe
linux-efi-yocto-test: update NDCTL config fragments
ndctl: bump to version 52(v52)
linux-yocto-efi-test: Update recipe for Linux v4.6
linux-yocto-efi-test: Update linux-libc-headers
linux-yocto-efi-test : add configs for ethernet-USB support
nvdimm: Add a clean target to Makefile
linux-yocto-efi-test: Update recipe for Linux v4.7
linux-yocto-efi-test: Update linux-libc-headers
nvdimm: prefix package name with KERNEL_MODULE_PACKAGE_PREFIX
linux-yocto-efi-test : Add a space when using SRC_URI_APPEND
ndctl: bump to version 55(v55)
linux-yocto-efi-test: Update recipe for Linux v4.10
linux-yocto-efi-test: Update linux-libc-headers
ndctl: bump to version 56(v56)
luv: shift from SystemV to SystemD
plymouth: update from psplash to plymouth
systemd: Enable networking
systemd: Disable tty1 when splash is enabled
luv: os-release : Introduce a numeric BUILD_ID
linux-yocto-efi-test: enable pstore file system
luv: Introduce telemetrics in LUV
luv: ensure netconsole runs before klogscanner
Naresh Bhat (14):
luv-netboot-image: Fix HDDDIR as install path for DEST
luv-netboot-image: Condition around efi populate bits
luv-netboot-image: Fix luv netboot image efi soft link
luv-netboot-image: Remove BITS dependency on AArch64
luv-netboot-image: Use _RDEPENDS variable
luv-netboot-image: Remove extra space
luv-netboot-image: Add support for ARM64
core-image-efi-initramfs: Add kexec
linux-yocto-efi-test: Remove acpi config on arm64
qemuarm64: Update defconfig
linux-yocto-efi-test: Add missing patches in v4.9
meta-luv/recipes-core/images: Fix kernel commandline across
architecture
linux-yocto-efi-test: Fix defconfig for SBBR
linux-yocto-efi-test: Use arm64 defconfig v4.10
Ricardo Neri (61):
LUV v2.1-dev
ovmf: fixup gcc chain to to GCC4.9 when using GCC5.*
ovmf: cross-compile using native BaseTools
qemu: depend on the class-target OVMF
chipsec: utilize inode_lock/unlock wrappers for new kernels
fwts: bump to V16.06.00
bits-python: bump to v2073
linux-efi-yocto-test: remove CPU0 hotplug configuration
luv-efi: use open instead of file when opening files in python
luv-efi: append space after vmlinuz in grub.cfg
luv-efi: use vmlinuz as kernel filename for all architectures
grub-efi: chainloader: fix indentation issue
grub-efi: relocate i386 callwrapper.S to Makefile.core.def
luv-live-image: run do_create_img as fakeroot
luv-live/netboot-image: add a do_image_ext4 task
luv-netboot-image: remove unneeded dependency on xorriso
luv-live/netboot-image: inherit from image-live
nvdimm-test: make do_populate_lic depend on virtual/kernel's
do_populate_lic
nvdimm-test: copy Module.symvers into build directory
nvdimm-test: make this recipe a provider of libnvdimm
bits: grub: core: libgcrypt: fix signed vs unsigned comparison
bits: grub: core: libgcrypt: respect aliasing rules
bits: python: zlib: fix a left shift of a negative value
bits: python: ast: fix indentation
bits: python: compat: fix error handling lseek
bits: python: fdlibm: fix indentation warnings
bits: patch files in S directory explicitly
bits-python: complete target install directories
linux-yocto-efi-test: remove printk.scc from KERNEL_FEATURES
linux-yocto-efi-test: update defconfig to v4.7
linux-yocto-efi-test: use separate defconfigs for x86 and x86-64
Merge branch 'master' of git://git.yoctoproject.org/poky.git
luv-live-image: set EFI_USEXORRISO variable
ovmf: add missing dependency on ossp-uuid
ovmf: update to a newer version
luv-live/netboot-image: remove unneeded variables
luv-netboot-image: set EFI_USEXORRISO variable
luv-netboot-image: use a single '=' when comparing strings
luv-crash-handler: Add --reuse-cmdline option
bits-pyton: bump to v2079
bits: define a native do_deploy function
bits: bump to v2079
core-image-efi-initramfs: Temporarily disable chipsec
chipsec: update support for 32-bit
chipsec: do not custom-build the chipsec kernel module
chipsec: remove _prepend's that change directories
chipsec: correct location of installation
chipsec: update build time and runtime dependencies
chipsec: bump to v1.2.5+
chipsec: do not ship manual
core-image-efi-initramfs: Re-enable chipsec
chipsec: make chipsec recipe depend on make_scripts
chipsec: Provide CHIPSEC's driver with the build architecture
chipsec: distutils' build arguments
chipsec: Ship 64-bit binary files only in 64-bit packages
luv: increase kernel crash memory
efivarfs: do not use STAGING_KERNEL_DIR as S directory
efivarfs: retrieve license from kernel-source shared dir
efivarfs: shorten paths of source files
efivarfs: do_unpack must depend on kernel's do_shared_workdir
chipsec: update to latest CHIPSEC
Sai Praneeth (18):
luv-live-image: Switch from Bytes to MiB while partitioning image
luv-live-image: Support both MBR and GPT type live images
linux-yocto-efi-test: Bump Linux kernel to v4.9
linux-yocto-efi-test: Re-enable "Detect illegal access to UEFI
Boot Services memory regions" test
linux-yocto-efi-test: Do not support EFI_BOOT_SERVICES_WARN
linux-yocto-efi-test: Move efi_bgrt_init() to early stage
linux-yocto-efi-test: Allocate pages without sleeping
linux-yocto-efi-test: remove __init attribute from memory mapping
functions
linux-yocto-efi-test: Save EFI_MEMORY_MAP passed by firmware
permanently
linux-yocto-efi-test: Copy support functions to install/uninstall
original_memory_map
linux-yocto-efi-test: Allow efi_mem_desc_lookup find illegally
accessed EFI regions
linux-yocto-efi-test: Add function to fixup page faults in illegal
efi regions
linux-yocto-efi-test: Fixup faults from UEFI firmware
linux-yocto-efi-test: Introduce EFI_WARN_ON_ILLEGAL_ACCESSES
kernel-efi-warnings: Update EFI_BOOT_SERVICES_* test to
EFI_illegal_accesses_test
linux-yocto-efi-test: Make efi.cfg file common across all
architectures
linux-yocto-efi-test: Enable CONFIG_EFI_TEST for all architectures
linux-yocto-efi-test: Enable EFI_PGT_DUMP for x86
Thanks and BR,
Ricardo
[1]. https://clearlinux.org/features/telemetry
[2]. http://www.intel.com/content/www/us/en/privacy/intel-privacy.html
[3].
https://github.com/01org/luv-yocto/wiki/Send--LUV-test-results-to-an-HTTP...
[4].
https://github.com/01org/luv-yocto/wiki/Using-LUV-Script-modify_luv_netbo...
[5].
https://layers.openembedded.org/layerindex/branch/master/layer/meta-oe/
5 years, 4 months
[PATCH V2 0/3] Reorganize and enable EFI configs
by Sai Praneeth Prakhya
From: Sai Praneeth <sai.praneeth.prakhya(a)intel.com>
Presently, efi.cfg file is exclusive to x86 architecture, but let's make
it common across all architectures so that we could avoid duplication.
This change implies that any EFI config that is common to all the
architectures should live in efi.cfg file and any architecture specific
EFI config should live in "efi_{arch}.cfg" file specific to that
architecture.
Changes since V1:
1. Rename architecture specific efi.cfg file to efi_{arch}.cfg. Since
bitbake gets confused while appending files that have same names even
though they live in different directories.
Sai Praneeth (3):
linux-yocto-efi-test: Make efi.cfg file common across all
architectures
linux-yocto-efi-test: Enable CONFIG_EFI_TEST for all architectures
linux-yocto-efi-test: Enable EFI_PGT_DUMP for x86
meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg | 4 ++++
.../linux/linux-yocto-efi-test/qemux86-64/efi_x86-64.cfg | 2 ++
meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi.cfg | 6 ------
.../recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi_x86.cfg | 5 +++++
meta-luv/recipes-kernel/linux/linux-yocto-efi-test_4.10.bb | 6 ++++--
5 files changed, 15 insertions(+), 8 deletions(-)
create mode 100644 meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg
create mode 100644 meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86-64/efi_x86-64.cfg
delete mode 100644 meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi.cfg
create mode 100644 meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi_x86.cfg
--
2.1.4
5 years, 5 months
[PATCH V2 3/3] linux-yocto-efi-test: Enable EFI_PGT_DUMP for x86
by Sai Praneeth Prakhya
From: Sai Praneeth <sai.praneeth.prakhya(a)intel.com>
When enabled, at boot time kernel dumps "efi_pgd" (page directory to
hold efi region mappings). This is the first table to look at when
debugging any page fault related to efi regions. We can easily say why
the page fault had occurred? Is it because of a missing mapping or a
mismatch in page table attributes?
As we also have "efi=debug" command line parameter, efi_pgd will act as
a supplement to let us know why the efi region isn't mapped (if the page
fault occurred because of a missing mapping). For example, if we know
the physical address at which the page fault had occurred, using
efi_pgd we know that the region isn't mapped and from efi memory map
(printed by efi=debug) we can identify the type of memory region (like
EFI_CONVENTIONAL_MEMORY, EFI_BOOT_SERVICES_CODE/DATA, EFI_RUNTIME etc)
and thus confirm why the region isn't mapped.
Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prakhya(a)intel.com>
Cc: Ricardo Neri <ricardo.neri-calderon(a)linux.intel.com>
---
meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi_x86.cfg | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi_x86.cfg b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi_x86.cfg
index 918c0b7b6af4..18a1dea13c41 100644
--- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi_x86.cfg
+++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi_x86.cfg
@@ -1,3 +1,5 @@
# Enable EFI based configs that are common for x86 (32-bit) and x86-64
CONFIG_EARLY_PRINTK_EFI=y
CONFIG_ACPI_BGRT=y
+CONFIG_X86_PTDUMP_CORE=y
+CONFIG_EFI_PGT_DUMP=y
--
2.1.4
5 years, 5 months
[PATCH V2 2/3] linux-yocto-efi-test: Enable CONFIG_EFI_TEST for all architectures
by Sai Praneeth Prakhya
From: Sai Praneeth <sai.praneeth.prakhya(a)intel.com>
EFI_TEST is a kernel config option used by FWTS to run efi test suites
(like uefirttime, uefiauthvar etc). This config option allows FWTS to
directly invoke efi_runtime_services() rather than kernel invoking them.
Please visit https://patchwork.kernel.org/patch/9323781/ for more
information on EFI_TEST. FWTS also ships a legacy driver used in the
absence of EFI_TEST. But we prefer EFI_TEST to legacy driver as the
former has been upstreamed and hence is closely observed by community.
FWTS is also smart enough to choose among the drivers and hence there
should not be any issues.
Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prakhya(a)intel.com>
Cc: Ricardo Neri <ricardo.neri-calderon(a)linux.intel.com>
Cc: Naresh Bhat <naresh.bhat(a)linaro.org>
---
meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg
index 6226055a751f..45a455b29489 100644
--- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg
+++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg
@@ -1,3 +1,4 @@
# Enable EFI based configs that are common across all architectures
CONFIG_EFI_STUB=y
CONFIG_EFIVAR_FS=y
+CONFIG_EFI_TEST=y
--
2.1.4
5 years, 5 months
[PATCH V2 1/3] linux-yocto-efi-test: Make efi.cfg file common across all architectures
by Sai Praneeth Prakhya
From: Sai Praneeth <sai.praneeth.prakhya(a)intel.com>
Presently, efi.cfg file is exclusive to x86 architecture, but let's make
it common across all architectures so that we could avoid duplication.
EFI config options specific to any architecture should live in
"efi_{arch}.cfg" file specific to that architecture.
Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prakhya(a)intel.com>
Cc: Ricardo Neri <ricardo.neri-calderon(a)linux.intel.com>
Cc: Naresh Bhat <naresh.bhat(a)linaro.org>
---
meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg | 3 +++
.../linux/linux-yocto-efi-test/qemux86-64/efi_x86-64.cfg | 2 ++
meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi.cfg | 6 ------
.../recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi_x86.cfg | 3 +++
meta-luv/recipes-kernel/linux/linux-yocto-efi-test_4.10.bb | 6 ++++--
5 files changed, 12 insertions(+), 8 deletions(-)
create mode 100644 meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg
create mode 100644 meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86-64/efi_x86-64.cfg
delete mode 100644 meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi.cfg
create mode 100644 meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi_x86.cfg
diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg
new file mode 100644
index 000000000000..6226055a751f
--- /dev/null
+++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg
@@ -0,0 +1,3 @@
+# Enable EFI based configs that are common across all architectures
+CONFIG_EFI_STUB=y
+CONFIG_EFIVAR_FS=y
diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86-64/efi_x86-64.cfg b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86-64/efi_x86-64.cfg
new file mode 100644
index 000000000000..9b3d8ce73656
--- /dev/null
+++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86-64/efi_x86-64.cfg
@@ -0,0 +1,2 @@
+# Enable EFI based configs that are specific to x86-64
+CONFIG_EFI_WARN_ON_ILLEGAL_ACCESSES=y
diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi.cfg b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi.cfg
deleted file mode 100644
index 5e90d0d68e39..000000000000
--- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-# Enable certain EFI based configs
-CONFIG_EFI_STUB=y
-CONFIG_EFIVAR_FS=y
-CONFIG_EARLY_PRINTK_EFI=y
-CONFIG_ACPI_BGRT=y
-CONFIG_EFI_WARN_ON_ILLEGAL_ACCESSES=y
diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi_x86.cfg b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi_x86.cfg
new file mode 100644
index 000000000000..918c0b7b6af4
--- /dev/null
+++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/qemux86/efi_x86.cfg
@@ -0,0 +1,3 @@
+# Enable EFI based configs that are common for x86 (32-bit) and x86-64
+CONFIG_EARLY_PRINTK_EFI=y
+CONFIG_ACPI_BGRT=y
diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_4.10.bb b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_4.10.bb
index dffe85bc13f4..916cc71bd4dd 100644
--- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_4.10.bb
+++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_4.10.bb
@@ -83,7 +83,7 @@ COMMON_CFG_x86 = " file://${MACHINE}/defconfig \
file://qemux86/display.cfg \
file://qemux86/ram_block.cfg \
file://qemux86/debug.cfg \
- file://qemux86/efi.cfg \
+ file://qemux86/efi_x86.cfg \
file://qemux86/usb_hcd.cfg \
file://qemux86/network.cfg \
file://qemux86/network-devices.cfg \
@@ -95,15 +95,17 @@ COMMON_CFG_x86 = " file://${MACHINE}/defconfig \
SRC_URI_append_x86 = "${COMMON_CFG_x86}"
SRC_URI_append_x86-64 = "${COMMON_CFG_x86} \
file://qemux86/ndctl.cfg \
+ file://qemux86-64/efi_x86-64.cfg \
"
SRC_URI_append_aarch64 = " file://qemuarm64/defconfig \
file://qemuarm64/network.cfg \
file://qemuarm64/sbbr.cfg \
"
-# pstore and highmem configs are common to all the supported architectures
+# pstore, highmem and efi configs are common to all the supported architectures
SRC_URI_append = "file://pstore.cfg \
file://highmem.cfg \
+ file://efi.cfg \
"
# Override KCONFIG_MODE to '--alldefconfig' from the default '--allnoconfig'
--
2.1.4
5 years, 5 months