From: Otavio Salvador <hidden> Date: 2011-08-20 05:03:42
The following changes since commit c539155c51e43680711130df9050d3e92282591e:
newt: update distro tracking fields (2011-08-19 09:05:54 -0700)
are available in the git repository at:
git://github.com/OSSystems/oe-core master
https://github.com/OSSystems/oe-core/tree/master
Otavio Salvador (8):
Use OECORE_DISTRO_VERSION instead of POKY_DISTRO_VERSION
kernel.bbclass: blacklist perf-dbg
kernel.bbclass: move uboot image generation to a specific class
kernel.bbclass: save kernel image name into $kerneldir
fix SDK building due TARGET_ARCH use in installation path
scripts/runqemu: add support to pass bootparams to kernel
scripts/runqemu: remove redundant checking
scripts/combo-layer: fix configuration file handling
meta/classes/kernel.bbclass | 47 ++++++++++++++++++++-----------
meta/classes/populate_sdk.bbclass | 2 +-
meta/classes/toolchain-scripts.bbclass | 12 ++++----
meta/conf/bitbake.conf | 2 +-
scripts/combo-layer | 4 +-
scripts/oe-find-native-sysroot | 2 +-
scripts/runqemu | 5 +++-
scripts/runqemu-export-rootfs | 2 +-
8 files changed, 46 insertions(+), 30 deletions(-)
--
1.7.2.5
@@ -29,8 +29,8 @@ toolchain_create_sdk_env_script () {echo'exportOECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"'>>$scriptecho'exportOECORE_TARGET_SYSROOT="${SDKTARGETSYSROOT}"'>>$scriptecho'exportOECORE_ACLOCAL_OPTS="-I${SDKPATHNATIVE}/usr/share/aclocal"'>>$script-echo'exportPOKY_DISTRO_VERSION="${DISTRO_VERSION}"'>>$script-echo'exportPOKY_SDK_VERSION="${SDK_VERSION}"'>>$script+echo'exportOECORE_DISTRO_VERSION="${DISTRO_VERSION}"'>>$script+echo'exportOECORE_SDK_VERSION="${SDK_VERSION}"'>>$script }# This function creates an environment-setup-script in the TMPDIR which enables
@@ -63,8 +63,8 @@ toolchain_create_tree_env_script () {echo'exportOECORE_NATIVE_SYSROOT="${STAGING_DIR_NATIVE}"'>>$scriptecho'exportOECORE_TARGET_SYSROOT="${STAGING_DIR_TARGET}"'>>$scriptecho'exportOECORE_ACLOCAL_OPTS="-I${STAGING_DIR_NATIVE}/usr/share/aclocal"'>>$script-echo'exportPOKY_DISTRO_VERSION="${DISTRO_VERSION}"'>>$script-echo'exportPOKY_SDK_VERSION="${SDK_VERSION}"'>>$script+echo'exportOECORE_DISTRO_VERSION="${DISTRO_VERSION}"'>>$script+echo'exportOECORE_SDK_VERSION="${SDK_VERSION}"'>>$script }# This function creates an environment-setup-script for use by the ADT installer
@@ -97,8 +97,8 @@ toolchain_create_sdk_env_script_for_installer () {echo'exportOECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"'>>$scriptecho'exportOECORE_TARGET_SYSROOT="##SDKTARGETSYSROOT##"' >> $scriptecho'exportOECORE_ACLOCAL_OPTS="-I${SDKPATHNATIVE}/usr/share/acloal"'>>$script-echo'exportPOKY_DISTRO_VERSION="${DISTRO_VERSION}"'>>$script-echo'exportPOKY_SDK_VERSION="${SDK_VERSION}"'>>$script+echo'exportOECORE_DISTRO_VERSION="${DISTRO_VERSION}"'>>$script+echo'exportOECORE_SDK_VERSION="${SDK_VERSION}"'>>$script }#This function create a site config file
@@ -59,7 +59,7 @@ fi if [ ! -e "$OECORE_NATIVE_SYSROOT/usr/bin/pseudo" ]; then echo "Error: Unable to find pseudo binary in $OECORE_NATIVE_SYSROOT/usr/bin/"- if [ "x$POKY_DISTRO_VERSION" = "x" ]; then+ if [ "x$OECORE_DISTRO_VERSION" = "x" ]; then echo "Have you run 'bitbake meta-ide-support'?" else echo "This shouldn't happen - something is wrong with your toolchain installation"
@@ -49,7 +49,7 @@ fi if [ ! -e "$OECORE_NATIVE_SYSROOT/usr/sbin/rpc.mountd" ]; then echo "Error: Unable to find rpc.mountd binary in $OECORE_NATIVE_SYSROOT/usr/sbin/"- if [ "x$POKY_DISTRO_VERSION" = "x" ]; then+ if [ "x$OECORE_DISTRO_VERSION" = "x" ]; then echo "Have you run 'bitbake meta-ide-support'?" else echo "This shouldn't happen - something is missing from your toolchain installation"
@@ -470,6 +470,29 @@ do_sizecheck() {addtasksizecheckbeforedo_installafterdo_compile+do_uboot_mkimage(){+iftest"x${KERNEL_IMAGETYPE}"="xuImage";then+ENTRYPOINT=${UBOOT_ENTRYPOINT}+iftest-n"${UBOOT_ENTRYSYMBOL}";then+ENTRYPOINT=`${HOST_PREFIX}nm${S}/vmlinux|\+awk'$3=="${UBOOT_ENTRYSYMBOL}"{print$1}'`+fi+iftest-earch/${ARCH}/boot/compressed/vmlinux;then+${OBJCOPY}-Obinary-R.note-R.comment-Sarch/${ARCH}/boot/compressed/vmlinuxlinux.bin+uboot-mkimage-A${UBOOT_ARCH}-Olinux-Tkernel-Cnone-a${UBOOT_LOADADDRESS}-e$ENTRYPOINT-n"${DISTRO_NAME}/${PV}/${MACHINE}"-dlinux.binarch/${ARCH}/boot/uImage+rm-flinux.bin+else+${OBJCOPY}-Obinary-R.note-R.comment-Svmlinuxlinux.bin+rm-flinux.bin.gz+gzip-9linux.bin+uboot-mkimage-A${UBOOT_ARCH}-Olinux-Tkernel-Cgzip-a${UBOOT_LOADADDRESS}-e$ENTRYPOINT-n"${DISTRO_NAME}/${PV}/${MACHINE}"-dlinux.bin.gzarch/${ARCH}/boot/uImage+rm-flinux.bin.gz+fi+fi+}++addtaskuboot_mkimagebeforedo_installafterdo_compile+KERNEL_IMAGE_BASE_NAME?="${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}"# Don't include the DATETIME variable in the sstate package signaturesKERNEL_IMAGE_BASE_NAME[vardepsexclude]="DATETIME"
From: Otavio Salvador <hidden> Date: 2011-08-20 05:03:49
TARGET_ARCH makes the building too fragile since it changes during
building of target and nativesdk binaries thus making it difficult to
handle a proper path for installation of binaries. The fix for it is
to move it to toolchain tarball name.
Signed-off-by: Otavio Salvador <redacted>
---
meta/classes/populate_sdk.bbclass | 2 +-
meta/conf/bitbake.conf | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
From: Otavio Salvador <hidden> Date: 2011-08-20 05:03:49
Save the kernel image name into sysroot so it can be used during image
build if need. This is used by O.S. Systems products and probably
useful to others.
Signed-off-by: Otavio Salvador <redacted>
---
meta/classes/kernel.bbclass | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
@@ -129,6 +129,12 @@ kernel_do_install() {echo"${KERNEL_VERSION}">$kerneldir/kernel-abiversion#+# Store kernel image name to allow use during image generation+#++echo"${KERNEL_IMAGE_BASE_NAME}">$kerneldir/kernel-image-name++## Copy the entire source tree. In case an external build directory is# used, copy the build directory over first, then copy over the source# dir. This ensures the original Makefiles are used and not the
@@ -163,7 +163,7 @@ while [ $i -le $# ]; do # A directory name is an nfs rootfs if [ -d "$arg" ]; then echo "Assuming $arg is an nfs rootfs"- if [[ -z "$FSTYPE" || "$FSTYPE" == "nfs" ]]; then+ if [[ -z "$FSTYPE" ]]; then FSTYPE=nfs else echo "Error: conflicting FSTYPE types [$arg] and nfs"
@@ -339,8 +339,8 @@ Action: update get patches from component repos and apply them to the combo repo splitpatch [commit] generate commit patch and split per component, default commit is HEAD""")- parser.add_option("-c", "--conf", help = "specify the config file. default is conf/combolayer.conf",- action = "store", dest = "conffile", default = "combo-layer.conf")+ parser.add_option("-c", "--conf", help = "specify the config file (conf/combo-layer.conf is the default).",+ action = "store", dest = "conffile", default = "conf/combo-layer.conf") parser.add_option("-i", "--interactive", help = "interactive mode, user can edit the patch list and patches", action = "store_true", dest = "interactive", default = False)
addtask sizecheck before do_install after do_compile
+do_uboot_mkimage() {
+ if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then
+ ENTRYPOINT=${UBOOT_ENTRYPOINT}
+ if test -n "${UBOOT_ENTRYSYMBOL}"; then
+ ENTRYPOINT=`${HOST_PREFIX}nm ${S}/vmlinux | \
+ awk '$3=="${UBOOT_ENTRYSYMBOL}" {print $1}'`
+ fi
These aren't equivalent. We should maintain what is already in kernel.bbclass
and just move it over. If there already a uImage in the build tree, there's no
need to run all the objcopy "mess" below. I found that it created useless binary
blobs forme in the past.
Bruce
quoted hunk
+ if test -e arch/${ARCH}/boot/compressed/vmlinux ; then
+ ${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin
+ uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C none -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin arch/${ARCH}/boot/uImage
+ rm -f linux.bin
+ else
+ ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin
+ rm -f linux.bin.gz
+ gzip -9 linux.bin
+ uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C gzip -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz arch/${ARCH}/boot/uImage
+ rm -f linux.bin.gz
+ fi
+ fi
+}
+
+addtask uboot_mkimage before do_install after do_compile
+
KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}"
# Don't include the DATETIME variable in the sstate package signatures
KERNEL_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME"
@@ -481,22 +504,6 @@ kernel_do_deploy() {
tar -cvzf ${DEPLOYDIR}/modules-${KERNEL_VERSION}-${PR}-${MACHINE}.tgz -C ${D} lib
fi
- if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then
- if test -e arch/${ARCH}/boot/uImage ; then
- cp arch/${ARCH}/boot/uImage ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin
- elif test -e arch/${ARCH}/boot/compressed/vmlinux ; then
- ${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin
- uboot-mkimage -A ${ARCH} -O linux -T kernel -C none -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin
- rm -f linux.bin
- else
- ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin
- rm -f linux.bin.gz
- gzip -9 linux.bin
- uboot-mkimage -A ${ARCH} -O linux -T kernel -C gzip -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin
- rm -f linux.bin.gz
- fi
- fi
-
cd ${DEPLOYDIR}
rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.bin
ln -sf ${KERNEL_IMAGE_BASE_NAME}.bin ${KERNEL_IMAGE_SYMLINK_NAME}.bin
--
1.7.2.5
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
--
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
From: Otavio Salvador <hidden> Date: 2011-08-20 05:17:40
On Sat, Aug 20, 2011 at 02:07, Bruce Ashfield [off-list ref] wrote:
These aren't equivalent. We should maintain what is already in kernel.bbclass
and just move it over. If there already a uImage in the build tree, there's no
need to run all the objcopy "mess" below. I found that it created useless binary
blobs forme in the past.
In this case can you take a look on this and also fix it in meta-oe?
The class had some differences and I do think we ought to avoid those
as much as possible since it only makes debugging harder.
--
Otavio Salvador O.S. Systems
E-mail: otavio@ossystems.com.br http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br
@@ -163,7 +163,7 @@ while [ $i -le $# ]; do # A directory name is an nfs rootfs if [ -d "$arg" ]; then echo "Assuming $arg is an nfs rootfs"- if [[ -z "$FSTYPE" || "$FSTYPE" == "nfs" ]]; then+ if [[ -z "$FSTYPE" ]]; then FSTYPE=nfs else echo "Error: conflicting FSTYPE types [$arg] and nfs"
Can you explain why this test is redundant? From inspection of the
patch it seems this would lead to "Error: conflicting FSTYPE types [nfs]
and nfs" if FSTYPE="nfs" to begin with. I guess there is some other
provision in the logic to make sure that this can't happen, but it would
be useful to have it explained in the checkin message.
p.
From: Bruce Ashfield <hidden> Date: 2011-08-20 12:52:58
On Sat, Aug 20, 2011 at 1:12 AM, Otavio Salvador
[off-list ref] wrote:
On Sat, Aug 20, 2011 at 02:07, Bruce Ashfield [off-list ref] wrote:
quoted
These aren't equivalent. We should maintain what is already in kernel.bbclass
and just move it over. If there already a uImage in the build tree, there's no
need to run all the objcopy "mess" below. I found that it created useless binary
blobs forme in the past.
In this case can you take a look on this and also fix it in meta-oe?
The class had some differences and I do think we ought to avoid those
as much as possible since it only makes debugging harder.
I'm not a meta-oe user. I can look into this, but it will be some time, since
my plate is full with yocto 1.1 release items. I just wanted to point out that
this patch isn't just a movement of code and can't go in as-is, without a good
reason.
Cheers,
Bruce
From: Andrea Adami <hidden> Date: 2011-08-20 22:19:30
On 8/20/11, Bruce Ashfield [off-list ref] wrote:
On Sat, Aug 20, 2011 at 1:12 AM, Otavio Salvador
[off-list ref] wrote:
quoted
On Sat, Aug 20, 2011 at 02:07, Bruce Ashfield [off-list ref]
wrote:
quoted
These aren't equivalent. We should maintain what is already in
kernel.bbclass
and just move it over. If there already a uImage in the build tree,
there's no
need to run all the objcopy "mess" below. I found that it created useless
binary
blobs forme in the past.
In this case can you take a look on this and also fix it in meta-oe?
The class had some differences and I do think we ought to avoid those
as much as possible since it only makes debugging harder.
I'm not a meta-oe user. I can look into this, but it will be some time,
since
my plate is full with yocto 1.1 release items. I just wanted to point out
that
this patch isn't just a movement of code and can't go in as-is, without a
good
reason.
There are more differences than this:
+uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C none -a
${UBOOT_LOADADDRESS} -
-uboot-mkimage -A ${ARCH} -O linux -T kernel -C gzip -a ${UBOOT_ENTRYPOINT}
It looks to me the line should set -a ${UBOOT_LOADADDRESS}
Regards
Andrea
--
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
A possible better question is why perf-dbg is getting generated and what's in it?
BTW, as noted elsewhere, it would be good to add additional comments as to why you are doing some of the changes.
Thanks
Sau!
TARGET_ARCH makes the building too fragile since it changes during
building of target and nativesdk binaries thus making it difficult to
handle a proper path for installation of binaries. The fix for it is
to move it to toolchain tarball name.
Signed-off-by: Otavio Salvador<redacted>
---
meta/classes/populate_sdk.bbclass | 2 +-
meta/conf/bitbake.conf | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
This is the same set that has been rejected before.
I think this has been discussed before between Richard and Koen, Koen was going to look into a variation that Richard suggested, I am not sure if Koen has replied to that email (from back in early July).
Sau!
From: Otavio Salvador <hidden> Date: 2011-08-23 11:59:20
On Mon, Aug 22, 2011 at 18:58, Saul Wold [off-list ref] wrote:
On 08/19/2011 09:58 PM, Otavio Salvador wrote:
quoted
TARGET_ARCH makes the building too fragile since it changes during
building of target and nativesdk binaries thus making it difficult to
handle a proper path for installation of binaries. The fix for it is
to move it to toolchain tarball name.
...
This is the same set that has been rejected before.
I think this has been discussed before between Richard and Koen, Koen was
going to look into a variation that Richard suggested, I am not sure if Koen
has replied to that email (from back in early July).
It seems that the current way is broken and this even this solution is
not perfect this improves it a lot and works for most use cases.
Richard and Koen might make clear their concerns about it and then we
work to fix them, otherwise this is better then what we have now.
--
Otavio Salvador O.S. Systems
E-mail: otavio@ossystems.com.br http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br
The following changes since commit c539155c51e43680711130df9050d3e92282591e:
newt: update distro tracking fields (2011-08-19 09:05:54 -0700)
are available in the git repository at:
git://github.com/OSSystems/oe-core master
https://github.com/OSSystems/oe-core/tree/master
Otavio Salvador (8):
Use OECORE_DISTRO_VERSION instead of POKY_DISTRO_VERSION
Merged
kernel.bbclass: blacklist perf-dbg
Not Merged - Need to figure out why perf-dbg is being generated.
kernel.bbclass: move uboot image generation to a specific class
Not Merged - See disussion on list
kernel.bbclass: save kernel image name into $kerneldir
Merged
fix SDK building due TARGET_ARCH use in installation path
Not Merged Pending RP and Koen discussion
scripts/runqemu: add support to pass bootparams to kernel
From: Otavio Salvador <hidden> Date: 2011-08-24 17:05:34
On Sat, Aug 20, 2011 at 05:54, Phil Blundell [off-list ref] wrote:
Can you explain why this test is redundant? From inspection of the
patch it seems this would lead to "Error: conflicting FSTYPE types [nfs]
and nfs" if FSTYPE="nfs" to begin with. I guess there is some other
provision in the logic to make sure that this can't happen, but it would
be useful to have it explained in the checkin message.