Hello,
I have to build an image for T4240.
I am using SDK 1.4 , Ubuntu 12.04.
I have setup the host environemnt,reconfigured kernel,performed the build procesure.
But when i give the command :
aravind@Aravind:~/yocto/build_t4240qds_release$ bitbake fsl-image-core
The program 'bitbake' is currently not installed. You can install it by typing:
sudo apt-get install bitbake
aravind@Aravind:~/yocto/build_t4240qds_release$ sudo apt-get install bitbake
-------------------------
-------------------------
-------------------------
Processing triggers for python-support ...
aravind@Aravind:~/yocto/build_t4240qds_release$ bitbake fsl-image-core
Traceback (most recent call last):
File "/usr/bin/bitbake", line 234, in <module>
ret = main()
File "/usr/bin/bitbake", line 197, in main
server = ProcessServer(server_channel, event_queue, configuration)
File "/usr/lib/pymodules/python2.7/bb/server/process.py", line 78, in __init__
self.cooker = BBCooker(configuration, self.register_idle_function)
File "/usr/lib/pymodules/python2.7/bb/cooker.py", line 76, in __init__
self.parseConfigurationFiles(self.configuration.file)
File "/usr/lib/pymodules/python2.7/bb/cooker.py", line 510, in parseConfigurationFiles
data = _parse(os.path.join("conf", "bitbake.conf"), data)
TypeError: getVar() takes exactly 3 arguments (2 given)
ERROR: Error evaluating '${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable'
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/bb/data_smart.py", line 116, in expandWithRefs
s = __expand_var_regexp__.sub(varparse.var_sub, s)
File "/usr/lib/pymodules/python2.7/bb/data_smart.py", line 60, in var_sub
var = self.d.getVar(key, 1)
File "/usr/lib/pymodules/python2.7/bb/data_smart.py", line 260, in getVar
return self.expand(value, var)
File "/usr/lib/pymodules/python2.7/bb/data_smart.py", line 132, in expand
return self.expandWithRefs(s, varname).value
File "/usr/lib/pymodules/python2.7/bb/data_smart.py", line 117, in expandWithRefs
s = __expand_python_regexp__.sub(varparse.python_sub, s)
TypeError: getVar() takes exactly 3 arguments (2 given)
ERROR: Error evaluating '${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[0] or 'defaultpkgname'}'
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/bb/data_smart.py", line 117, in expandWithRefs
s = __expand_python_regexp__.sub(varparse.python_sub, s)
File "/usr/lib/pymodules/python2.7/bb/data_smart.py", line 76, in python_sub
value = utils.better_eval(codeobj, DataContext(self.d))
File "/usr/lib/pymodules/python2.7/bb/utils.py", line 387, in better_eval
return eval(source, _context, locals)
File "PN", line 1, in <module>
TypeError: getVar() takes exactly 3 arguments (2 given)
aravind@Aravind:~/yocto/build_t4240qds_release$
What is the problem?
Please help.
Thanks,
Aravind
已解决! 转到解答。
Hello Aravind,
It seems that you didn't put the file in the correct path.
Please define SRC_URI = "file://linux-qoriq-sdk.tar.gz".
And put linux-qoriq-sdk.tar.gz in folder meta-fsl-ppc/recipes-kernel/linux/files.
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Aravind
Whenever you see parser error ,most of the time it has to do with wrong syntax.
In your case ,you have define SRC_URI format without any double quotes
/home/ara/yocto/meta-fsl-ppc/recipes-kernel/linux/linux-qoriq-sdk.inc:10:
unparsed line: 'SRC_URI=file:///home/qoriq/linux-qoriq-sdk.tar.gz'
ERROR: Command execution failed: Exited with 1
Its shoule be
SRC_URI= "file://linux-qoriq-sdk.tar.gz"
Can choose absolute path also.
Also,as Yiping pointed out you should have source file in files folder which you should create in same directory where recipe file is.
Thanks
Amit
Hello Aravind,
It seems that you didn't put the file in the correct path.
Please define SRC_URI = "file://linux-qoriq-sdk.tar.gz".
And put linux-qoriq-sdk.tar.gz in folder meta-fsl-ppc/recipes-kernel/linux/files.
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Dear Amit Tomar,
Thanks for your response.
Yes I tried it.
aravind@Aravind:~/yocto/build_t4240qds_release$ source SOURCE_THIS
aravind@Aravind:~/yocto/build_t4240qds_release$ bitbake fsl-image-core
Pseudo is not present but is required, building this first before the main build
ERROR: OE-core's config sanity checker detected a potential misconfiguration.
Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
Following is the list of potential problems / advisories:
Failed to create a file with a long name in TMPDIR. Please use a filesystem that does not unreasonably limit filename length.
Failed to create a file with a long name in SSTATE_DIR. Please use a filesystem that does not unreasonably limit filename length.
ERROR: Execution of event handler 'check_sanity_eventhandler' failed
Please help.
Thanks,
Aravind
Hello Amit Tomar
Thanks for your reply.
Does that mean that I will have to delete the qoriq folder and start from
the first step?
What will happen to the extra packages that have been installed for
reconfiguring the kernel and so on?
This process is very arduous. Is there any other way out?
Please help.
Thanks
Aravind Ganesan
Hello Aravind Ganesan,
Please log out the build host and log in again, then enter into the installation path again.
Run the command "source ./fsl-setup-poky -m t4240qds", and you will enter build_t4240qds_release and could build images. Please note every time when you log in again, you need to run this command(or source SOURCE_THIS).
In addition, I want to mention more about SDK installation.
You need to install both Source and Cache ISOs, the latter contains cache binary to accelerate the building.
After install SDK, you need to execute the "scripts/host-prepare.sh" once to deploy host build environment automatically.
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Dear Yiping Wang,
Thanks for your response.
I dont understnd the login part.Do you mean I will have to close the
terminal and open it again?
Also thanks for the additional tips for SDK.
Please clarify,
Thanks,
Aravind
On Mon, Aug 25, 2014 at 8:49 AM, Yiping Wang <admin@community.freescale.com>
Hello Aravind,
Yes, I also encountered similar problem previously, and this method works for me.
Please try, it your problem remains, please feel free to let me know.
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Dear Yiping,
Thanks for your response.
I did the following.
cd yocto----
source ./fsl -
t4240qds
source SOURCE_THIS
bitbake fsl-image-core
But still I am having the same problem.
Is this what you meant?
Please help.
Thanks,
Aravind Ganesan
On Aug 25, 2014 9:07 AM, "Yiping Wang" <admin@community.freescale.com>
Hello Aravind,
Actually the SDK installation folder should be like this QorIQ-SDK-V1.4-20130625-yocto, have you changed the name?
First of all, please run the command
./scripts/host-prepare.sh
And please refer to my log:
[b25805@sun QorIQ-SDK-V1.4-20130625-yocto]$ source ./fsl-setup-poky -m t4240qds
Configuring for t4240qds board type
Creating an yocto build output at /home/b25805/test/QorIQ-SDK-V1.4-20130625-yocto/build_t4240qds_release
Run the following commands to start a build:
bitbake fsl-image-full
bitbake fsl-image-lsb-sdk
bitbake fsl-image-flash
bitbake fsl-image-kvm
bitbake fsl-image-core
bitbake fsl-image-minimal
To return to this build environment later please run:
source /home/b25805/test/QorIQ-SDK-V1.4-20130625-yocto/build_t4240qds_release/SOURCE_THIS
In addition, do you use eCryptfs, which limits filename length?
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Dear Yiping Wang,
Thanks for your response.
Yes i have vevrified the name,it is correct.
I have also run ./scripts command.
I have the commands below:
aravind@Aravind:~$ cd yocto/
aravind@Aravind:~/yocto$ source ./fsl-setup-poky -m t4240qdsConfiguring for
t4240qds board type
Creating an yocto build output at /home/aravind/yocto/build_t4240qds_release
Run the following commands to start a build:
bitbake fsl-image-core
bitbake fsl-image-minimal
bitbake fsl-image-lsb-sdk
bitbake fsl-image-full
bitbake fsl-image-kvm
bitbake fsl-image-flash
To return to this build environment later please run:
source /home/aravind/yocto/build_t4240qds_release/SOURCE_THIS
aravind@Aravind:~/yocto/build_t4240qds_release$ source SOURCE_THIS
aravind@Aravind:~/yocto/build_t4240qds_release$ bitbake fsl-image-core
Pseudo is not present but is required, building this first before the main
build
ERROR: OE-core's config sanity checker detected a potential
misconfiguration.
Either fix the cause of this error or at your own risk disable the
checker (see sanity.conf).
Following is the list of potential problems / advisories:
Failed to create a file with a long name in TMPDIR. Please use a
filesystem that does not unreasonably limit filename length.
Failed to create a file with a long name in SSTATE_DIR. Please use a
filesystem that does not unreasonably limit filename length.
ERROR: Execution of event handler 'check_sanity_eventhandler' failed
eCryptfs is enabled.
aravind@Aravind:~/yocto/build_t4240qds_release$ mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda6 on /home type ext4 (rw)
/home/aravind/.Private on /home/aravind type *ecryptfs *
(ecryptfs_check_dev_ruid,ecryptfs_cipher=aes,ecryptfs
keybytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=56d2a8abc66ad7f5,ecryptfs_fnek_sig=1475f7eaf2a3e469)
gvfs-fuse-daemon on /home/aravind/.gvfs type fuse.gvfs-fuse-daemon
(rw,nosuid,nodev,user=aravind)
What is the solution?
Please heklp,
Thanks,
Aravind
On Mon, Aug 25, 2014 at 12:28 PM, Yiping Wang <admin@community.freescale.com
Hello Aravind,
ecryptfs is the cause of this problem.
Is it possible for you to disable ecryptfs ? You could find detailed process from google.
Or create a new user account without home folder encryption.
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Dear Yiping Wang,
Thanks for your response.
to remove encryptfs i have to delete all my files? so i have to install sdk
once again?
but if i create new user account then also i will have to install sdk again
right?
Then i will not get root privileges if i am another user.
This is one solution.
Another is to use the GUI.
aravind@Aravind:~$ source ./yocto/build_t4240qds_release/SOURCE_THIS
aravind@Aravind:~/yocto/build_t4240qds_release$ hob
Pseudo is not present but is required, building this first before the main
build
ERROR: Unable to parse
/home/aravind/yocto/meta-fsl-ppc/recipes-kernel/linux/linux-qoriq-sdk.bb:
Exited with "1"
ERROR: There is a confusing multiline, partially commented expression on
line 10 of file
/home/aravind/yocto/meta-fsl-ppc/recipes-kernel/linux/linux-qoriq-sdk.inc
().
Please clarify whether this is all a comment or should be parsed.
ERROR: Command execution failed: Exited with 1
Summary: There were 3 ERROR messages shown, returning a non-zero exit code
Can I use this?
Any case please suggest what i should do
Thanks,
Aravind
On Mon, Aug 25, 2014 at 3:28 PM, Yiping Wang <admin@community.freescale.com>
Hello Aravind,
If you disable ecryptf, you need to back up your home drectory first, then delete home directory and remove packates ecryptfs-utils libecryptfs0,restore home dir then remove .private and .encryptfs.
I think create a new user account with sudo permission, and reinstall SDK again would be easier.
If further discussion is needed, please feel free to let me know.
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Dear Yiping,
Thanks for your response.
I have created a new user without encrypt.
I have done all the procedures.
But still it is not working:
I am getting the following lerror:
ara@Aravind:~/yocto/build_t4240qds_release$ bitbake fsl-image-core
Pseudo is not present but is required, building this first before the main
build
ERROR: ParseError at
/home/ara/yocto/meta-fsl-ppc/recipes-kernel/linux/linux-qoriq-sdk.inc:10:
unparsed line: 'SRC_URI=file:///home/qoriq/linux-qoriq-sdk.tar.gz'
ERROR: Command execution failed: Exited with 1
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
ara@Aravind:~/yocto/build_t4240qds_release$
My linux-qoriq-sdk.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
PV = "3.8"
INC_PR = "r9"
#SRCREV = "4b66366af2d77de68f4bd6548d07421e13d3df05"
#SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git \
"
SRC_URI=file:///home/qoriq/linux-qoriq-sdk.tar.gz
SRC_URI[md5sum]="c11c7d4b463d038acb4dc658d5294513"
KSRC ?= ""
S = '${@base_conditional("KSRC", "", "${WORKDIR}/linux-qoriq-sdk",
"$
", d$
COMPATIBLE_MACHINE_$MACHINE = "$MACHINE"
python () {
ma = d.getVar("DISTRO_FEATURES", True)
arch = d.getVar("OVERRIDES", True)
SRC_URI[md5sum]="c11c7d4b463d038acb4dc658d5294513"
KSRC ?= ""
S = '${@base_conditional("KSRC", "", "${WORKDIR}/linux-qoriq-sdk",
"$", d$
make everything compatible for the time being
COMPATIBLE_MACHINE_$MACHINE = "$MACHINE"
python () {
ma = d.getVar("DISTRO_FEATURES", True)
arch = d.getVar("OVERRIDES", True)
the : after the arch is to skip the message on 64b
if not "multiarch" in ma and ("e5500:" in arch or "e6500:" in arch):
raise bb.parse.SkipPackage("Building the kernel for this
arch r$
promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
if promote_kernel == "1":
d.setVar('KERNEL_CC_append', ' -m64')
d.setVar('KERNEL_LD_append', ' -melf64ppc')
the : after the arch is to skip the message on 64b
if not "multiarch" in ma and ("e5500:" in arch or "e6500:" in arch):
raise bb.parse.SkipPackage("Building the kernel for this
arch r$
promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
if promote_kernel == "1":
d.setVar('KERNEL_CC_append', ' -m64')
d.setVar('KERNEL_LD_append', ' -melf64ppc')
error_qa = d.getVar('ERROR_QA', True)
if 'arch' in error_qa:
d.setVar('ERROR_QA', error_qa.replace(' arch', ''))
all_qa = d.getVar('ALL_QA', True)
if 'arch' in all_qa:
d.setVar('ALL_QA', all_qa.replace(' arch', ''))
}
Hello Aravind,
Please define SRC_URI as the following
SRC_URI = "file://linux-qoriq-sdk.tar.gz"
You also need to put the tar ball linux-qoriq-sdk.tar.gz in the folder meta-fsl-ppc/recipes-kernel/linux/files.
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------