cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
zhengjia
Contributor
Contributor
6,415 Views
Registered: ‎07-23-2018

(petalinux 2018.2) petalinux-config -c kernel throw error

Jump to solution

Hi everyone,

I am running Centos7.2 on native with petalinux 2018.2 .

I create a hdf file of my peoject. When I run petalinux-config -c u-boot or petalinux-config -c kernel.  There are some errors on the terminal. But there is no error when I run petalinux-config or the petalinux-build.

 

[zhengjia@hw54 zcu102]$ petalinux-config -c kernel
[INFO] generating Kconfig for project
[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] configuring: kernel
[INFO] generating kernel configuration files
[INFO] bitbake virtual/kernel -c menuconfig
Parsing recipes: 100% |##############################################################################################################################| Time: 0:00:18
Parsing of 2552 .bb files complete (0 cached, 2552 parsed). 3441 targets, 139 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |###########################################################################################################################| Time: 0:00:04
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 2 tasks of which 0 didn't need to be rerun and all succeeded.
Parsing recipes: 100% |##############################################################################################################################| Time: 0:00:13
Parsing of 2552 .bb files complete (0 cached, 2552 parsed). 3441 targets, 139 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |###########################################################################################################################| Time: 0:00:04
Checking sstate mirror object availability: 100% |###################################################################################################| Time: 0:00:00
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: linux-xlnx-4.14-xilinx-v2018.2+gitAUTOINC+ad4cd988ba-r0 do_menuconfig: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:do_menuconfig(d)
0003:
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/core/meta/classes/cml1.bbclass', lineno: 30, function: do_menuconfig
0026: except OSError:
0027: mtime = 0
0028:
0029: oe_terminal("${SHELL} -c \"make %s; if [ \$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND'),
*** 0030: d.getVar('PN') + ' Configuration', d)
0031:
0032: # FIXME this check can be removed when the minimum bitbake version has been bumped
0033: if hasattr(bb.build, 'write_taint'):
0034: try:
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/core/meta/classes/terminal.bbclass', lineno: 95, function: oe_terminal
0091: except oe.terminal.ExecutionError as exc:
0092: bb.fatal('Unable to spawn terminal %s: %s' % (terminal, exc))
0093:
0094: try:
*** 0095: oe.terminal.spawn_preferred(command, title, None, d)
0096: except oe.terminal.NoSupportedTerminals as nosup:
0097: nosup.terms.remove("false")
0098: cmds = '\n\t'.join(nosup.terms).replace("{command}",
0099: "do_terminal").replace("{title}", title)
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/core/meta/lib/oe/terminal.py', lineno: 204, function: spawn_preferred
0200:def spawn_preferred(sh_cmd, title=None, env=None, d=None):
0201: """Spawn the first supported terminal, by priority"""
0202: for terminal in prioritized():
0203: try:
*** 0204: spawn(terminal.name, sh_cmd, title, env, d)
0205: break
0206: except UnsupportedTerminal:
0207: continue
0208: else:
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/core/meta/lib/oe/terminal.py', lineno: 228, function: spawn
0224: import time
0225: pidfile = tempfile.NamedTemporaryFile(delete = False).name
0226: try:
0227: sh_cmd = bb.utils.which(os.getenv('PATH'), "oe-gnome-terminal-phonehome") + " " + pidfile + " " + sh_cmd
*** 0228: pipe = terminal(sh_cmd, title, env, d)
0229: output = pipe.communicate()[0]
0230: if output:
0231: output = output.decode("utf-8")
0232: if pipe.returncode != 0:
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/core/meta/lib/oe/terminal.py', lineno: 50, function: __init__
0046: return [element.format(**fmt) for element in self.command]
0047:
0048:class XTerminal(Terminal):
0049: def __init__(self, sh_cmd, title=None, env=None, d=None):
*** 0050: Terminal.__init__(self, sh_cmd, title, env, d)
0051: if not os.environ.get('DISPLAY'):
0052: raise UnsupportedTerminal(self.name)
0053:
0054:class Gnome(XTerminal):
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/core/meta/lib/oe/terminal.py', lineno: 33, function: __init__
0029:class Terminal(Popen, metaclass=Registry):
0030: def __init__(self, sh_cmd, title=None, env=None, d=None):
0031: fmt_sh_cmd = self.format_command(sh_cmd, title)
0032: try:
*** 0033: Popen.__init__(self, fmt_sh_cmd, env=env)
0034: except OSError as exc:
0035: import errno
0036: if exc.errno == errno.ENOENT:
0037: raise UnsupportedTerminal(self.name)
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/core/bitbake/lib/bb/process.py', lineno: 65, function: __init__
0061:
0062: def __init__(self, *args, **kwargs):
0063: options = dict(self.defaults)
0064: options.update(kwargs)
*** 0065: subprocess.Popen.__init__(self, *args, **options)
0066:
0067:def _logged_communicate(pipe, log, input, extrafiles):
0068: if pipe.stdin:
0069: if input is not None:
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/buildtools/sysroots/x86_64-petalinux-linux/usr/lib/python3.5/subprocess.py', lineno: 676, function: __init__
0672: startupinfo, creationflags, shell,
0673: p2cread, p2cwrite,
0674: c2pread, c2pwrite,
0675: errread, errwrite,
*** 0676: restore_signals, start_new_session)
0677: except:
0678: # Cleanup if the child failed starting.
0679: for f in filter(None, (self.stdin, self.stdout, self.stderr)):
0680: try:
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/buildtools/sysroots/x86_64-petalinux-linux/usr/lib/python3.5/subprocess.py', lineno: 1282, function: _execute_child
1278: # The error must be from chdir(cwd).
1279: err_msg += ': ' + repr(cwd)
1280: else:
1281: err_msg += ': ' + repr(orig_executable)
*** 1282: raise child_exception_type(errno_num, err_msg)
1283: raise child_exception_type(err_msg)
1284:
1285:
1286: def _handle_exitstatus(self, sts, _WIFSIGNALED=os.WIFSIGNALED,
Exception: PermissionError: [Errno 13] Permission denied

ERROR: linux-xlnx-4.14-xilinx-v2018.2+gitAUTOINC+ad4cd988ba-r0 do_menuconfig: Function failed: do_menuconfig
ERROR: Logfile of failure stored in: /home/zhengjia/work/petalinux/zcu102/build/tmp/work/plnx_zynqmp-xilinx-linux/linux-xlnx/4.14-xilinx-v2018.2+gitAUTOINC+ad4cd988ba-r0/temp/log.do_menuconfig.31620
ERROR: Task (/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2018.2.bb:do_menuconfig) failed with exit code '1'
NOTE: Tasks Summary: Attempted 360 tasks of which 350 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2018.2.bb:do_menuconfig
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
ERROR: bitbake failed to configure kernel
ERROR: Failed to config kernel.
[zhengjia@hw54 zcu102]$

 

I try to use the methods to reslove the error.

1.clean the project of petalinux

petalinux-buidl -x mrproper

2.create a short path to store the petalinux project.

 

But I still can not reslove the errors. Could you help me? Have no ideas about this.

 

 

 

 

 

 

1 Solution

Accepted Solutions
sandeepg
Moderator
Moderator
6,278 Views
Registered: ‎04-24-2017

Hi @zhengjia,

When you download the petalinux installer you no need to change any permission to installer make sure your downloads and installer path has read write permissions.

Thanks,
Sandeep
PetaLinux Yocto | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------

View solution in original post

0 Kudos
13 Replies
sandeepg
Moderator
Moderator
6,392 Views
Registered: ‎04-24-2017

Hi @zhengjia,

 

The issue here is bitbake is not able to spawn/launch a terminal due to permission issue.

 

This could be due to multiple reasons.

 

  1. XTERM/other terminals are not installed/setup properly
  2. You terminal is not set to BASH by as default.

 

Which terminal are you using?

 

Also can you try setting the OE_TERMINAL = "xterm" in <plnx-proj-root>/project-spec/meta-user/conf/petalinuxbsp.conf

Thanks,
Sandeep
PetaLinux Yocto | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------
0 Kudos
zhengjia
Contributor
Contributor
6,375 Views
Registered: ‎07-23-2018

Hi Moderator

 

The ternimal set bash as default. I add the OE_TERMINAL="xterm" in the petalinuxbsp.conf file. The terminal reminder error.

 

[zhengjia@hw54 zcu102]$ petalinux-config -c kernel
[INFO] generating Kconfig for project
[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] configuring: kernel
[INFO] generating kernel configuration files
[INFO] bitbake virtual/kernel -c menuconfig
ERROR: Unable to start bitbake server
ERROR: Server log for this session (/home/zhengjia/work/petalinux/zcu102/build/bitbake-cookerdaemon.log):
--- Starting bitbake server pid 99283 at 2018-11-06 01:22:30.617984 ---
ERROR: ParseError at /home/zhengjia/work/petalinux/zcu102/project-spec/meta-user/conf/petalinuxbsp.conf:15: unparsed line: 'OE_TERMINAL =“xterm”'

ERROR: bitbake failed to cleansstate kernel
ERROR: Failed to config kernel.

 

 

Now I use the MobaXterm. So I try to use different terminal(Tera Term and Xshell ) to resolve the error. but It still have the error. I do not know how to resolve the error.

 

PS: when I run over petalinux-config --get-hw-description<>, It is a error.

ERROR: OE-core's config sanity checker detected a potential misconfiguration.
ERROR: Parse failure with the specified layer added

So, I create a empty sanity.conf file in ./build/conf. Is there any problem?

 

0 Kudos
sandeepg
Moderator
Moderator
6,357 Views
Registered: ‎04-24-2017

Hi @zhengjia,

 

Looks like something went wrong during your build or in build setup.

 

Can you clean the build and relaunch the build. And post the output of the logs.

 

$ petalinux-build -x mrproper
$ petalinux-config -c kernel
Thanks,
Sandeep
PetaLinux Yocto | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------
0 Kudos
zhengjia
Contributor
Contributor
6,328 Views
Registered: ‎07-23-2018

Hi ,I am so tired about this error. and It no progress about my project.

I create a new petalinux project to recode all the details. please help me to analyze the error.

*************************************************************************************************

[zhengjia@hw54 petalinux]$ petalinux-create --type project --template zynqMP --name zcu102

[zhengjia@hw54 petalinux]$ cd zcu102

[zhengjia@hw54 zcu102]$ petalinux-config --get-hw-description=../zcu102_hdf/

INFO: Getting hardware description...
INFO: Rename zcu102_wrapper.hdf to system.hdf
[INFO] generating Kconfig for project
[INFO] menuconfig project
/home/zhengjia/work/petalinux/zcu102/build/misc/config/Kconfig.syshw:30:warning: defaults for choice values not supported
/home/zhengjia/work/petalinux/zcu102/build/misc/config/Kconfig:597:warning: config symbol defined without type
configuration written to /home/zhengjia/work/petalinux/zcu102/project-spec/configs/config

*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.

[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] generating bbappends for project . This may take time !
ERROR: OE-core's config sanity checker detected a potential misconfiguration.
ERROR: Parse failure with the specified layer added
[INFO] generating u-boot configuration files
[INFO] generating kernel configuration files
[INFO] generating kconfig for Rootfs
[INFO] oldconfig rootfs
[INFO] generating petalinux-user-image.bb

 

So , I create a sanity.conf file in the path of ./build/conf/ , then Irun petalinux-config

 

zhengjia@hw54 zcu102]$ petalinux-config
[INFO] generating Kconfig for project
[INFO] menuconfig project
/home/zhengjia/work/petalinux/zcu102/build/misc/config/Kconfig.syshw:30:warning: defaults for choice values not supported
/home/zhengjia/work/petalinux/zcu102/build/misc/config/Kconfig:597:warning: config symbol defined without type


