You may want to take a look in Yocto; if you want a custom toolchain with GTK/Qt or other toolkit you wish can be made and you easily cross compile your app to run in your iMX28 board.
Take a look at https://community.freescale.com/docs/DOC-94023; this does not cover the toolchain building (and depending on your need you may need to prefer to contact someone to make a customized one for you) but it covers the basics to get Yocto running.
Regards,
Hi Otavio,
According to do experiment, get the touch misalignment result as above.
If possible cause by fsl BSP's ADC setting?
Thanks again.
Which kernel are you using: 2.6.35 or 3.8?
Linux imx28evk 2.6.35.3-10.12.01+yocto+gc0879e9
I've sent a 3.8 update to meta-fsl-arm and it includes a fix done by MarekVasut which fixes the offset problem we had. You may give it a try?
How to get it? Do repo sync to update?
I have applied it in master so you need to do a 'repo sync' and also change virtual/kernel to use linux-fslc.
Hi Otavio
I do the process as below, any miss plz correct
1. del gui tmp folder
2. git clone meta-fsl-arm and replace linux-fslc folder into sources folder
3. repo, bitbake fsl-image-gui.
Thanks your help again.
You're doing it wrong.
remove tmp dir than add to your local.conf file:
PREFERRED_PROVIDER_virtual/kernel = "linux-fslc"
Build the image.
:-) Simple :-)
Hi Otavio,
Reinstall Ubuntu 10.04 and add the local.conf file:
PREFERRED_PROVIDER_virtual/kernel = "linux-fslc"
Then bitbake fsl-image-gul.
Can't find out .sdcard file in image folder. What procedure I miss?
List local.conf content as below
*******************************************
MACHINE ??= 'imx28evk'
DISTRO ?= 'poky'
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES = "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
CONF_VERSION = "1"
BB_NUMBER_THREADS = '2'
PARALLEL_MAKE = '-j 1'
ACCEPT_FSL_EULA = "1"
INHERIT += 'rm_work'
PREFERRED_PROVIDER_virtual/kernel = "linux-fslc"
********************************
What image did you use for the build? I usually use core-image-base to check all is fine before to use a bigger image.
Hi Otavio,
My machine is iMX28EVK. But can't saw my machine in COMPATIBLE_MACHINE.
Is it the problem cause?
List linux-fslc_3.7.bb as below,
***************
# Copyright (C) 2012-2013 O.S. Systems Software LTDA.
# Released under the MIT license (see COPYING.MIT for the terms)
DESCRIPTION = "Linux mainline kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
DEPENDS += "lzop-native"
PROVIDES = "virtual/kernel linux-mainline"
inherit kernel
require recipes-kernel/linux/linux-dtb.inc
PV = "3.7+git${SRCPV}"
PR = "r4"
# patches-3.7
SRCREV = "626cacfad1430114464a20f8da32c5c6a6242c9c"
SRC_URI = "git://github.com/Freescale/linux-mainline.git \
\
file://defconfig"
S = "${WORKDIR}/git"
# We need to pass it as param since kernel might support more then one
# machine, with different entry points
EXTRA_OEMAKE += "LOADADDR=${UBOOT_ENTRYPOINT}"
COMPATIBLE_MACHINE = "(mxs|mx3|mx5|mx6)"
Your machine uses 'mxs' SoC so this is indeed compatible.
The fetch failure is a problem of github. I open issues with them from time to time about this and usually the fix it in a day :-(
I will report the same issue once again.
Hi Otavio,
After do this action, Still fail in perf.
Do you have any idea to remove this package?
List error message list below
***************
WARNING: Host distribution "Ubuntu 12.04.2 LTS" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |##########################################################################################################################| ETA: 00:00:00
Loaded 1614 entries from dependency cache.
Build Configuration:
BB_VERSION = "1.16.0"
TARGET_ARCH = "arm"
TARGET_OS = "linux-gnueabi"
MACHINE = "imx28evk"
DISTRO = "poky"
DISTRO_VERSION = "1.3.1"
TUNE_FEATURES = "armv5 dsp thumb arm926ejs"
TARGET_FPU = "soft"
meta
meta-yocto = "(nobranch):e2ef3200e61af33ec71e34fb7a67cbcdd68dc981"
meta-oe = "(nobranch):34e5537e67b655b8d2effbbecc207d88eea52b87"
meta-fsl-arm = "(nobranch):a0e486a76af5819ee76ac34e966feb72bd3c48bd"
meta-fsl-arm-extra = "(nobranch):09a2b5d29a82844c9ae79626ebffd4946893f24e"
meta-fsl-demos = "(nobranch):6dd73bd7f5581fff273d17032f5625efa901b6d7"
NOTE: Resolving any missing task queue dependencies
NOTE: multiple providers are available for jpeg (jpeg, libjpeg-turbo)
NOTE: consider defining a PREFERRED_PROVIDER entry to match jpeg
NOTE: multiple providers are available for jpeg-native (jpeg-native, libjpeg-turbo-native)
NOTE: consider defining a PREFERRED_PROVIDER entry to match jpeg-native
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Function failed: do_compile (see /home/thomas/Build/Yocto/otavio/tmp/work/imx28evk-poky-linux-gnueabi/perf-3.4-r5/temp/log.do_compile.23579 for further information)
ERROR: Logfile of failure stored in: /home/thomas/Build/Yocto/otavio/tmp/work/imx28evk-poky-linux-gnueabi/perf-3.4-r5/temp/log.do_compile.23579
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make -j 8 -C /home/thomas/Build/Yocto/otavio/tmp/sysroots/imx28evk/usr/src/kernel/tools/perf O=/home/thomas/Build/Yocto/otavio/tmp/work/imx28evk-poky-linux-gnueabi/perf-3.4-r5/perf-3.4 CROSS_COMPILE=arm-poky-linux-gnueabi- ARCH=arm CC=arm-poky-linux-gnueabi-gcc -march=armv5te -marm -mthumb-interwork -mtune=arm926ej-s --sysroot=/home/thomas/Build/Yocto/otavio/tmp/sysroots/imx28evk AR=arm-poky-linux-gnueabi-ar prefix=/usr NO_GTK2=1 NO_NEWT=1 NO_DWARF=1 NO_LIBPERL=1 NO_LIBPYTHON=1 all
| make: Entering directory `/home/thomas/Build/Yocto/otavio/tmp/sysroots/imx28evk/usr/src/kernel/tools/perf'
| Makefile:510: No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev
| Makefile:526: No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 0.99
| Makefile:581: No libaudit.h found, disables 'trace' tool, please install audit-libs-devel or libaudit-dev
| Makefile:686: Python support won't be built
| FLEX /home/thomas/Build/Yocto/otavio/tmp/work/imx28evk-poky-linux-gnueabi/perf-3.4-r5/perf-3.4/util/pmu-flex.c
| FLEX /home/thomas/Build/Yocto/otavio/tmp/work/imx28evk-poky-linux-gnueabi/perf-3.4-r5/perf-3.4/util/parse-events-flex.c
| GEN perf-archive
| make[1]: Entering directory `/home/thomas/Build/Yocto/otavio/tmp/sysroots/imx28evk/usr/src/kernel/tools/lib/traceevent'
| make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
| CC /home/thomas/Build/Yocto/otavio/tmp/work/imx28evk-poky-linux-gnueabi/perf-3.4-r5/perf-3.4/builtin-annotate.o
| CC /home/thomas/Build/Yocto/otavio/tmp/work/imx28evk-poky-linux-gnueabi/perf-3.4-r5/perf-3.4/builtin-bench.o
| CC /home/thomas/Build/Yocto/otavio/tmp/work/imx28evk-poky-linux-gnueabi/perf-3.4-r5/perf-3.4/bench/sched-messaging.o
| CC /home/thomas/Build/Yocto/otavio/tmp/work/imx28evk-poky-linux-gnueabi/perf-3.4-r5/perf-3.4/bench/sched-pipe.o
| CC /home/thomas/Build/Yocto/otavio/tmp/work/imx28evk-poky-linux-gnueabi/perf-3.4-r5/perf-3.4/bench/mem-memcpy.o
| cc1: error: include location "/usr/local/include" is unsafe for cross-compilation [-Werror=poison-system-directories]
| cc1: all warnings being treated as errors
| make[2]: *** [.event-parse.d] Error 1
| make[1]: *** [sub-make] Error 2
| make[1]: Leaving directory `/home/thomas/Build/Yocto/otavio/tmp/sysroots/imx28evk/usr/src/kernel/tools/lib/traceevent'
| make: *** [/home/thomas/Build/Yocto/otavio/tmp/work/imx28evk-poky-linux-gnueabi/perf-3.4-r5/perf-3.4/libtraceevent.a] Error 2
| make: *** Waiting for unfinished jobs....
| CC /home/thomas/Build/Yocto/otavio/tmp/work/imx28evk-poky-linux-gnueabi/perf-3.4-r5/perf-3.4/bench/mem-memset.o
| make: Leaving directory `/home/thomas/Build/Yocto/otavio/tmp/sysroots/imx28evk/usr/src/kernel/tools/perf'
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (see /home/thomas/Build/Yocto/otavio/tmp/work/imx28evk-poky-linux-gnueabi/perf-3.4-r5/temp/log.do_compile.23579 for further information)
ERROR: Task 3028 (/home/thomas/Build/Yocto/sources/poky/meta/recipes-kernel/perf/perf_3.4.bb, do_compile) failed with exit code '1'
WARNING: nbench-byte: No generic license file exists for: freely in any provider
WARNING: nbench-byte: No generic license file exists for: distributable in any provider
WARNING: iperf: No generic license file exists for: NewBSD in any provider
WARNING: iozone3: No generic license file exists for: iozone3 in any provider
WARNING: QA Issue: lmbench: Files/directories were installed but not shipped
Thomas
Humm
You seem to be running a up to date tree... could you please join the mailing list so more people can help you there? I need to gather more information from you to reproduce this. This is all better done in the mailing list.
Hi Otavio,
Build core-image-base and found error below
***
WARNING: Failed to fetch URL git://github.com/Freescale/linux-mainline.git, attempting MIRRORS if available
ERROR: Fetcher failure: Fetch command failed with exit code 128, output:
Cloning into bare repository '/home/mici/Build/Yocto/downloads//git2/github.com.Freescale.linux-mainline.git'...
fatal: read error: Connection reset by peer
fatal: early EOF
fatal: index-pack failed
ERROR: Function failed: Fetcher failure for URL: 'git://github.com/Freescale/linux-mainline.git'. Unable to fetch URL from any source.
ERROR: Logfile of failure stored in: /home/mici/Build/Yocto/FSL-Ker/tmp/work/imx28evk-poky-linux-gnueabi/linux-fslc-3.7+git1+626cacfad1430114464a20f8da32c5c6a6242c9c-r4/temp/log.do_fetch.32350
ERROR: Task 281 (/home/mici/Build/Yocto/sources/meta-fsl-arm/recipes-kernel/linux/linux-fslc_3.7.bb, do_fetch) failed with exit code '1'
***
Should I show any file for this check?
Thomas
Hi Otavio,
Even change to Ubuntu 12.10 and add "PREFERRED_PROVIDER_virtual/kernel = "linux-fslc"", problem exist still.
$bitbake core-image-minimal
Pseudo is not present but is required, building this first before the main build
NOTE: Error during finalise of /home/thomas/fsl-community-bsp/sources/poky/meta/recipes-core/images/core-image-minimal-mtdutils.bb
ERROR: ExpansionError during parsing /home/thomas/fsl-community-bsp/sources/poky/meta/recipes-core/images/core-image-minimal-mtdutils.bb: Failure expanding variable toolchain_create_sdk_version: ExpansionError: Failure expanding variable METADATA_REVISION, expression was ${@base_detect_revision(d)} which triggered exception OSError: [Errno 12] Cannot allocate memory
NOTE: Error during finalise of /home/thomas/fsl-community-bsp/sources/poky/meta/recipes-core/images/core-image-minimal.bb
ERROR: Command execution failed: Exited with 1
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
***********
Any idea for this?
I think it might be caused by the upgrade. It is not Yocto related (except by the amount of use of memory).
Return to Ubuntu 10.4.4, Got fail. Do it before. The build process is ok??
*****
bitbake fsl-image-test
Pseudo is not present but is required, building this first before the main build
Parsing recipes: 100% |#####################################################################################################################| Time: 00:12:44
Parsing of 1262 .bb files complete (0 cached, 1262 parsed). 1615 targets, 75 skipped, 0 masked, 0 errors.
Build Configuration:
BB_VERSION = "1.16.0"
TARGET_ARCH = "arm"
TARGET_OS = "linux-gnueabi"
MACHINE = "imx28evk"
DISTRO = "poky"
DISTRO_VERSION = "1.3"
TUNE_FEATURES = "armv5 dsp thumb arm926ejs"
TARGET_FPU = "soft"
meta
meta-yocto = "(nobranch):e89f812a0af56beda951c1dce6113a61d6db8cda"
meta-oe = "(nobranch):ba80b770c8ba6e38383b9ce142af68a8a6553f2e"
meta-fsl-arm = "(nobranch):869452daf4fe085d5013905f6a5a6584a0e3a56e"
meta-fsl-arm-extra = "(nobranch):09a2b5d29a82844c9ae79626ebffd4946893f24e"
meta-fsl-demos = "(nobranch):6dd73bd7f5581fff273d17032f5625efa901b6d7"
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Function failed: Unpack failure for URL: 'ftp://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz'. Unpack command PATH="/home/thomas/fsl-community-bsp/sources/poky/scripts/native-intercept:/home/thomas/fsl-community-bsp/sources/poky/scripts:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/bin/armv5te-linux:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/bin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/sbin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/bin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/sbin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux//bin:/home/thomas/fsl-community-bsp/sources/poky/bitbake/bin/:/home/thomas/fsl-community-bsp/sources/poky/bitbake/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" tar xz --no-same-owner -f /home/thomas/fsl-community-bsp/downloads/libtool-2.4.2.tar.gz failed with return value 2
ERROR: Logfile of failure stored in: /home/thomas/fsl-community-bsp/build/tmp/work/x86_64-linux/libtool-native-2.4.2-r5.0/temp/log.do_unpack.14225
Log data follows:
| DEBUG: Executing python function do_unpack
| DEBUG: Executing python function base_do_unpack
| NOTE: Unpacking /home/thomas/fsl-community-bsp/downloads/libtool-2.4.2.tar.gz to /home/thomas/fsl-community-bsp/build/tmp/work/x86_64-linux/libtool-native-2.4.2-r5.0/
|
| gzip: stdin: unexpected end of file
| tar: Child returned status 1
| tar: Exiting with failure status due to previous errors
| DEBUG: Python function base_do_unpack finished
| DEBUG: Python function do_unpack finished
| ERROR: Function failed: Unpack failure for URL: 'ftp://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz'. Unpack command PATH="/home/thomas/fsl-community-bsp/sources/poky/scripts/native-intercept:/home/thomas/fsl-community-bsp/sources/poky/scripts:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/bin/armv5te-linux:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/bin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/sbin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/bin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/sbin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux//bin:/home/thomas/fsl-community-bsp/sources/poky/bitbake/bin/:/home/thomas/fsl-community-bsp/sources/poky/bitbake/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" tar xz --no-same-owner -f /home/thomas/fsl-community-bsp/downloads/libtool-2.4.2.tar.gz failed with return value 2
ERROR: Task 28 (/home/thomas/fsl-community-bsp/sources/poky/meta/recipes-devtools/libtool/libtool-native_2.4.2.bb, do_unpack) failed with exit code '1'
NOTE: Tasks Summary: Attempted 33 tasks of which 0 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:
Summary: 1 task failed:
/home/thomas/fsl-community-bsp/sources/poky/meta/recipes-devtools/libtool/libtool-native_2.4.2.bb, do_unpack
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
Loading cache: 100% |#######################################################################################################################| ETA: 00:00:00
Loaded 1616 entries from dependency cache.
Build Configuration:
BB_VERSION = "1.16.0"
TARGET_ARCH = "arm"
TARGET_OS = "linux-gnueabi"
MACHINE = "imx28evk"
DISTRO = "poky"
DISTRO_VERSION = "1.3"
TUNE_FEATURES = "armv5 dsp thumb arm926ejs"
TARGET_FPU = "soft"
meta
meta-yocto = "(nobranch):e89f812a0af56beda951c1dce6113a61d6db8cda"
meta-oe = "(nobranch):ba80b770c8ba6e38383b9ce142af68a8a6553f2e"
meta-fsl-arm = "(nobranch):869452daf4fe085d5013905f6a5a6584a0e3a56e"
meta-fsl-arm-extra = "(nobranch):09a2b5d29a82844c9ae79626ebffd4946893f24e"
meta-fsl-demos = "(nobranch):6dd73bd7f5581fff273d17032f5625efa901b6d7"
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Function failed: Unpack failure for URL: 'ftp://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz'. Unpack command PATH="/home/thomas/fsl-community-bsp/sources/poky/scripts/native-intercept:/home/thomas/fsl-community-bsp/sources/poky/scripts:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/bin/armv5te-linux:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/bin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/sbin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/bin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/sbin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux//bin:/home/thomas/fsl-community-bsp/sources/poky/bitbake/bin/:/home/thomas/fsl-community-bsp/sources/poky/bitbake/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" tar xz --no-same-owner -f /home/thomas/fsl-community-bsp/downloads/libtool-2.4.2.tar.gz failed with return value 2
ERROR: Logfile of failure stored in: /home/thomas/fsl-community-bsp/build/tmp/work/x86_64-linux/libtool-native-2.4.2-r5.0/temp/log.do_unpack.18304
Log data follows:
| DEBUG: Executing python function do_unpack
| DEBUG: Executing python function base_do_unpack
| NOTE: Unpacking /home/thomas/fsl-community-bsp/downloads/libtool-2.4.2.tar.gz to /home/thomas/fsl-community-bsp/build/tmp/work/x86_64-linux/libtool-native-2.4.2-r5.0/
|
| gzip: stdin: unexpected end of file
| tar: Child returned status 1
| tar: Exiting with failure status due to previous errors
| DEBUG: Python function base_do_unpack finished
| DEBUG: Python function do_unpack finished
| ERROR: Function failed: Unpack failure for URL: 'ftp://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz'. Unpack command PATH="/home/thomas/fsl-community-bsp/sources/poky/scripts/native-intercept:/home/thomas/fsl-community-bsp/sources/poky/scripts:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/bin/armv5te-linux:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/bin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/sbin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/usr/bin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux/sbin:/home/thomas/fsl-community-bsp/build/tmp/sysroots/x86_64-linux//bin:/home/thomas/fsl-community-bsp/sources/poky/bitbake/bin/:/home/thomas/fsl-community-bsp/sources/poky/bitbake/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" tar xz --no-same-owner -f /home/thomas/fsl-community-bsp/downloads/libtool-2.4.2.tar.gz failed with return value 2
ERROR: Task 42 (/home/thomas/fsl-community-bsp/sources/poky/meta/recipes-devtools/libtool/libtool-native_2.4.2.bb, do_unpack) failed with exit code '1'
NOTE: Tasks Summary: Attempted 27 tasks of which 25 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:
Summary: 1 task failed:
/home/thomas/fsl-community-bsp/sources/poky/meta/recipes-devtools/libtool/libtool-native_2.4.2.bb, do_unpack
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
*******
You seem to have a corrupted file.
Thanks!
Got fatal error in build
******
$ bitbake core-image-minimal
WARNING: Host distribution "Ubuntu 12.04.2 LTS" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
NOTE: Error during finalise of /home/thomas/fsl-community-bsp/sources/meta-fsl-demos/recipes-qt/images/qte-in-use-image.bb
ERROR: ExpansionError during parsing /home/thomas/fsl-community-bsp/sources/meta-fsl-demos/recipes-qt/images/qte-in-use-image.bb: Failure expanding variable toolchain_create_sdk_version: ExpansionError: Failure expanding variable METADATA_REVISION, expression was ${@base_detect_revision(d)} which triggered exception OSError: [Errno 12] Cannot allocate memory
NOTE: Error during finalise of /home/thomas/fsl-community-bsp/sources/meta-fsl-demos/recipes-qt/images/qt-in-use-image.bb
ERROR: Command execution failed: Exited with 1
*******
Does it cause by Ubuntu kernel update?