[PATCH v1 00/15] luvOS support for ARM64 architecture
by Naresh Bhat
After merging luv-dizzy-wip branch many patches are dropped out compared to RFC series.
This is a very minimal set of patches which will help to build and run luvOS distribution
for aarch64 architecture. With this set of patches you can build and run the luvOS distribution
for genericarmv8 machine. I have verified the luvOS distribution on ARM64 FVP base model.
The flow of luvOS distribution on arm64 architecture
<boot> -> <upstream GRUB> -> leg-kernel with ACPI support -> efivarfs -> fwts -> kernel-efi-warnings -> <DONE>
More information and logs visit linaro - https://wiki.linaro.org/LEG/Engineering/luvOS
git repository - http://git.linaro.org/people/naresh.bhat/luvOS/luv-yocto.git/shortlog/ref...
Changes since V0:[RFC series]
- Add all the comments from Matt Fleming on RFC series
- Rebase all patches on top of v1.2-rc3-dizzy
- cherry pick few patches from upstream
- Drop all the unnecessary aarch64 patches
Naresh
Graeme Gregory (1):
fwts : Upgrade to version 14.12.00 with ARM64 support
Mark Hatle (1):
gcc: Disable aarch64 multilib options
Naresh Bhat (13):
aarch64: Add genericarmv8 machine configuration file
Build/Fix: Build fix of syslinux for aarch64
leg-kernel: Add leg-kernel recipe
core-image-efi-initramfs: Skip some packages for aarch64
grub-native: Add grub native recipe
grub: Update grub git recipe
bootimg: Add support to install Image
grub-efi: Add to support to install grubaa64 efi
luv-efi: Update luv efi bbclass aarch64
syslinux: Fix aarch64 build is not able to find isolinux.bin
luv-live-image : correct the aarch64 cmdline
fwts : Use json header files from sysroot
luv-efi: Define bootimg dependency
meta-luv/classes/luv-efi.bbclass | 67 +-
.../fwts/fwts/Use-sysroot-path-for-json.patch | 48 +
meta-luv/recipes-core/fwts/fwts_git.bb | 18 +-
.../images/core-image-efi-initramfs.bb | 7 +-
meta-luv/recipes-core/images/luv-live-image.bb | 1 +
meta-luv/recipes-kernel/linux/leg-kernel/defconfig | 2426 ++++++++++++++++++++
meta-luv/recipes-kernel/linux/leg-kernel_git.bb | 24 +
meta/classes/bootimg.bbclass | 12 +-
meta/classes/grub-efi.bbclass | 3 +
meta/conf/machine/genericarmv8.conf | 16 +
meta/conf/machine/genericarmv8b.conf | 6 +
meta/conf/machine/include/arm64/arch-armv8.inc | 20 +
meta/recipes-bsp/grub/grub-native_git.bb | 61 +
meta/recipes-bsp/grub/grub_git.bb | 29 +-
meta/recipes-devtools/gcc/gcc-4.9.inc | 1 +
.../gcc/gcc-4.9/0057-aarch64-config.patch | 32 +
meta/recipes-devtools/syslinux/syslinux_6.01.bb | 15 +-
17 files changed, 2749 insertions(+), 37 deletions(-)
create mode 100644 meta-luv/recipes-core/fwts/fwts/Use-sysroot-path-for-json.patch
create mode 100644 meta-luv/recipes-kernel/linux/leg-kernel/defconfig
create mode 100644 meta-luv/recipes-kernel/linux/leg-kernel_git.bb
create mode 100644 meta/conf/machine/genericarmv8.conf
create mode 100644 meta/conf/machine/genericarmv8b.conf
create mode 100644 meta/conf/machine/include/arm64/arch-armv8.inc
create mode 100644 meta/recipes-bsp/grub/grub-native_git.bb
create mode 100644 meta/recipes-devtools/gcc/gcc-4.9/0057-aarch64-config.patch
--
1.7.9.5
7 years, 2 months
[PULL REQUEST] Merge the dizzy branch into LUV v1.2-rc3
by Neri, Ricardo
Hi Matt,
This pull request is to merge the dizzy branch of the Yocto Project into
LUV v1.2-rc3.
This is a massive merge. Hence, I would recommend to build LUV from
scracth by either using a new repo or deleting/renaming the tmp/ and
sstate-cache directories. Also, I would recommend to not reuse the
local.conf file, due to incompatible changes. For instance, the meta-hob
layer has been removed and references to it in local.conf will cause
build errors.
Using this branch I am able to successfully build a live image and run
all the test suites we support at the moment.
Below I provide the usual pull-request info minus the shortlog and
summary of changed files. This is to not make this e-mail enormous
(shortlog and changes statistics are ~12k lines). I can still submit it
if you think it is useful to have a registry of it.
Thanks and BR,
Ricardo.
The following changes since commit
458e341a142ea95b0f9b9f0370210713730d19d4:
LUV v1.2-rc3 (2015-01-18 09:56:10 -0800)
are available in the git repository at:
https://github.com/ricardon/luv-yocto.git tags/v1.2-rc3-dizzy
for you to fetch changes up to f1078f18e7fabbaae75b6dd6b49db5d9b4683368:
Merge branch 'master' into ricardo/luv-dizzy (2015-01-26 18:45:27
-0800)
----------------------------------------------------------------
Merge the Yocto Project's dizzy branch into LUV v1.2-rc3
----------------------------------------------------------------
7 years, 3 months
[PATCH 0/4] Fixes and improvements for FWTS
by Ricardo Neri
This submission provides two fixes and two improvements for FWTS.
The intention is to have the fixes merged into v1.1-rc3 as they don't imply
changes in the behavior of FWTS but fixes bugs related on how the efi_runtime
module reads/ writes the userspace memory: (1) illegal memory dereferences of
userspace memory and (2) potentially writing beyond the limits of the variable
name buffer.
The last two patches could be merged until v1.1-rc4 to allow more discussion.
Patch (3) limits the number of bytes copies from the userspace when reading the
variable name. This change will cause getnextvariable_test4 to fail in many
UEFI firmware implementations. The reason is that the firmware does not
necessarily checks the size of the variable name buffer before testing for
a null string (name[0] == '\0') when starting to traverse the list of variable
names.
Patch (4) removes the limit of variable names of 1024 bytes. The UEFI spec does
not provide a limit for the lenght of the variable name.
Thanks and BR,
Ricardo
Ricardo Neri (4):
fwts: Do not access userspace addresses from efi_runtime module
fwts: Prevent dangerous copy to user when getting variables
fwts: get_nextvariable: copy only the needed name bytes
fwts: uefirtvariable: allow larger sizes for variable names
...fi_runtime-donot-dereference-user-address.patch | 301 ++++++++++++++++++++-
...-limit-the-amount-of-data-copied-to-users.patch | 95 +++++++
...-get_nextvariable-copy-only-the-needed-na.patch | 41 +++
...able-allow-large-sizes-for-variable-names.patch | 245 +++++++++++++++++
meta-luv/recipes-core/fwts/fwts_git.bb | 3 +
5 files changed, 684 insertions(+), 1 deletion(-)
create mode 100644 meta-luv/recipes-core/fwts/fwts/0009-efi_runtime-limit-the-amount-of-data-copied-to-users.patch
create mode 100644 meta-luv/recipes-core/fwts/fwts/0010-efi_runtime-get_nextvariable-copy-only-the-needed-na.patch
create mode 100644 meta-luv/recipes-core/fwts/fwts/0011-uefirtvariable-allow-large-sizes-for-variable-names.patch
--
1.9.1
7 years, 3 months
Rebase Yocto project on dizzy project
by Naresh Bhat
Hi Ricardo/Matt,
I tested your branch
https://github.com/ricardon/luv-yocto.git ricardo/luv-dizzy-wip
on x86-64 Virtualbox and It is working fine.
I assume it makes more sense to merge your branch in first place and
rebase all my work (i.e. porting luvOS for arm64 ) on top of it.
So I expect your branch/patches get merged in next release.
Let me know your inputs.
Thanks and Regards
-Naresh Bhat
7 years, 3 months
[RFC PATCH 00/23] luvOS support for AARCH64 architecture
by Naresh Bhat
Hi,
These set of patches will support to build and run the luvOS distribution for genericarmv8 machine. I have verified the luvOS on ARM64 FVP base model. Here is a flow on genericarmv8 machine
<boot> -> <latest grub loader from upstream> -> leg-kernel with ACPI support -> efivarfs -> fwts -> kernel-efi-warnings -> <DONE>
More information and logs visit linaro - https://wiki.linaro.org/LEG/Engineering/luvOS
-Naresh
Graeme Gregory (2):
grub_git : fix ${S} references to ${B}
fwts : Upgrade to version 14.12.00 with ARM64 support
Naresh Bhat (21):
aarch64: Add genericarmv8 machine configuration file
Build/Fix: Build fix of syslinux for aarch64
grub-efi-native: Add grub efi native git recipe
leg-kernel: Add leg-kernel recipe
core-image-efi-initramfs: Skip some packages for aarch64
qemu: skip ovmf dependency for aarch64
dtc: Update SRC_URI variable
grub: Add grub git recipe
eglibc-locale: Remove empty locale directory
gcc 4.8: use /lib/ for AArch64
coreutils: build fix factor for build failure on aarch64
bootimg: Add support to install Image
grub-efi: Add to support to install grubaa64 efi
luv-efi: Update luv efi bbclass aarch64
luv-live-image: Add grub dependency
syslinux: Fix aarch64 build is not able to find isolinux.bin
luv-live-image : correct the aarch64 cmdline
core-image-efi: Add core image support for aarch64
fwts : Use json header files from sysroot
binutils: Add linaro binutils 2.24
tcmode-default: Use linaro binutils 2.24
meta-luv/classes/luv-efi.bbclass | 56 +-
meta-luv/recipes-bsp/grub/files/cfg | 2 +
.../recipes-bsp/grub/files/disable-help2man.patch | 12 +
meta-luv/recipes-bsp/grub/grub-efi-native_git.bb | 79 +
.../recipes-bsp/grub/grub-efi-native_git.bbappend | 9 +
meta-luv/recipes-bsp/grub/grub_git.bb | 74 +
meta-luv/recipes-bsp/grub/grub_git.bbappend | 16 +
.../recipes-core/coreutils/coreutils_8.21.bbappend | 3 +
.../coreutils/files/fix-longlong.patch | 45 +
.../fwts/fwts/Use-sysroot-path-for-json.patch | 48 +
meta-luv/recipes-core/fwts/fwts_git.bb | 15 +-
.../images/core-image-efi-initramfs.bb | 8 +
meta-luv/recipes-core/images/core-image-efi.bb | 7 +
meta-luv/recipes-core/images/luv-live-image.bb | 3 +-
.../binutils-cross-canadian_linaro-2.24.bb | 3 +
.../binutils/binutils-cross_linaro-2.24.bb | 3 +
.../binutils/binutils-crosssdk_linaro-2.24.bb | 13 +
.../binutils/binutils-linaro-2.24.inc | 46 +
.../0001-AArch64-Define-LP64-BE-linker-name.patch | 18 +
.../0001-AArch64-Define-LP64-LE-loader-name.patch | 20 +
...ild-breakage-from-bfd_set_section_vma-cha.patch | 31 +
.../binutils-linaro-2.24/binutils-armv5e.patch | 25 +
.../binutils-linaro-2.24/binutils-poison.patch | 259 +
.../binutils-uclibc-100-uclibc-conf.patch | 40 +
...binutils-uclibc-300-001_ld_makefile_patch.patch | 55 +
...binutils-uclibc-300-006_better_file_error.patch | 45 +
...ils-uclibc-300-012_check_ldrunpath_length.patch | 49 +
.../binutils-uclibc-gas-needs-libm.patch | 38 +
.../binutils-uninitialised-warning.patch | 50 +
.../binutils-xlp-support.patch | 402 +
.../binutils-linaro-2.24/fix-pr15815.patch | 36 +
.../binutils-linaro-2.24/fix-pr16428.patch | 123 +
.../binutils-linaro-2.24/fix-pr16476.patch | 220 +
.../binutils/binutils-linaro-2.24/fix-pr2404.patch | 76 +
.../binutils-linaro-2.24/libiberty_path_fix.patch | 22 +
.../binutils-linaro-2.24/libtool-2.4-update.patch |19317 ++++++++++++++++++++
.../binutils-linaro-2.24/libtool-rpath-fix.patch | 39 +
.../mips64-default-ld-emulation.patch | 54 +
.../binutils-linaro-2.24/relocatable_sdk.patch | 49 +
.../replace_macros_with_static_inline.patch | 188 +
.../binutils/binutils_linaro-2.24.bb | 39 +
meta-luv/recipes-devtools/qemu/qemu_1.5.0.bbappend | 11 +-
meta-luv/recipes-kernel/linux/leg-kernel/defconfig | 2426 +++
meta-luv/recipes-kernel/linux/leg-kernel_git.bb | 24 +
meta/classes/bootimg.bbclass | 8 +-
meta/classes/grub-efi.bbclass | 3 +
meta/conf/distro/include/tcmode-default.inc | 2 +-
meta/conf/machine/genericarmv8.conf | 16 +
meta/conf/machine/genericarmv8b.conf | 6 +
meta/conf/machine/include/arm64/arch-armv8.inc | 20 +
meta/recipes-core/eglibc/eglibc-locale.inc | 3 +
meta/recipes-devtools/gcc/gcc-4.8.inc | 1 +
.../gcc/gcc-4.8/use-lib-for-aarch64.patch | 14 +
meta/recipes-devtools/syslinux/syslinux_6.01.bb | 15 +-
meta/recipes-kernel/dtc/dtc.inc | 2 +-
55 files changed, 24155 insertions(+), 33 deletions(-)
create mode 100644 meta-luv/recipes-bsp/grub/files/cfg
create mode 100644 meta-luv/recipes-bsp/grub/files/disable-help2man.patch
create mode 100644 meta-luv/recipes-bsp/grub/grub-efi-native_git.bb
create mode 100644 meta-luv/recipes-bsp/grub/grub-efi-native_git.bbappend
create mode 100644 meta-luv/recipes-bsp/grub/grub_git.bb
create mode 100644 meta-luv/recipes-bsp/grub/grub_git.bbappend
create mode 100644 meta-luv/recipes-core/coreutils/coreutils_8.21.bbappend
create mode 100644 meta-luv/recipes-core/coreutils/files/fix-longlong.patch
create mode 100644 meta-luv/recipes-core/fwts/fwts/Use-sysroot-path-for-json.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-cross-canadian_linaro-2.24.bb
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-cross_linaro-2.24.bb
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-crosssdk_linaro-2.24.bb
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24.inc
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/0001-AArch64-Define-LP64-BE-linker-name.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/0001-AArch64-Define-LP64-LE-loader-name.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/binutils-armv5e.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/binutils-poison.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/binutils-uclibc-100-uclibc-conf.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/binutils-uclibc-300-001_ld_makefile_patch.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/binutils-uclibc-300-006_better_file_error.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/binutils-uclibc-300-012_check_ldrunpath_length.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/binutils-uclibc-gas-needs-libm.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/binutils-uninitialised-warning.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/binutils-xlp-support.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/fix-pr15815.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/fix-pr16428.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/fix-pr16476.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/fix-pr2404.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/libiberty_path_fix.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/libtool-2.4-update.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/libtool-rpath-fix.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/mips64-default-ld-emulation.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/relocatable_sdk.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils-linaro-2.24/replace_macros_with_static_inline.patch
create mode 100644 meta-luv/recipes-devtools/binutils/binutils_linaro-2.24.bb
create mode 100644 meta-luv/recipes-kernel/linux/leg-kernel/defconfig
create mode 100644 meta-luv/recipes-kernel/linux/leg-kernel_git.bb
create mode 100644 meta/conf/machine/genericarmv8.conf
create mode 100644 meta/conf/machine/genericarmv8b.conf
create mode 100644 meta/conf/machine/include/arm64/arch-armv8.inc
create mode 100644 meta/recipes-devtools/gcc/gcc-4.8/use-lib-for-aarch64.patch
--
1.7.9.5
7 years, 3 months
Linux UEFI Validation Project v1.2-rc3 release
by Ricardo Neri
Hi,
On behalf of Matt Fleming, I am releasing the third candidate for v1.2.
You can pull it from here:
https://download.01.org/linux-uefi-validation/v1.2/luv-live-v1.2-rc3.tar.bz2
The signed sha256 checksum can be retrieved from here:
https://download.01.org/linux-uefi-validation/v1.2/sha256sums.asc
Please note that this contains the signed sha256 checksums for all the
release candidates of v1.2.
Changes in this release...
1. Documentation
Leona Cook has put together a good first start to the documentation of
LUV. The first piece of documentation that we have included is a getting
started guide that provides details on how to download LUV, boot a
system with it and a details about the directory structure of the test
report.
Our choice for documentation is the markdown language that is common on
many projects that put documentation in github. The choice was based on
the fact that i) if seen from the github website it presents a nice look
with different font sizes and weights and ii) it is human-readable in a
plain-text editor when viewed from the code repository.
2. Updates to FWTS
A good number of changes were made to the efi_runtime kernel module to
avoid accessing userspace memory from the kernel via dereferences to
structure members. Also, the limitation of 1024-bytes variable names was
removed from the UEFI runtime set/get variable tests as there is no
limit given by the UEFI specification on the length of the variable
name. Also, when copying the variable name string from the userspace, we
only copy whatever the userspace specify, and not the 1024-bytes buffer.
This is likely to cause failures in the getnextvariable_test4 on some
UEFI firmware implementations as the size of the buffer is not checked
properly before starting to traverse the list of variabless (more info
here: https://lists.01.org/pipermail/luv/2015-January/000226.html)
The shortlog looks like this,
L.S. Cook (2):
adding USB formatting tutorial
Delete getting-started-luv-project.txt
Leona (3):
markdown format version 0.1
markdown format version 0.2
modified as per Ricardo's suggestions
Matt Fleming (1):
Merge branch 'master' of git://github.com/indie/luv-yocto
Ricardo Neri (5):
fwts: Do not access userspace addresses from efi_runtime module
fwts: Prevent dangerous copy to user when getting variables
fwts: get_nextvariable: copy only the needed name bytes
fwts: uefirtvariable: allow larger sizes for variable names
LUV v1.2-rc3
Thanks and BR,
Ricardo Neri, Intel Open Source Technology Center
7 years, 3 months
[RESULTS][1.2-rc2] Dell Inspiron 5420
by Mateus Rodrigues Costa
I had to create a manual UEFI boot option this time too as the USB Storage
option failed with "Operating System Not Found". The two partitions were
available when choosing the device in the add boot option UI. No grub error
this time. Secure Boot is disabled and set to Custom Signatures, this may
explain some failures related to it.
Results attached.
--
Mateus Rodrigues Costa
7 years, 3 months
Re: [Luv] luvOS is booting on ARM64
by Naresh Bhat
On 15 January 2015 at 09:01, Ricardo Neri
<ricardo.neri-calderon(a)linux.intel.com> wrote:
> Hi Naresh,
> On Wed, 2015-01-14 at 00:01 +0530, Naresh Bhat wrote:
>> On 10 January 2015 at 10:13, Ricardo Neri
>> <ricardo.neri-calderon(a)linux.intel.com> wrote:
>> > On Tue, 2015-01-06 at 13:35 +0000, Matt Fleming wrote:
>> >> Yeah, we absolutely need to roll forward to a newer Poky version.
>> >>
>> >> Ricardo, what's the status of this task? Have you put the merge of a
>> >> newer Poky release on a branch somewhere?
>> >
>> > I have completed rebasing on the Yocto Project dizzy project. I am able
>> > to build an image and obtain test results. The only remaining issue that
>> > I face is with the splash screen no appearing. It must be a problem with
>> > psplash. I will share a branch early next week.
>> Ricardo, ping. I assume you must have completed the splash screen
>> issue..:) I appreciate if you share the status.
>
> I did resolve the problem with the psplash screen. I noticed that
> efivarfs does not always run.
>
> You can get a preview of the rebase in
>
> https://github.com/ricardon/luv-yocto.git ricardo/luv-dizzy-wip.
Thank you very much. Today is holiday for us due to some festival. I
will have a look into it tomorrow.
Regards
-Naresh
>
> I will keep you posted.
>
>>
>> Thanks and Regards
>> -Naresh
>
>
7 years, 4 months