*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.

[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] generating bbappends for project . This may take time !
[INFO] generating u-boot configuration files
[INFO] generating kernel configuration files
[INFO] generating kconfig for Rootfs
[INFO] oldconfig rootfs
[INFO] generating petalinux-user-image.bb
[INFO] successfully configured project
[zhengjia@hw54 zcu102]$

 

Then I run petalinux-config -c u-boot

 

[zhengjia@hw54 zcu102]$ petalinux-config -c u-boot
[INFO] generating Kconfig for project
[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] configuring: u-boot
[INFO] generating u-boot configuration files
[INFO] bitbake virtual/bootloader -c menuconfig
Loading cache: 100% |#############################################################################################################| Time: 0:00:00
Loaded 3440 entries from dependency cache.
Parsing recipes: 100% |###########################################################################################################| Time: 0:00:03
Parsing of 2552 .bb files complete (2509 cached, 43 parsed). 3441 targets, 139 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |########################################################################################################| Time: 0:00:04
Checking sstate mirror object availability: 100% |################################################################################| Time: 0:00:00
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: u-boot-xlnx-v2018.01-xilinx-v2018.2+gitAUTOINC+21812b5fd3-r0 do_menuconfig: Error executing a python function in exec_python_func() autogenerated:

 

 

Have no idea about this.

 

Please check the log in the attachments.

 

 

 

 

 

0 Kudos
zhengjia
Contributor
Contributor
6,304 Views
Registered: ‎07-23-2018

Hi, I check the error information.

When I run petalinux-build -c kernel

The error information is "Please use a umask whick allows a+rx and u_rwx "

I install the petalinux package in no-root user. Do you know how to fix the error?

zhengjia
Contributor
Contributor
6,288 Views
Registered: ‎07-23-2018
Hi, I have resloved the error. Now it can work correctly. There are some problems in the environment.Thanks
0 Kudos
sandeepg
Moderator
Moderator
6,279 Views
Registered: ‎04-24-2017

Hi @zhengjia,

When you download the petalinux installer you no need to change any permission to installer make sure your downloads and installer path has read write permissions.

Thanks,
Sandeep
PetaLinux Yocto | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------

View solution in original post

0 Kudos
pangyf10
Visitor
Visitor
6,046 Views
Registered: ‎09-27-2018

Hi,I have the same probleam. but I dont know how to fix it after read all reply.

 

can you tell me how to fix it ?

0 Kudos
peking428@163.com
Participant
Participant
4,697 Views
Registered: ‎06-14-2019
Hi , i have the same problem . can you help me ? i can give you some money~
0 Kudos
halftop
Visitor
Visitor
3,329 Views
Registered: ‎07-12-2018

