* [PATCH 0/1 V2] Fix KERNEL_ALT_IMAGETYPE deploy
@ 2014-07-16 18:42 Yang Shi
2014-07-16 18:42 ` [PATCH 1/1] oe-core/kernel: Deploy KERNEL_ALT_IMAGETYPE and check it for uImage Yang Shi
2014-08-20 21:25 ` [PATCH 0/1 V2] Fix KERNEL_ALT_IMAGETYPE deploy Yang Shi
0 siblings, 2 replies; 5+ messages in thread
From: Yang Shi @ 2014-07-16 18:42 UTC (permalink / raw)
To: bruce.ashfield, openembedded-core
When trying to bootup qemuarma9 BSP with uImage, I ran into the below issues:
1. Need u-boot-mkimage-native depend.
kernel.bbclass just checks if KERNEL_IMAGETYPE is uImage, if it is the depend will be added. But, it doesn't check KERNEL_ALT_IMAGETYPE.
In the patch, the check for alt image is added.
2. UBOOT_LOADADDRESS is passed to uboot-mkimage in do_uboot_mkimage. But, this function just check if KERNEL_IMAGETYPE is uImage or not. It doesn't check KERNEL_ALT_IMAGETYPE.
The patch adds the check.
3. KERNEL_ALT_IMAGETYPE is not deployed at all, although it is built. So, we need install, deploy and package the atl image.
Changelog V1 -> V2:
Check if KERNEL_ALT_IMAGETYPE is empty or not. If KERNEL_ALT_IMAGETYPE is empty, just skip alt image install and deploy, otherwise it is failed to install/deploy
because KERNEL_ALT_OUTPUT doesn't point to a real kernel image file.
Yang
The following changes since commit 68824d9b8f6e290da078383316b3f4b732585f2b:
u-boot-fw-utils: install config file (2014-06-25 13:51:49 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib yshi/kernel_altimg_v2
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=yshi/kernel_altimg_v2
for you to fetch changes up to a4d3971a48d0fb490537d755a19740cb25ea5f4c:
oe-core/kernel: Deploy KERNEL_ALT_IMAGETYPE and check it for uImage (2014-07-16 11:36:12 -0700)
----------------------------------------------------------------
Yang Shi (1):
oe-core/kernel: Deploy KERNEL_ALT_IMAGETYPE and check it for uImage
meta/classes/kernel.bbclass | 38 +++++++++++++++++++++++++++++++++++---
1 file changed, 35 insertions(+), 3 deletions(-)
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH 1/1] oe-core/kernel: Deploy KERNEL_ALT_IMAGETYPE and check it for uImage 2014-07-16 18:42 [PATCH 0/1 V2] Fix KERNEL_ALT_IMAGETYPE deploy Yang Shi @ 2014-07-16 18:42 ` Yang Shi 2014-08-29 0:34 ` Saul Wold 2014-08-20 21:25 ` [PATCH 0/1 V2] Fix KERNEL_ALT_IMAGETYPE deploy Yang Shi 1 sibling, 1 reply; 5+ messages in thread From: Yang Shi @ 2014-07-16 18:42 UTC (permalink / raw) To: bruce.ashfield, openembedded-core Install, deploy and package KERNEL_ALT_IMAGETYPE and create kernel-alt-image package. Check if KERNEL_ALT_IMAGETYPE is empty or not. If KERNEL_ALT_IMAGETYPE is empty, just skip alt image install and deploy, otherwise it is failed to install/deploy because KERNEL_ALT_OUTPUT doesn't point to a real kernel image file. Check if KERNEL_ALT_IMAGETYPE is uImage in do_uboot_mkimage and adding u-boot-mkimage-native depend if it is uImage. Signed-off-by: Yang Shi <yang.shi@windriver.com> --- meta/classes/kernel.bbclass | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 6ed1cb7..1520079 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -13,7 +13,8 @@ INITRAMFS_IMAGE_BUNDLE ?= "" python __anonymous () { kerneltype = d.getVar('KERNEL_IMAGETYPE', True) or '' - if kerneltype == 'uImage': + kernelalttype = d.getVar('KERNEL_ALT_IMAGETYPE', True) or '' + if kerneltype == 'uImage' or kernelalttype == 'uImage': depends = d.getVar("DEPENDS", True) depends = "%s u-boot-mkimage-native" % depends d.setVar("DEPENDS", depends) @@ -74,6 +75,7 @@ KERNEL_EXTRA_ARGS ?= "" EXTRA_OEMAKE = "" KERNEL_ALT_IMAGETYPE ??= "" +KERNEL_ALT_OUTPUT ?= "arch/${ARCH}/boot/${KERNEL_ALT_IMAGETYPE}" # Define where the kernel headers are installed on the target as well as where # they are staged. @@ -200,6 +202,9 @@ kernel_do_install() { install -d ${D}/${KERNEL_IMAGEDEST} install -d ${D}/boot install -m 0644 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION} + if [ "${KERNEL_ALT_IMAGETYPE}" != "" ]; then + install -m 0644 ${KERNEL_ALT_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_ALT_IMAGETYPE}-${KERNEL_VERSION} + fi install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION} install -m 0644 .config ${D}/boot/config-${KERNEL_VERSION} install -m 0644 vmlinux ${D}/boot/vmlinux-${KERNEL_VERSION} @@ -225,6 +230,7 @@ kernel_do_install() { # echo "${KERNEL_IMAGE_BASE_NAME}" >$kerneldir/kernel-image-name + echo "${KERNEL_ALT_IMAGE_BASE_NAME}" >$kerneldir/kernel-alt-image-name # # Copy the entire source tree. In case an external build directory is @@ -245,6 +251,9 @@ kernel_do_install() { # the same file. If hardlinking is used, they will be the same, and there's # no need to install. ! [ ${KERNEL_OUTPUT} -ef $kerneldir/${KERNEL_IMAGETYPE} ] && install -m 0644 ${KERNEL_OUTPUT} $kerneldir/${KERNEL_IMAGETYPE} + if [ "${KERNEL_ALT_IMAGETYPE}" != "" ]; then + ! [ ${KERNEL_ALT_OUTPUT} -ef $kerneldir/${KERNEL_ALT_IMAGETYPE} ] && install -m 0644 ${KERNEL_ALT_OUTPUT} $kerneldir/${KERNEL_ALT_IMAGETYPE} + fi install -m 0644 System.map $kerneldir/System.map-${KERNEL_VERSION} # Dummy Makefile so the clean below works @@ -342,10 +351,11 @@ EXPORT_FUNCTIONS do_compile do_install do_configure # kernel-base becomes kernel-${KERNEL_VERSION} # kernel-image becomes kernel-image-${KERNEL_VERISON} -PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev kernel-modules" +PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-alt-image kernel-dev kernel-modules" FILES_${PN} = "" FILES_kernel-base = "/lib/modules/${KERNEL_VERSION}/modules.order /lib/modules/${KERNEL_VERSION}/modules.builtin" FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*" +FILES_kernel-alt-image = "/boot/${KERNEL_ALT_IMAGETYPE}*" FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH}" FILES_kernel-vmlinux = "/boot/vmlinux*" FILES_kernel-modules = "" @@ -354,11 +364,13 @@ RDEPENDS_kernel = "kernel-base" # not wanted in images as standard RDEPENDS_kernel-base ?= "kernel-image" PKG_kernel-image = "kernel-image-${@legitimize_package_name('${KERNEL_VERSION}')}" +PKG_kernel-alt-image = "kernel-alt-image-${@legitimize_package_name('${KERNEL_VERSION}')}" PKG_kernel-base = "kernel-${@legitimize_package_name('${KERNEL_VERSION}')}" RPROVIDES_kernel-base += "kernel-${KERNEL_VERSION}" ALLOW_EMPTY_kernel = "1" ALLOW_EMPTY_kernel-base = "1" ALLOW_EMPTY_kernel-image = "1" +ALLOW_EMPTY_kernel-alt-image = "1" ALLOW_EMPTY_kernel-modules = "1" DESCRIPTION_kernel-modules = "Kernel modules meta package" @@ -381,6 +393,14 @@ pkg_postrm_kernel-image () { update-alternatives --remove ${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE}-${KERNEL_VERSION} || true } +pkg_postinst_kernel-alt-image () { + update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_ALT_IMAGETYPE} ${KERNEL_ALT_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_ALT_IMAGETYPE}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true +} + +pkg_postrm_kernel-alt-image () { + update-alternatives --remove ${KERNEL_ALT_IMAGETYPE} ${KERNEL_ALT_IMAGETYPE}-${KERNEL_VERSION} || true +} + PACKAGESPLITFUNCS_prepend = "split_kernel_packages " python split_kernel_packages () { @@ -437,6 +457,10 @@ KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PKGE}-${PKGV}-${PKGR}-${MACHINE # Don't include the DATETIME variable in the sstate package signatures KERNEL_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME" KERNEL_IMAGE_SYMLINK_NAME ?= "${KERNEL_IMAGETYPE}-${MACHINE}" +KERNEL_ALT_IMAGE_BASE_NAME ?= "${KERNEL_ALT_IMAGETYPE}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" +# Don't include the DATETIME variable in the sstate package signatures +KERNEL_ALT_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME" +KERNEL_ALT_IMAGE_SYMLINK_NAME ?= "${KERNEL_ALT_IMAGETYPE}-${MACHINE}" MODULE_IMAGE_BASE_NAME ?= "modules-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" MODULE_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME" MODULE_TARBALL_BASE_NAME ?= "${MODULE_IMAGE_BASE_NAME}.tgz" @@ -445,7 +469,7 @@ MODULE_TARBALL_SYMLINK_NAME ?= "modules-${MACHINE}.tgz" MODULE_TARBALL_DEPLOY ?= "1" do_uboot_mkimage() { - if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then + if test "x${KERNEL_IMAGETYPE}" = "xuImage" or "x${KERNEL_ALT_IMAGETYPE}" = "xuImage"; then if test "x${KEEPUIMAGE}" != "xyes" ; then ENTRYPOINT=${UBOOT_ENTRYPOINT} if test -n "${UBOOT_ENTRYSYMBOL}"; then @@ -471,6 +495,9 @@ addtask uboot_mkimage before do_install after do_compile kernel_do_deploy() { install -m 0644 ${KERNEL_OUTPUT} ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin + if [ "${KERNEL_ALT_IMAGETYPE}" != "" ]; then + install -m 0644 ${KERNEL_ALT_OUTPUT} ${DEPLOYDIR}/${KERNEL_ALT_IMAGE_BASE_NAME}.bin + fi if [ ${MODULE_TARBALL_DEPLOY} = "1" ] && (grep -q -i -e '^CONFIG_MODULES=y$' .config); then mkdir -p ${D}/lib tar -cvzf ${DEPLOYDIR}/${MODULE_TARBALL_BASE_NAME} -C ${D} lib @@ -480,6 +507,11 @@ kernel_do_deploy() { ln -sf ${KERNEL_IMAGE_BASE_NAME}.bin ${DEPLOYDIR}/${KERNEL_IMAGE_SYMLINK_NAME}.bin ln -sf ${KERNEL_IMAGE_BASE_NAME}.bin ${DEPLOYDIR}/${KERNEL_IMAGETYPE} + if [ "${KERNEL_ALT_IMAGETYPE}" != "" ]; then + ln -sf ${KERNEL_ALT_IMAGE_BASE_NAME}.bin ${DEPLOYDIR}/${KERNEL_ALT_IMAGE_SYMLINK_NAME}.bin + ln -sf ${KERNEL_ALT_IMAGE_BASE_NAME}.bin ${DEPLOYDIR}/${KERNEL_ALT_IMAGETYPE} + fi + cp ${COREBASE}/meta/files/deploydir_readme.txt ${DEPLOYDIR}/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt cd ${B} -- 1.9.2 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] oe-core/kernel: Deploy KERNEL_ALT_IMAGETYPE and check it for uImage 2014-07-16 18:42 ` [PATCH 1/1] oe-core/kernel: Deploy KERNEL_ALT_IMAGETYPE and check it for uImage Yang Shi @ 2014-08-29 0:34 ` Saul Wold 0 siblings, 0 replies; 5+ messages in thread From: Saul Wold @ 2014-08-29 0:34 UTC (permalink / raw) To: Yang Shi, bruce.ashfield, openembedded-core On 07/16/2014 11:42 AM, Yang Shi wrote: > Install, deploy and package KERNEL_ALT_IMAGETYPE and create kernel-alt-image > package. > > Check if KERNEL_ALT_IMAGETYPE is empty or not. If KERNEL_ALT_IMAGETYPE is empty, > just skip alt image install and deploy, otherwise it is failed to install/deploy > because KERNEL_ALT_OUTPUT doesn't point to a real kernel image file. > > Check if KERNEL_ALT_IMAGETYPE is uImage in do_uboot_mkimage and adding > u-boot-mkimage-native depend if it is uImage. > > Signed-off-by: Yang Shi <yang.shi@windriver.com> > --- > meta/classes/kernel.bbclass | 38 +++++++++++++++++++++++++++++++++++--- > 1 file changed, 35 insertions(+), 3 deletions(-) > Seems this patch will need to be rebased to master, can you please re-submit. Thanks Sau! > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass > index 6ed1cb7..1520079 100644 > --- a/meta/classes/kernel.bbclass > +++ b/meta/classes/kernel.bbclass > @@ -13,7 +13,8 @@ INITRAMFS_IMAGE_BUNDLE ?= "" > > python __anonymous () { > kerneltype = d.getVar('KERNEL_IMAGETYPE', True) or '' > - if kerneltype == 'uImage': > + kernelalttype = d.getVar('KERNEL_ALT_IMAGETYPE', True) or '' > + if kerneltype == 'uImage' or kernelalttype == 'uImage': > depends = d.getVar("DEPENDS", True) > depends = "%s u-boot-mkimage-native" % depends > d.setVar("DEPENDS", depends) > @@ -74,6 +75,7 @@ KERNEL_EXTRA_ARGS ?= "" > EXTRA_OEMAKE = "" > > KERNEL_ALT_IMAGETYPE ??= "" > +KERNEL_ALT_OUTPUT ?= "arch/${ARCH}/boot/${KERNEL_ALT_IMAGETYPE}" > > # Define where the kernel headers are installed on the target as well as where > # they are staged. > @@ -200,6 +202,9 @@ kernel_do_install() { > install -d ${D}/${KERNEL_IMAGEDEST} > install -d ${D}/boot > install -m 0644 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION} > + if [ "${KERNEL_ALT_IMAGETYPE}" != "" ]; then > + install -m 0644 ${KERNEL_ALT_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_ALT_IMAGETYPE}-${KERNEL_VERSION} > + fi > install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION} > install -m 0644 .config ${D}/boot/config-${KERNEL_VERSION} > install -m 0644 vmlinux ${D}/boot/vmlinux-${KERNEL_VERSION} > @@ -225,6 +230,7 @@ kernel_do_install() { > # > > echo "${KERNEL_IMAGE_BASE_NAME}" >$kerneldir/kernel-image-name > + echo "${KERNEL_ALT_IMAGE_BASE_NAME}" >$kerneldir/kernel-alt-image-name > > # > # Copy the entire source tree. In case an external build directory is > @@ -245,6 +251,9 @@ kernel_do_install() { > # the same file. If hardlinking is used, they will be the same, and there's > # no need to install. > ! [ ${KERNEL_OUTPUT} -ef $kerneldir/${KERNEL_IMAGETYPE} ] && install -m 0644 ${KERNEL_OUTPUT} $kerneldir/${KERNEL_IMAGETYPE} > + if [ "${KERNEL_ALT_IMAGETYPE}" != "" ]; then > + ! [ ${KERNEL_ALT_OUTPUT} -ef $kerneldir/${KERNEL_ALT_IMAGETYPE} ] && install -m 0644 ${KERNEL_ALT_OUTPUT} $kerneldir/${KERNEL_ALT_IMAGETYPE} > + fi > install -m 0644 System.map $kerneldir/System.map-${KERNEL_VERSION} > > # Dummy Makefile so the clean below works > @@ -342,10 +351,11 @@ EXPORT_FUNCTIONS do_compile do_install do_configure > > # kernel-base becomes kernel-${KERNEL_VERSION} > # kernel-image becomes kernel-image-${KERNEL_VERISON} > -PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev kernel-modules" > +PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-alt-image kernel-dev kernel-modules" > FILES_${PN} = "" > FILES_kernel-base = "/lib/modules/${KERNEL_VERSION}/modules.order /lib/modules/${KERNEL_VERSION}/modules.builtin" > FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*" > +FILES_kernel-alt-image = "/boot/${KERNEL_ALT_IMAGETYPE}*" > FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH}" > FILES_kernel-vmlinux = "/boot/vmlinux*" > FILES_kernel-modules = "" > @@ -354,11 +364,13 @@ RDEPENDS_kernel = "kernel-base" > # not wanted in images as standard > RDEPENDS_kernel-base ?= "kernel-image" > PKG_kernel-image = "kernel-image-${@legitimize_package_name('${KERNEL_VERSION}')}" > +PKG_kernel-alt-image = "kernel-alt-image-${@legitimize_package_name('${KERNEL_VERSION}')}" > PKG_kernel-base = "kernel-${@legitimize_package_name('${KERNEL_VERSION}')}" > RPROVIDES_kernel-base += "kernel-${KERNEL_VERSION}" > ALLOW_EMPTY_kernel = "1" > ALLOW_EMPTY_kernel-base = "1" > ALLOW_EMPTY_kernel-image = "1" > +ALLOW_EMPTY_kernel-alt-image = "1" > ALLOW_EMPTY_kernel-modules = "1" > DESCRIPTION_kernel-modules = "Kernel modules meta package" > > @@ -381,6 +393,14 @@ pkg_postrm_kernel-image () { > update-alternatives --remove ${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE}-${KERNEL_VERSION} || true > } > > +pkg_postinst_kernel-alt-image () { > + update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_ALT_IMAGETYPE} ${KERNEL_ALT_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_ALT_IMAGETYPE}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true > +} > + > +pkg_postrm_kernel-alt-image () { > + update-alternatives --remove ${KERNEL_ALT_IMAGETYPE} ${KERNEL_ALT_IMAGETYPE}-${KERNEL_VERSION} || true > +} > + > PACKAGESPLITFUNCS_prepend = "split_kernel_packages " > > python split_kernel_packages () { > @@ -437,6 +457,10 @@ KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PKGE}-${PKGV}-${PKGR}-${MACHINE > # Don't include the DATETIME variable in the sstate package signatures > KERNEL_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME" > KERNEL_IMAGE_SYMLINK_NAME ?= "${KERNEL_IMAGETYPE}-${MACHINE}" > +KERNEL_ALT_IMAGE_BASE_NAME ?= "${KERNEL_ALT_IMAGETYPE}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" > +# Don't include the DATETIME variable in the sstate package signatures > +KERNEL_ALT_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME" > +KERNEL_ALT_IMAGE_SYMLINK_NAME ?= "${KERNEL_ALT_IMAGETYPE}-${MACHINE}" > MODULE_IMAGE_BASE_NAME ?= "modules-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" > MODULE_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME" > MODULE_TARBALL_BASE_NAME ?= "${MODULE_IMAGE_BASE_NAME}.tgz" > @@ -445,7 +469,7 @@ MODULE_TARBALL_SYMLINK_NAME ?= "modules-${MACHINE}.tgz" > MODULE_TARBALL_DEPLOY ?= "1" > > do_uboot_mkimage() { > - if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then > + if test "x${KERNEL_IMAGETYPE}" = "xuImage" or "x${KERNEL_ALT_IMAGETYPE}" = "xuImage"; then > if test "x${KEEPUIMAGE}" != "xyes" ; then > ENTRYPOINT=${UBOOT_ENTRYPOINT} > if test -n "${UBOOT_ENTRYSYMBOL}"; then > @@ -471,6 +495,9 @@ addtask uboot_mkimage before do_install after do_compile > > kernel_do_deploy() { > install -m 0644 ${KERNEL_OUTPUT} ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin > + if [ "${KERNEL_ALT_IMAGETYPE}" != "" ]; then > + install -m 0644 ${KERNEL_ALT_OUTPUT} ${DEPLOYDIR}/${KERNEL_ALT_IMAGE_BASE_NAME}.bin > + fi > if [ ${MODULE_TARBALL_DEPLOY} = "1" ] && (grep -q -i -e '^CONFIG_MODULES=y$' .config); then > mkdir -p ${D}/lib > tar -cvzf ${DEPLOYDIR}/${MODULE_TARBALL_BASE_NAME} -C ${D} lib > @@ -480,6 +507,11 @@ kernel_do_deploy() { > ln -sf ${KERNEL_IMAGE_BASE_NAME}.bin ${DEPLOYDIR}/${KERNEL_IMAGE_SYMLINK_NAME}.bin > ln -sf ${KERNEL_IMAGE_BASE_NAME}.bin ${DEPLOYDIR}/${KERNEL_IMAGETYPE} > > + if [ "${KERNEL_ALT_IMAGETYPE}" != "" ]; then > + ln -sf ${KERNEL_ALT_IMAGE_BASE_NAME}.bin ${DEPLOYDIR}/${KERNEL_ALT_IMAGE_SYMLINK_NAME}.bin > + ln -sf ${KERNEL_ALT_IMAGE_BASE_NAME}.bin ${DEPLOYDIR}/${KERNEL_ALT_IMAGETYPE} > + fi > + > cp ${COREBASE}/meta/files/deploydir_readme.txt ${DEPLOYDIR}/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt > > cd ${B} > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/1 V2] Fix KERNEL_ALT_IMAGETYPE deploy 2014-07-16 18:42 [PATCH 0/1 V2] Fix KERNEL_ALT_IMAGETYPE deploy Yang Shi 2014-07-16 18:42 ` [PATCH 1/1] oe-core/kernel: Deploy KERNEL_ALT_IMAGETYPE and check it for uImage Yang Shi @ 2014-08-20 21:25 ` Yang Shi 2014-08-21 4:21 ` Bruce Ashfield 1 sibling, 1 reply; 5+ messages in thread From: Yang Shi @ 2014-08-20 21:25 UTC (permalink / raw) To: bruce.ashfield, openembedded-core On 7/16/2014 11:42 AM, Yang Shi wrote: > When trying to bootup qemuarma9 BSP with uImage, I ran into the below issues: In some usecases, a BSP may need two kernel image types coexist, like zImage and uImage. For example, qemuarm BSP could be run on arm-versatile-926 board too, but it needs uImage. However, qemu needs zImage. Yang > > 1. Need u-boot-mkimage-native depend. > kernel.bbclass just checks if KERNEL_IMAGETYPE is uImage, if it is the depend will be added. But, it doesn't check KERNEL_ALT_IMAGETYPE. > In the patch, the check for alt image is added. > > 2. UBOOT_LOADADDRESS is passed to uboot-mkimage in do_uboot_mkimage. But, this function just check if KERNEL_IMAGETYPE is uImage or not. It doesn't check KERNEL_ALT_IMAGETYPE. > The patch adds the check. > > 3. KERNEL_ALT_IMAGETYPE is not deployed at all, although it is built. So, we need install, deploy and package the atl image. > > Changelog V1 -> V2: > Check if KERNEL_ALT_IMAGETYPE is empty or not. If KERNEL_ALT_IMAGETYPE is empty, just skip alt image install and deploy, otherwise it is failed to install/deploy > because KERNEL_ALT_OUTPUT doesn't point to a real kernel image file. > > Yang > > > The following changes since commit 68824d9b8f6e290da078383316b3f4b732585f2b: > > u-boot-fw-utils: install config file (2014-06-25 13:51:49 +0100) > > are available in the git repository at: > > git://git.yoctoproject.org/poky-contrib yshi/kernel_altimg_v2 > http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=yshi/kernel_altimg_v2 > > for you to fetch changes up to a4d3971a48d0fb490537d755a19740cb25ea5f4c: > > oe-core/kernel: Deploy KERNEL_ALT_IMAGETYPE and check it for uImage (2014-07-16 11:36:12 -0700) > > ---------------------------------------------------------------- > Yang Shi (1): > oe-core/kernel: Deploy KERNEL_ALT_IMAGETYPE and check it for uImage > > meta/classes/kernel.bbclass | 38 +++++++++++++++++++++++++++++++++++--- > 1 file changed, 35 insertions(+), 3 deletions(-) > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/1 V2] Fix KERNEL_ALT_IMAGETYPE deploy 2014-08-20 21:25 ` [PATCH 0/1 V2] Fix KERNEL_ALT_IMAGETYPE deploy Yang Shi @ 2014-08-21 4:21 ` Bruce Ashfield 0 siblings, 0 replies; 5+ messages in thread From: Bruce Ashfield @ 2014-08-21 4:21 UTC (permalink / raw) To: Yang Shi, openembedded-core On 2014-08-20, 5:25 PM, Yang Shi wrote: > On 7/16/2014 11:42 AM, Yang Shi wrote: >> When trying to bootup qemuarma9 BSP with uImage, I ran into the below >> issues: > > In some usecases, a BSP may need two kernel image types coexist, like > zImage and uImage. > > For example, qemuarm BSP could be run on arm-versatile-926 board too, > but it needs uImage. However, qemu needs zImage. The change looks ok to me .. it's not the first time I've run into the same target needing two different image types to be booted on h/w vs simulation. I can always pull this into my next series if there are no objections to it on the list. Cheers, Bruce > > Yang > >> >> 1. Need u-boot-mkimage-native depend. >> kernel.bbclass just checks if KERNEL_IMAGETYPE is uImage, if it is the >> depend will be added. But, it doesn't check KERNEL_ALT_IMAGETYPE. >> In the patch, the check for alt image is added. >> >> 2. UBOOT_LOADADDRESS is passed to uboot-mkimage in do_uboot_mkimage. >> But, this function just check if KERNEL_IMAGETYPE is uImage or not. It >> doesn't check KERNEL_ALT_IMAGETYPE. >> The patch adds the check. >> >> 3. KERNEL_ALT_IMAGETYPE is not deployed at all, although it is built. >> So, we need install, deploy and package the atl image. >> >> Changelog V1 -> V2: >> Check if KERNEL_ALT_IMAGETYPE is empty or not. If KERNEL_ALT_IMAGETYPE >> is empty, just skip alt image install and deploy, otherwise it is >> failed to install/deploy >> because KERNEL_ALT_OUTPUT doesn't point to a real kernel image file. >> >> Yang >> >> >> The following changes since commit >> 68824d9b8f6e290da078383316b3f4b732585f2b: >> >> u-boot-fw-utils: install config file (2014-06-25 13:51:49 +0100) >> >> are available in the git repository at: >> >> git://git.yoctoproject.org/poky-contrib yshi/kernel_altimg_v2 >> >> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=yshi/kernel_altimg_v2 >> >> >> for you to fetch changes up to a4d3971a48d0fb490537d755a19740cb25ea5f4c: >> >> oe-core/kernel: Deploy KERNEL_ALT_IMAGETYPE and check it for uImage >> (2014-07-16 11:36:12 -0700) >> >> ---------------------------------------------------------------- >> Yang Shi (1): >> oe-core/kernel: Deploy KERNEL_ALT_IMAGETYPE and check it for >> uImage >> >> meta/classes/kernel.bbclass | 38 +++++++++++++++++++++++++++++++++++--- >> 1 file changed, 35 insertions(+), 3 deletions(-) >> >> > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-08-29 0:34 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-07-16 18:42 [PATCH 0/1 V2] Fix KERNEL_ALT_IMAGETYPE deploy Yang Shi 2014-07-16 18:42 ` [PATCH 1/1] oe-core/kernel: Deploy KERNEL_ALT_IMAGETYPE and check it for uImage Yang Shi 2014-08-29 0:34 ` Saul Wold 2014-08-20 21:25 ` [PATCH 0/1 V2] Fix KERNEL_ALT_IMAGETYPE deploy Yang Shi 2014-08-21 4:21 ` Bruce Ashfield
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox