[PATCH] luv-efi: Update AArch64 filename convention
by Naresh Bhat
The patch does the following,
1. Add a logic to decide GRUB_IMAGE name in grub_git recipe.
2. According to UEFI Specification section "3.5.1.1 Removable Media Boot Behavior"
To generate a file name when none is present in the FilePath, the firmware must
append a default file name in the form \EFI\BOOT\BOOT{machine type short-name}.EFI
where machine type short-name defines a PE32+ image format architecture. Each file
only contains one UEFI image type, and a system may support booting from one or
more images types. Table 12 lists the UEFI image types.
Table 12 UEFI Image Types
Architecture | File Name Convention |PE Executable Machine Name*
....
......
AArch32 | BOOTARM.EFI | 0x01c2
AArch64 | BOOTAA64.EFI | 0xAA64
Note: * The PE Executable machine type is contained in the machine field of the COFF
file header as defined in the Microsoft Portable Executable and Common Object File Format
Specification, Revision 6.0
Media may support multiple architectures by simply having a
\EFI\BOOT\BOOT{machine type short-name}.EFI file of each possible machine type.
Signed-off-by: Naresh Bhat <naresh.bhat(a)linaro.org>
---
meta-luv/classes/luv-efi.bbclass | 6 +++---
meta/classes/grub-efi.bbclass | 2 +-
meta/recipes-bsp/grub/grub_git.bb | 3 ++-
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/meta-luv/classes/luv-efi.bbclass b/meta-luv/classes/luv-efi.bbclass
index cd23e5e..b889ad7 100644
--- a/meta-luv/classes/luv-efi.bbclass
+++ b/meta-luv/classes/luv-efi.bbclass
@@ -60,8 +60,8 @@ efi_populate() {
# Install grub2 in EFI directory
if [ "${TARGET_ARCH}" = "aarch64" ]; then
- install -m 0644 ${DEPLOY_DIR_IMAGE}/grubaa64.efi ${DEST}${EFIDIR}
- echo "grubaa64.efi" > ${DEST}${EFIDIR}/startup.nsh
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/bootaa64.efi ${DEST}${EFIDIR}
+ echo "bootaa64.efi" > ${DEST}${EFIDIR}/startup.nsh
# TODO: need conditional signing; e.g., if (DISTRO_FEATURES contains secure_boot)
# shim bootloader does not seem to work with i386. Thus we don't use it for 32-bit
@@ -141,7 +141,7 @@ efi_iso_populate() {
cp -r $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
if [ "${TARGET_ARCH}" = "aarch64" ] ; then
- echo "grubaa64.efi" > ${EFIIMGDIR}/startup.nsh
+ echo "bootaa64.efi" > ${EFIIMGDIR}/startup.nsh
cp $iso_dir/Image ${EFIIMGDIR}
fi
if echo "${TARGET_ARCH}" | grep -q "i.86" || [ "${TARGET_ARCH}" = "x86_64" ]; then
diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass
index bbb3e65..05521f1 100644
--- a/meta/classes/grub-efi.bbclass
+++ b/meta/classes/grub-efi.bbclass
@@ -41,7 +41,7 @@ efi_populate() {
GRUB_IMAGE="bootx64.efi"
;;
aarch64 )
- GRUB_IMAGE="grubaa64.efi"
+ GRUB_IMAGE="bootaa64.efi"
;;
esac
diff --git a/meta/recipes-bsp/grub/grub_git.bb b/meta/recipes-bsp/grub/grub_git.bb
index 721c92d..a02bdd9 100644
--- a/meta/recipes-bsp/grub/grub_git.bb
+++ b/meta/recipes-bsp/grub/grub_git.bb
@@ -28,6 +28,8 @@ GRUBPLATFORM_arm = "uboot"
GRUBPLATFORM_aarch64 = "efi"
GRUBPLATFORM ??= "pc"
+GRUB_IMAGE = "${@base_conditional('TARGET_ARCH', 'aarch64', 'bootaa64.efi', 'bootarm.efi', d)}"
+
EXTRA_OECONF = "--with-platform=${GRUBPLATFORM} --disable-grub-mkfont --program-prefix="" \
--enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no"
@@ -54,7 +56,6 @@ do_install_append_class-target() {
}
GRUB_TARGET_aarch64 = "arm64"
-GRUB_IMAGE_aarch64 = "grubaa64.efi"
do_mkimage_class-native() {
:
--
1.7.9.5
6 years, 2 months
LUV on AARCH 64
by Meenakshi Aggarwal
Hi,
I am working on an ARM based AARCH64 board.
I downloaded "luv-live-v2.0_diskboot_x86_64.tar.bz2 (diskboot)" from below mentioned link
https://01.org/linux-uefi-validation/downloads
I am using UEFI shell based boot option.
When I try to run either bootx64.efi or grubx64.efi, I received following error:
FSOpen: Open '\EFI\BOOT\bootx64.efi' Success
FSOpen: Open '\EFI\BOOT\bootx64.efi' Success
FSOpen: Open '\EFI\BOOT\bootx64.efi' Success
FSOpen: Open '\EFI\BOOT\bootx64.efi' Success
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B CF3EDA00
Unloading driver at 0x00000000000
Command Error Status: Unsupported
Please tell if prebuilt images available on above link will work for ARM based boards or not?
Do I need to compile the source code for ARM architecture?
Thanks,
Meenakshi
6 years, 2 months
[RESEND PATCH v3] luv-live-image: Change partion scheme from MBR to GPT
by AJ James
The change will align to UEFI specs of having an EFI system partion
formatted to FAT and having a GPT type so that the firmware can find it.
Furthermore allow utilization of 128 bit UUID and additional partitions
and a larger range of size. These changes are in reference to
https://github.com/01org/luv-yocto/issues/4
Additionally switched from bytes to sectors for proper partition
sector alignment and moved the sectors and partition calculations
to variables allowing for easier changes in the future. Space was added
to account for the skipped sector at the beginning of the disk and
and a second skipped sector separating the two partitions for proper
alignment
(illustration provided below).
I also capitalized the volumes labels as bitbake reported Fat did
not work well with a lowercase naming scheme. Both the luv-results and
luv boot partitions will be FAT32.
Luv Live Image
<------------323488 Sectors------------>
<-32768S-> <-------284576S------->
________________________________________
|2| LUV |2| |2|
|0| RESULTS |0| LUV BOOT |0|
|4| Sectors |4| Sectors |4|
|8| 2048 - |8| 36864 - 321440 |8|
|S|__36184__|S|______________________|S|
First 2048 Sector is skipped
Second 2048 Sector is skipped between partitions for sector alignment.
Third and final 2048 Sector is added to end of image
GPT Advantages:
CRC32 checksums to detect corruption of header and partition table
GUID(UUIDs to identify partitions
64-bit LBA for storing sector numbers
Backup header and partition table at end of the disk aiding in recovery
UEFI Boot-loaders support GPT disks since GTP is a part of UEFI
specifications
and thus mandatory for UEFI boot.
May run into problems with BIOS because of the MBR dependencies.
Changes since v2:
1) Added description and illustration of partition layout
2) Added some snippets on the advantages of GPT
Changes since v1:
1) Removed leading and trailing spaces
2) Added more detail to commit message explaining the need for GPT,
Fat32 and extra space
3) Added more documentation on use of variables
4) Moved end statements to comply with 80 character line limit
5) Removed option to force Fat 32 format in bootimg class
6) Added option to copy bootimg to VFAT after forcing Fat 32 partition
7) Zeroed out beginning and ending partition tables
8) Removed extra space on Luv-Results folder
Signed-off-by: AJ James <aaron.k.james(a)linux.intel.com>
---
meta-luv/recipes-core/images/luv-live-image.bb | 55 +++++++++++++++++---------
1 file changed, 36 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 c7abe9eecaa9..cbae6094372c 100644
--- a/meta-luv/recipes-core/images/luv-live-image.bb
+++ b/meta-luv/recipes-core/images/luv-live-image.bb
@@ -4,13 +4,14 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d
DEPENDS_${PN} = "grub-efi bits"
HDDDIR = "${S}/hddimg"
-HDDIMG_ID = "423cc2c8"
-LABELS = "luv"
+HDDIMG_ID = "423CC2C8"
+LABELS = "LUV"
INITRD_IMAGE = "core-image-efi-initramfs"
INITRD = "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE}-${MACHINE}.cpio.gz"
MACHINE_FEATURES += "efi"
-APPEND = "crashkernel=256M console=ttyS0,115200 console=ttyPCH0,115200"
+APPEND = "debug crashkernel=256M console=ttyS0,115200 console=ttyPCH0,115200 ip=dhcp log_buf_len=1M"
+APPEND_netconsole = "luv_netconsole=10.11.12.13,64001"
APPEND_aarch64 = "crashkernel=256M console=ttyAMA0 uefi_debug acpi=force"
SPLASH_IMAGE = "blue-luv.jpg"
@@ -35,42 +36,58 @@ build_img() {
VFAT_RESULTS_SPACE=16777216
VFAT_RESULTS_BLOCKS=$(expr $VFAT_RESULTS_SPACE / 1024)
# TODO: do we need to dynamically generate the UUID?
- # For now, every time this UUID changes, the file etc/init.d/luv-test-manager
- # needs to be updated accordingly.
- VFAT_RESULTS_UUID=05d61523
- VFAT_RESULTS_LABEL="luv-results"
+ # For now, every time this UUID changes,
+ # the file etc/init.d/luv-test-manager needs to be updated accordingly.
+ VFAT_RESULTS_UUID=05D61523
+ VFAT_RESULTS_LABEL="LUV-RESULTS"
+ FATSIZE="-F32"
+ BLKSIZE=512
+ SECTOR=2048
+ # Extra space to account for skipped sectors used for disk alignment
+ EXTRA_SPACE=3145728
if [ -e ${VFAT_RESULTS} ]; then
rm ${VFAT_RESULTS}
fi
- mkdosfs -C ${VFAT_RESULTS} -S 512 -i ${VFAT_RESULTS_UUID} \
- -n ${VFAT_RESULTS_LABEL} $VFAT_RESULTS_BLOCKS
+ mkdosfs -v ${FATSIZE} -C ${VFAT_RESULTS} -S ${BLKSIZE} \
+ -i ${VFAT_RESULTS_UUID} -n ${VFAT_RESULTS_LABEL} ${VFAT_RESULTS_BLOCKS}
+
+ mkfs.vfat -v ${FATSIZE} -S ${BLKSIZE} -n ${LABELS} -i ${HDDIMG_ID} ${VFAT}
+ mcopy -i ${VFAT} -s ${HDDDIR}/* ::/
dd if=/dev/zero of=$IMG bs=512 count=1
VFAT_SIZE=$(du -L --apparent-size -bs $VFAT | cut -f 1)
VFAT_RESULTS_SIZE=$(du -L --apparent-size -bs $VFAT_RESULTS | cut -f 1)
- IMG_SIZE=$(expr $VFAT_SIZE + $VFAT_RESULTS_SIZE + 512)
+ # Create the size of the Luv image
+ IMG_SIZE=$(expr $VFAT_SIZE + $VFAT_RESULTS_SIZE + $EXTRA_SPACE)
- dd if=/dev/zero of=$IMG bs=1 seek=$IMG_SIZE count=0
+ # Convert partitions from bytes to sectors and set start/end for partitions
+ END_P1=$(expr $(expr $VFAT_RESULTS_SIZE / $BLKSIZE) + $SECTOR)
+
+ # Start second partition on the first sector after the first partition
+ START_P2=$(expr $END_P1 + $SECTOR)
+ END_P2=$(expr $(expr $VFAT_SIZE / $BLKSIZE) + $START_P2)
+ OFFSET=$(expr $START_P2)
- parted $IMG mklabel msdos
+ dd if=/dev/zero of=$IMG bs=1 seek=$IMG_SIZE count=0
+ parted -s $IMG mklabel gpt
- parted $IMG mkpart primary fat32 0% "${VFAT_RESULTS_SIZE}B"
+ # First partition for luv-results folder
+ parted $IMG unit s mkpart primary fat32 ${SECTOR} ${END_P1}
- # start second partition on the first sector after the first partition
- parted $IMG mkpart primary fat32 "$(expr $VFAT_RESULTS_SIZE + 512)B" \
- "$(expr $VFAT_SIZE + $VFAT_RESULTS_SIZE)B"
+ # Second partition for boot (luv) partition
+ parted $IMG unit s mkpart ESP fat32 ${START_P2} ${END_P2}
parted $IMG set 2 boot on
- dd conv=notrunc if=${VFAT_RESULTS} of=$IMG seek=1 bs=512
- dd if=${VFAT} of=$IMG seek=$(expr $(expr $VFAT_RESULTS_SIZE / 512) + 1) bs=512
+ dd if=${VFAT_RESULTS} of=$IMG conv=notrunc seek=${SECTOR} bs=512
-}
+ dd if=${VFAT} of=$IMG conv=notrunc seek=${OFFSET} bs=512
+}
python do_create_img() {
bb.build.exec_func('build_img', d)
}
--
1.9.1
6 years, 2 months
Re: [Luv] [PATCH core-image-efi-initramfs:] Enable curl, ssl and ssh support for LUV
by Neri, Ricardo
On Wed, 2016-04-20 at 05:00 -0700, Kanaka Juvva wrote:
> From: "kanakajuvva(a)gmail.com" <kanaka.d.juvva(a)linux.intel.com>
Why does this line keep coming?
>
> This patch enables curl, ssl and ssh features for LUV image. LUV telemetrics
> uses curl tool to talk to backend server.
Can you provide more details on how each of these components is used in
telemetrics?
>
> Signed-off-by: kanakajuvva(a)gmail.com <kanaka.d.juvva(a)linux.intel.com>
> ---
> meta-luv/recipes-core/images/core-image-efi-initramfs.bb | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb
> index 3dc6d6c..64ebbd2 100644
> --- a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb
> +++ b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb
> @@ -5,7 +5,7 @@ EFI tests."
> IMAGE_INSTALL = "\
> base-files base-passwd netbase udev sysvinit initscripts keymaps \
> kernel-image fwts bash coreutils gawk grep util-linux-agetty \
> - util-linux-mount util-linux-umount kmod sed tar net-tools \
> + util-linux-mount util-linux-umount kmod sed tar net-tools curl openssh openssl\
If I understand correctly, it should be enough to have curl and openssl.
What is the purpose of openssh?
Also, these dependencies would be better suited in the recipe that
actually use them. In other words, these dependencies should be
specified as
RDEPENDS_${PN} = "curl openssh openssl" in the recipe that actually use
them.
Thanks and BR,
Ricardo
> shadow util-linux procps efivarfs-test \
> psplash kernel-efi-warnings linux-firmware \
> "
6 years, 2 months
[PATCH] [luv-yocto]v3 luv-live-image: Change partion scheme from MBR to GPT
by AJ James
The change will align to UEFI specs of having an EFI system partion
formatted to FAT and having a GPT type so that the firmware can find it.
Furthermore allow utilization of 128 bit UUID and additional partitions
and
a larger range of size. These changes are in reference to
https://github.com/01org/luv-yocto/issues/4
Additionally switched from bytes to sectors for proper partition
sector alignment and moved the sectors and partition calculations
to variables allowing for easier changes in the future. Space was added
to account for the skipped sector at the beginning of the disk and
and a second skipped sector separating the two partitions for proper
alignment
(illustration provided below).
I also capitalized the volumes labels as bitbake reported Fat did
not work well with a lowercase naming scheme. Both the luv-results and
luv boot partitions will be FAT32.
Luv Live Image
<------------323488 Sectors------------>
<-32768S-> <-------284576S------->
________________________________________
|2| LUV |2| |2|
|0| RESULTS |0| LUV BOOT |0|
|4| Sectors |4| Sectors |4|
|8| 2048 - |8| 36864 - 321440 |8|
|S|__36184__|S|______________________|S|
First 2048 Sector is skipped
Second 2048 Sector is skipped between partitions for sector alignment.
Third is added to end of image
GPT Advantages:
CRC32 checksums to detect corruption of header and partition table
GUID(UUIDs to identify partitions
64-bit LBA for storing sector numbers
Backup header and partition table at end of the disk aiding in recovery
UEFI Boot-loaders support GPT disks since GTP is a part of UEFI
specifications
and thus mandatory for UEFI boot.
May run into problems with BIOS because of the MBR dependencies.
Changes since v2:
1) Added description and illustration of partition layout
2) Added some snippets on the advantages of GPT
Changes since v1:
1) Removed leading and trailing spaces
2) Added more detail to commit message explaining the need for GPT,
Fat32
and extra space
3) Added more documentation on use of variables
4) Moved end statements to comply with 80 character line limit
5) Removed option to force Fat 32 format in bootimg class
6) Added option to copy bootimg to VFAT after forcing Fat 32 partition
7) Zeroed out beginning and ending partition tables
8) Removed extra space on Luv-Results folder
Signed-Signed-off-by: AJ James <aaron.k.james(a)linux.intel.com>
---
meta-luv/recipes-core/images/luv-live-image.bb | 1 -
1 file changed, 1 deletion(-)
diff --git a/meta-luv/recipes-core/images/luv-live-image.bb b/meta-luv/recipes-core/images/luv-live-image.bb
index b6591639b77a..f235f3aec7ae 100644
--- a/meta-luv/recipes-core/images/luv-live-image.bb
+++ b/meta-luv/recipes-core/images/luv-live-image.bb
@@ -70,7 +70,6 @@ build_img() {
# Start second partition on the first sector after the first partition
START_P2=$(expr $END_P1 + $SECTOR)
END_P2=$(expr $(expr $VFAT_SIZE / $BLKSIZE) + $START_P2)
- END_IMG=$(expr $(expr $IMG_SIZE / $BLKSIZE) - 34)
OFFSET=$(expr $START_P2)
dd if=/dev/zero of=$IMG bs=1 seek=$IMG_SIZE count=0
--
1.9.1
6 years, 2 months
[PATCH V2 0/4] Update NDCTL version
by Megha Dey
From: Megha Dey <megha.dey(a)linux.intel.com>
The NDCTL library has recently been updated to version 52. This patchset
updates the SRCREV variable in the ndctl recipe to make sure LUV uses the
latest available version of NDCTL.
Also, the NDCTL recipe needs to include the PV variable to reflect its
version. The variable can be set as follows:
PV = "v52+git${SRCPV}"
This is because the latest version of NDCTL is v52.
Having the version in the recipe is useful to know quickly what LUV
ships. It is also useful for our automated build infrastructure to
obtain the version of our packages programmatically.
With version 52, on Debian and Ubuntu autogen.sh fails because:
./git-version: 37: ./git-version: Bad substitution
Hence we have shifted from sh to bash.
Lastly, the asciidoc package is very large and since LUV is an automated
tool to run tests, we dont have a command line to do a 'man ndctl'. Thus,
we can disable the documentation to be included in the ndctl package.
Users can get the necessary information for the ndctl homepage
Megha Dey (4):
ndctl : bump to latest version(v52)
ndctl : Include package version in the recipe
ndctl: fix build where /bin/sh is not a link to bash
ndctl : Disable building the documentation
...uild-on-systems-where-bin-sh-is-not-a-lin.patch | 27 ++++++++++++
...-ndctl-Disable-building-the-documentation.patch | 49 ++++++++++++++++++++++
meta-luv/recipes-core/ndctl/ndctl_git.bb | 8 +++-
3 files changed, 82 insertions(+), 2 deletions(-)
create mode 100644 meta-luv/recipes-core/ndctl/ndctl/0001-ndctl-fix-build-on-systems-where-bin-sh-is-not-a-lin.patch
create mode 100644 meta-luv/recipes-core/ndctl/ndctl/0002-ndctl-Disable-building-the-documentation.patch
--
1.9.1
6 years, 2 months
[PATCH 1/4] linux-yocto-efi-test: Update recipe for Linux v4.5
by Megha Dey
From: Megha Dey <megha.dey(a)linux.intel.com>
Update LINUX_VERSION, SRC_REV and recipe name for Linux v4.5.
Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
---
.../linux/linux-yocto-efi-test_4.4.bb | 134 ---------------------
.../linux/linux-yocto-efi-test_4.5.bb | 134 +++++++++++++++++++++
2 files changed, 134 insertions(+), 134 deletions(-)
delete mode 100644 meta-luv/recipes-kernel/linux/linux-yocto-efi-test_4.4.bb
create mode 100644 meta-luv/recipes-kernel/linux/linux-yocto-efi-test_4.5.bb
diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_4.4.bb b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_4.4.bb
deleted file mode 100644
index 2a10a3c..0000000
--- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_4.4.bb
+++ /dev/null
@@ -1,134 +0,0 @@
-# linux-yocto-custom.bb:
-#
-# An example kernel recipe that uses the linux-yocto and oe-core
-# kernel classes to apply a subset of yocto kernel management to git
-# managed kernel repositories.
-#
-# To use linux-yocto-custom in your layer, create a
-# linux-yocto-custom.bbappend file containing at least the following
-# lines:
-#
-# FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-# COMPATIBLE_MACHINE_yourmachine = "yourmachine"
-#
-# You must also provide a Linux kernel configuration. The most direct
-# method is to copy your .config to files/defconfig in your layer,
-# in the same directory as the bbappend and add file://defconfig to
-# your SRC_URI.
-#
-# To use the yocto kernel tooling to generate a BSP configuration
-# using modular configuration fragments, see the yocto-bsp and
-# yocto-kernel tools documentation.
-#
-# Warning:
-#
-# Building this example without providing a defconfig or BSP
-# configuration will result in build or boot errors. This is not a
-# bug.
-#
-#
-# Notes:
-#
-# patches: patches can be merged into to the source git tree itself,
-# added via the SRC_URI, or controlled via a BSP
-# configuration.
-#
-# defconfig: When a defconfig is provided, the linux-yocto configuration
-# uses the filename as a trigger to use a 'allnoconfig' baseline
-# before merging the defconfig into the build.
-#
-# If the defconfig file was created with make_savedefconfig,
-# not all options are specified, and should be restored with their
-# defaults, not set to 'n'. To properly expand a defconfig like
-# this, specify: KCONFIG_MODE="--alldefconfig" in the kernel
-# recipe.
-#
-# example configuration addition:
-# SRC_URI += "file://smp.cfg"
-# example patch addition (for kernel v3.4 only):
-# SRC_URI += "file://0001-linux-version-tweak.patch
-# example feature addition (for kernel v3.4 only):
-# SRC_URI += "file://feature.scc"
-#
-
-KBRANCH="master"
-inherit kernel
-require recipes-kernel/linux/linux-yocto.inc
-
-# Override SRC_URI in a bbappend file to point at a different source
-# tree if you do not want to build from Linus' tree.
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol..."
-
-# Detect illegal access to UEFI Boot Services memory regions.
-SRC_URI += "file://0001-Add-function-to-fixup-page-faults-in-BOOT_SERVICES_-.patch \
- file://0002-efi-allow-efi_mem_desc_lookup-find-EFI_BOOT_SERVICES.patch \
- file://0003-x86-efi-Fixup-faults-from-UEFI-firmware.patch \
- file://0004-x86-efi-Introduce-EFI_BOOT_SERVICES_WARN.patch \
- "
-
-# Add the defconfig from v4.4 kernel and the configuration x86 fragments
-SRC_URI_append_x86 += "file://defconfig \
- file://modules.cfg \
- file://display.cfg \
- file://ram_block.cfg \
- file://debug.cfg \
- file://efi.cfg \
- file://usb_hcd.cfg \
- file://ndctl.cfg \
- file://network.cfg \
- file://network-devices.cfg \
- "
-
-# Add the defconfig from v4.4 kernel and the configuration x86-64 fragments
-SRC_URI_append_x86-64 += "file://defconfig \
- file://modules.cfg \
- file://display.cfg \
- file://ram_block.cfg \
- file://debug.cfg \
- file://efi.cfg \
- file://usb_hcd.cfg \
- file://ndctl.cfg \
- file://network.cfg \
- file://network-devices.cfg \
- "
-
-# Add the defconfig from v4.4 kernel and the configuration arm64 fragments
-SRC_URI_append_aarch64 += "file://${MACHINE}/defconfig \
- file://${MACHINE}/acpi.cfg \
- file://${MACHINE}/network.cfg \
- "
-
-# Override KCONFIG_MODE to '--alldefconfig' from the default '--allnoconfig'
-KCONFIG_MODE = '--alldefconfig'
-LINUX_VERSION ?= "4.4"
-LINUX_VERSION_EXTENSION ?= "-efitest"
-
-# Override SRCREV to point to a different commit in a bbappend file to
-# build a different release of the Linux kernel.
-# tag: v3.4 76e10d158efb6d4516018846f60c2ab5501900bc
-SRCREV = "afd2ff9b7e1b367172f18ba7f693dfb62bdcb2dc"
-
-PR = "r5"
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-# Override COMPATIBLE_MACHINE to include your machine in a bbappend
-# file. Leaving it empty here ensures an early explicit build failure.
-COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm64"
-
-do_compile_kernelmodules_append() {
- if [ "${TARGET_ARCH}" = "x86_64" ]; then
- oe_runmake -C ${B} M=${S}/tools/testing/nvdimm/
- fi
-}
-
-do_install_append() {
- if [ "${TARGET_ARCH}" = "x86_64" ]; then
- oe_runmake DEPMOD=echo INSTALL_MOD_PATH=${D} \
- -C ${B} M=${S}/tools/testing/nvdimm modules_install
- # There are 2 copies of the NVDIMM modules which are built. This is a
- # temporary fix to make sure the correct set of modules are used.
- rm -rf ${D}/lib/modules/4.4.0-yocto-standard/kernel/drivers/nvdimm/
- cp ${D}/lib/modules/4.4.0-yocto-standard/extra/nfit.ko \
- ${D}/lib/modules/4.4.0-yocto-standard/kernel/drivers/acpi/
- fi
-}
diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_4.5.bb b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_4.5.bb
new file mode 100644
index 0000000..471aa2a
--- /dev/null
+++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_4.5.bb
@@ -0,0 +1,134 @@
+# linux-yocto-custom.bb:
+#
+# An example kernel recipe that uses the linux-yocto and oe-core
+# kernel classes to apply a subset of yocto kernel management to git
+# managed kernel repositories.
+#
+# To use linux-yocto-custom in your layer, create a
+# linux-yocto-custom.bbappend file containing at least the following
+# lines:
+#
+# FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+# COMPATIBLE_MACHINE_yourmachine = "yourmachine"
+#
+# You must also provide a Linux kernel configuration. The most direct
+# method is to copy your .config to files/defconfig in your layer,
+# in the same directory as the bbappend and add file://defconfig to
+# your SRC_URI.
+#
+# To use the yocto kernel tooling to generate a BSP configuration
+# using modular configuration fragments, see the yocto-bsp and
+# yocto-kernel tools documentation.
+#
+# Warning:
+#
+# Building this example without providing a defconfig or BSP
+# configuration will result in build or boot errors. This is not a
+# bug.
+#
+#
+# Notes:
+#
+# patches: patches can be merged into to the source git tree itself,
+# added via the SRC_URI, or controlled via a BSP
+# configuration.
+#
+# defconfig: When a defconfig is provided, the linux-yocto configuration
+# uses the filename as a trigger to use a 'allnoconfig' baseline
+# before merging the defconfig into the build.
+#
+# If the defconfig file was created with make_savedefconfig,
+# not all options are specified, and should be restored with their
+# defaults, not set to 'n'. To properly expand a defconfig like
+# this, specify: KCONFIG_MODE="--alldefconfig" in the kernel
+# recipe.
+#
+# example configuration addition:
+# SRC_URI += "file://smp.cfg"
+# example patch addition (for kernel v3.4 only):
+# SRC_URI += "file://0001-linux-version-tweak.patch
+# example feature addition (for kernel v3.4 only):
+# SRC_URI += "file://feature.scc"
+#
+
+KBRANCH="master"
+inherit kernel
+require recipes-kernel/linux/linux-yocto.inc
+
+# Override SRC_URI in a bbappend file to point at a different source
+# tree if you do not want to build from Linus' tree.
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol..."
+
+# Detect illegal access to UEFI Boot Services memory regions.
+SRC_URI += "file://0001-Add-function-to-fixup-page-faults-in-BOOT_SERVICES_-.patch \
+ file://0002-efi-allow-efi_mem_desc_lookup-find-EFI_BOOT_SERVICES.patch \
+ file://0003-x86-efi-Fixup-faults-from-UEFI-firmware.patch \
+ file://0004-x86-efi-Introduce-EFI_BOOT_SERVICES_WARN.patch \
+ "
+
+# Add the defconfig from v4.5 kernel and the configuration x86 fragments
+SRC_URI_append_x86 += "file://defconfig \
+ file://modules.cfg \
+ file://display.cfg \
+ file://ram_block.cfg \
+ file://debug.cfg \
+ file://efi.cfg \
+ file://usb_hcd.cfg \
+ file://ndctl.cfg \
+ file://network.cfg \
+ file://network-devices.cfg \
+ "
+
+# Add the defconfig from v4.4 kernel and the configuration x86-64 fragments
+SRC_URI_append_x86-64 += "file://defconfig \
+ file://modules.cfg \
+ file://display.cfg \
+ file://ram_block.cfg \
+ file://debug.cfg \
+ file://efi.cfg \
+ file://usb_hcd.cfg \
+ file://ndctl.cfg \
+ file://network.cfg \
+ file://network-devices.cfg \
+ "
+
+# Add the defconfig from v4.4 kernel and the configuration arm64 fragments
+SRC_URI_append_aarch64 += "file://${MACHINE}/defconfig \
+ file://${MACHINE}/acpi.cfg \
+ file://${MACHINE}/network.cfg \
+ "
+
+# Override KCONFIG_MODE to '--alldefconfig' from the default '--allnoconfig'
+KCONFIG_MODE = '--alldefconfig'
+LINUX_VERSION ?= "4.5"
+LINUX_VERSION_EXTENSION ?= "-efitest"
+
+# Override SRCREV to point to a different commit in a bbappend file to
+# build a different release of the Linux kernel.
+# tag: v4.5 b562e44f507e863c6792946e4e1b1449fbbac85d
+SRCREV = "b562e44f507e863c6792946e4e1b1449fbbac85d"
+
+PR = "r5"
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+# Override COMPATIBLE_MACHINE to include your machine in a bbappend
+# file. Leaving it empty here ensures an early explicit build failure.
+COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm64"
+
+do_compile_kernelmodules_append() {
+ if [ "${TARGET_ARCH}" = "x86_64" ]; then
+ oe_runmake -C ${B} M=${S}/tools/testing/nvdimm/
+ fi
+}
+
+do_install_append() {
+ if [ "${TARGET_ARCH}" = "x86_64" ]; then
+ oe_runmake DEPMOD=echo INSTALL_MOD_PATH=${D} \
+ -C ${B} M=${S}/tools/testing/nvdimm modules_install
+ # There are 2 copies of the NVDIMM modules which are built. This is a
+ # temporary fix to make sure the correct set of modules are used.
+ rm -rf ${D}/lib/modules/${LINUX_VERSION}.0-yocto-standard/kernel/drivers/nvdimm/
+ cp ${D}/lib/modules/${LINUX_VERSION}.0-yocto-standard/extra/nfit.ko \
+ ${D}/lib/modules/${LINUX_VERSION}.0-yocto-standard/kernel/drivers/acpi/
+ fi
+}
--
1.9.1
6 years, 2 months
[PATCH 2/2] linux-yocto-efi-test : Update linux-libc-headers
by Megha Dey
From: Megha Dey <megha.dey(a)linux.intel.com>
Currently, the latest poky repo uses the 4.4 linux-libc-headers.
Since we are updating the kernel LUV uses to v4.5, it is imperative
that we update the linux-libc-headers as well.
Changes V1->V2
Give a relative path to the linux-libc-header files location.
Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
---
meta-luv/conf/distro/luv.conf | 2 +-
.../recipes-kernel/linux-libc-headers/linux-libc-headers_4.5.bb | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
create mode 100644 meta-luv/recipes-kernel/linux-libc-headers/linux-libc-headers_4.5.bb
diff --git a/meta-luv/conf/distro/luv.conf b/meta-luv/conf/distro/luv.conf
index 43de84a..fb1ae53 100644
--- a/meta-luv/conf/distro/luv.conf
+++ b/meta-luv/conf/distro/luv.conf
@@ -4,7 +4,7 @@ DISTRO_VERSION = "2.0-dev"
TCLIBCAPPEND = ""
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-efi-test"
-LINUXLIBCVERSION = "4.4"
+LINUXLIBCVERSION = "4.5"
LAYER_CONF_VERSION ?= "6"
diff --git a/meta-luv/recipes-kernel/linux-libc-headers/linux-libc-headers_4.5.bb b/meta-luv/recipes-kernel/linux-libc-headers/linux-libc-headers_4.5.bb
new file mode 100644
index 0000000..616fef1
--- /dev/null
+++ b/meta-luv/recipes-kernel/linux-libc-headers/linux-libc-headers_4.5.bb
@@ -0,0 +1,6 @@
+require recipes-kernel/linux-libc-headers/linux-libc-headers.inc
+
+FILESEXTRAPATHS_prepend :="../../../meta/recipes-kernel/linux-libc-headers:"
+
+SRC_URI[md5sum] = "a60d48eee08ec0536d5efb17ca819aef"
+SRC_URI[sha256sum] = "a40defb401e01b37d6b8c8ad5c1bbab665be6ac6310cdeed59950c96b31a519c"
--
1.9.1
6 years, 2 months
[PATCH 4/4] ndctl : Include package version in the recipe
by Megha Dey
From: Megha Dey <megha.dey(a)linux.intel.com>
The NDCTL recipe needs to include the PV variable to reflect its
version. Currently, NDCTL v52 is the latest version.
Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
---
meta-luv/recipes-core/ndctl/ndctl_git.bb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta-luv/recipes-core/ndctl/ndctl_git.bb b/meta-luv/recipes-core/ndctl/ndctl_git.bb
index 2f8065c..3eae201 100644
--- a/meta-luv/recipes-core/ndctl/ndctl_git.bb
+++ b/meta-luv/recipes-core/ndctl/ndctl_git.bb
@@ -11,6 +11,8 @@ HOMEPAGE = "https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=e66651809cac5da60c8b80e9e4e79e08"
+PV = "v52+git${SRCPV}"
+
inherit autotools-brokensep luv-test
inherit pkgconfig
inherit module-base
--
1.9.1
6 years, 2 months
[PATCH 3/4] ndctl : bump to latest version(v52)
by Megha Dey
From: Megha Dey <megha.dey(a)linux.intel.com>
NDCTL is now in v52. Updating the SRCREV accordingly.
Signed-off-by: Megha Dey <megha.dey(a)linux.intel.com>
---
meta-luv/recipes-core/ndctl/ndctl_git.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-luv/recipes-core/ndctl/ndctl_git.bb b/meta-luv/recipes-core/ndctl/ndctl_git.bb
index 8ec3580..2f8065c 100644
--- a/meta-luv/recipes-core/ndctl/ndctl_git.bb
+++ b/meta-luv/recipes-core/ndctl/ndctl_git.bb
@@ -18,7 +18,7 @@ inherit module-base
SRC_URI += "git://github.com/pmem/ndctl.git"
SRC_URI += "file://luv-parser-ndctl"
SRC_URI += "file://ndctl_runner"
-SRCREV = "1d97adbd2c728cf137d8fcd08a206a92451a39bb"
+SRCREV = "21cc75427cf53ec827ad0051915747d8868f273f"
S = "${WORKDIR}/git"
DEPENDS = "virtual/kernel kmod udev"
--
1.9.1
6 years, 2 months