I have the same problem.I tried many ways,and sloved it.

To use xfce4-terminal .

I changed gonme-terminal to xfce4-terminal in ubuntu16.04,the petalinux-config can run well.I don't know why,and if you know please tell me.

AND if this reply help you,please Click the 'Kudos' button.Just let it help more people.

AND I suggest the questioner don't mark the reply (that can't slove the problem)as Solution,This will mislead everyone。For example , I dont know how to fix this problem after read all reply.

0 Kudos
lperera
Visitor
Visitor
2,027 Views
Registered: ‎06-17-2020

Thank you for your post.,   uxterm also worked for me.

I had the same issue:

Exception: PermissionError: [Errno 13] Permission denied

origination from the call  ' terminal.__init__(self, sh_cmd, title, env, d)'   in terminal.py:  

 After trying many suggestions, I followed your lead and changed  gnome-terminal to  'uxterm'

and  in petalinuxbsp.conf  :  OE_TERMINAL = "uxterm"    

After that no crashes and configuration window pops up. But the window looked screwed up.I had  to pull the window from  a corner to enlarge it to look normal.  To fix that , in the window changed  EDIT>Preferences>Appearance  default geometry to 130x30 (or whatever size work for you).  After that when I build the kernel,  normal configuration widow pops up and build works.

Hope someone finds this useful. I spent hours fighting this.

0 Kudos
in_peace
Observer
Observer
1,440 Views
Registered: ‎08-24-2020

Can you tell me how to resolve this problem for I meet it now??

0 Kudos
justinl
Newbie
Newbie
44 Views
Registered: ‎12-04-2020

In your shell, you have to make sure you have the umask is set correctly. This determines how processes you launch from the shell (e.g., the petalinux-config and petalinux-build commands) will be able to set permissions. Petalinux requires permissiveness of at least

umask a+rx,u+rwx

You can check the current umask by simply typing

umask -S

A maximally permissive umask would be

umask a+rwx

but according to the error message, only the first umask is necessary (generally you don't want people who are not the user or group--i.e., "other"--to have write permissions on files/directories). So, I recommend the first command to set your umask, then you can run petalinux-config, petalinux-build, etc.

umask a+rx,u+rwx

(And you can add the above to your .bashrc or .profile etc., whatever the appropriate file is for the shell you using so you don't have to type it every time you start up a new shell.)

0 Kudos