06-17-2014 07:04 AM
I have been attempting to follow the updated UG981 to learn the new process of 2014.2 in comparison with 2014.1 (petalinux and sdk).
Im currently having trouble building a bootable image, while i have done this hundreds of times with 2014.1.
The boot processes for 2014.1 was:
- Important hardware platform from Vivado
- Build FSBL and FSBL_bsp from new hw_platform
- Build petalinux_bsp from new hw_platform(this requires the petalinux edk repo to be selected under the sdk repo options)
- Create a new template petalinux project: "petalinux-create --type project --template zynq --name petalinux_project"
- Merge hardware platform with project: Inside petalinux_project send the command "petalinux_config --get-hw-description=/path/to/petalinux/bsp"
- use petalinux-config, petalinux-config -c kernel, and petalinux-config -c rootfs to configure the build for my zc702 board environment
- Build project: "petalinux-build"
- Build BOOT.BIN: "petalinux-package --boot --fsbl /path/to/fsbl.elf --fpga /path/to/bit --uboot"
At this point i have a image.ub and boot.bin to throw on a sd card and boot from
What steps are different for the new 2014.2 method? There seems to no longer be a petalinux_bsp anymore but rather a device_tree_bsp? That device_tree_bsp appears to have the ability to designate an OS, yet petalinux isn't available. How do i merge my hardware platform to my petalinux project without the petalinux bsp?
I've found a command to merge hw_platform and petalinux project: Inside hw_platform_0 send the command "petalinux-config --get-hw-description -p /path/to/petalinux_project"
, that appeared to have merged it but when i do "petalinux-build" next it fails with the following error:
INFO: Checking component...
INFO: Generating make files and build linux
INFO: Generating make files for the subcomponents of linux
INFO: Building linux
[INFO ] pre-build linux/rootfs/fwupgrade
[INFO ] pre-build linux/rootfs/peekpoke
[INFO ] pre-build linux/rootfs/uWeb
[INFO ] build system.dtb
[INFO ] build linux/kernel
[INFO ] update linux/u-boot source
[INFO ] generate linux/u-boot configuration files
[INFO ] build linux/u-boot
[INFO ] Setting up stage config
[INFO ] Setting up rootfs config
[INFO ] Updating for armv7a-vfp-neon
[INFO ] Updating package manager
[INFO ] Expanding stagefs
[ERROR] Errors were encountered while processing:
[ERROR] E: Sub-process /opt/petalinux-v2014.2-final/tools/packagemanager/bin/dpkg returned an error code (1)
[ERROR] make: *** [.pkg_stagefs] Error 255
[ERROR] make: *** [sub_build_component_/none/packages-repo/single/plnx-repo] Error 2
ERROR: Failed to build linux
So if anyone has a better set of direction then the documentation that isn't very clear, id appreciate it! thanks!
06-17-2014 07:44 AM
06-17-2014 07:48 AM
Oh no worries, ask all the questions you want.
I believe its Ubuntu 12.02 but i'll go verify it in the lab after i send this message off.
It is not running on a VM, i have a dedicated linux development machine for it, and yes this is the exact same environment that i was running with the older petalinux. In all actuality when i upgraded to the 2014.2 version of sdk and petalinux, i still have the older version on the machine. All i did after installing was give petalinux a unique name in my /opt/ directory, change my environment setting to recognize $petalinux, change my bashrc file to always source the new 2014.2 vivado settings, and 2014.2 petalinux settings. After that it should be fine, if i need to i can always change those configurations back to my old petalinux to verify its still working fine.
Hope that helps, and i'll let ya know if i got that ubuntu version wrong at all, but im pritty sure thats what it is.