Trenz Electronic GmbH Support Forum

Trenz Electronic Products => Trenz Electronic FPGA Modules => Topic started by: amb_kosh on May 16, 2014, 06:03:51 PM

Title: Problems running linux kernel 3.13 for TE0720
Post by: amb_kosh on May 16, 2014, 06:03:51 PM
Hello,

I'm trying to build a working version of github.com/Xilinx/linux-xlnx (master-branch) for the TE0720 (+ TE0701-03). I've managed to rebuild kernel linux-te-3.9, even using changed options. But for the Xilinx-tree I've build several versions of the kernel using different configurations without success - e.g. te_zynq_defconfig from 3.9, xilinx_zynq_defconfig or the kernel patches from Trenz and others. I also tried several devicetrees, in fact I did not test all the combinations of dtb+kernel. They were all building correctly but did not start on the Trenz module:
QuoteU-Boot 2013.01-00011-gc260602-dirty (May 16 2014 - 15:39:43)

I2C:   ready
DRAM:  1 GiB
WARNING: Caches not enabled
MMC:   zynq_sdhci: 0
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Gem.e000b000
Hit any key to stop autoboot:  0
zynq-uboot> run tftpboot
TFTPing Linux to RAM...
[...]
## Booting kernel from Legacy Image at 03000000 ...
   Image Name:   Linux-3.13.0-xilinx
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3558520 Bytes = 3.4 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02000000 ...
   Image Name:   Zynq Embedded Linux
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    5848260 Bytes = 5.6 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
   Booting using the fdt blob at 0x02a00000
   Loading Kernel Image ... OK
OK
   Loading Ramdisk to 1fa6c000, end 1ffffcc4 ... OK
   Loading Device Tree to 1fa67000, end 1fa6bc54 ... OK

Starting kernel ...
The kernel with the xilinx_zynq_defconfig did indeed load and start on a ZedBoard (with its own dtb) but not on the Trenz board. As you might see, I also rebuild U-Boot, which is working correctly.
Does someone has a clue what I am missing?

regards

Jörg
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Oleksandr Kiyenko on May 19, 2014, 09:53:31 AM
Hello,
There is some bug in xilinx clock manager driver which cause boot problems with some system configurations. In this example preblem occur when UART1 is not exist in DTB. If you add uart1 (which not really used as TE0720 use UART0 by default) system should boot. For example you can take my DTB from https://github.com/Trenz-Electronic/TE0720-GigaZee-Reference-Designs/tree/master/TE0720-01_TE0701-03_Base_Vivado-2014.1/ready_for_download
This repository use latest kernel from xilinx and boot ok on TE0720-01 + TE0701-03

Best regards
Oleksandr Kiyenko
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: amb_kosh on May 20, 2014, 08:14:27 AM
Hello Oleksandr,

there seems to be more to this issue, than the devicetree. I checked the zynq_gigazee.dts that I was using and found two uarts in there.
And I did an investigation on the startup behaviour using your files and mine.





fileyoursmine
boot.bin14
uImage (kernel 3.13)25
devicetree36
Now I tried all possible cominations regarding the startup behaviour, the results are:









123OK
126NOK
153OK
156NOK
423NOK
426NOK
453NOK
456NOK

So at least I could exchange the kernel but in future I will also have to use my own bootloader. On the other hand I could use my bootloader for starting kernel linux-te-3.9. btw: my goal is to build a kernel 3.14-rt

regards

Jörg
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Oleksandr Kiyenko on May 20, 2014, 09:42:43 AM
Hello Jörg,
Which vivado version are you use? There is some changes in latest vivado which can affect to boot. For example UART base frequency and interrupt numering is differ than in previous versions.
If you use latest 2014.1 vivado, better take my reference project https://github.com/Trenz-Electronic/TE0720-GigaZee-Reference-Designs/tree/master/TE0720-01_TE0701-03_Base_Vivado-2014.1 so this way we will have the same settings and it will be easily to work with your issues. I also have interest to build RT kernel so it will be good if you can share your work details.
Which repository for kernel are you use ?

Best regards
Oleksandr
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: amb_kosh on May 20, 2014, 12:51:51 PM
Up till now I am using SDK 2013.4 on Ubuntu 12.04 (but this could be changed quickly). I'm not using Vivado as I don't build any FPGA code, this is done by a colleague. To build my own boot.bin I have used the FSBL and bitstream file by Trenz and just replaced U-Boot (with the one from the Xilinx repo)
For the rt-kernel... I cloned the Xilinx kernel repo (branch master-next), applied the RT_PREEMPT_PATCH and build the kernel, so far without complications. Then I tried to start the kernel on the Trenz board... :o

Is it advisable to install the new SDK and regenerate all involved code except the bitstream (FSBL, u-boot, boot.bin, kernel, devicetree)? If possible I would like to avoid Vivado.
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: amb_kosh on May 22, 2014, 12:16:09 PM
Hello Oleksandr,

I now have installed Vivado 2014.1 (on Linux). I took your project and generated the bitstream, build the FSBL and a boot.bin.
Unfortunately with this boot.bin - I think it's related to the FSBL - the board isn't booting at all, so I'm not seeing any output. Which seems to me that even U-Boot isn't coming up.

regards
Jörg
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Oleksandr Kiyenko on May 22, 2014, 03:29:46 PM
Hello Jörg,

Unfortunatelly I did't work with linux version of vivado yet, so it's hard to say what was wrong, but most probably FSBL was incorrectly generated.
Actually, to work only with linux you can use precompiled files to generate boot.bin. I can  send you my FSBL.elf and bit file if you want.

Best regards
Oleksandr
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: amb_kosh on May 23, 2014, 11:50:40 AM
Hello Oleksandr,

now I've managed to build an FSBL by myself (Windows + Linux) - The problem with Linux was presumably the project position on a vbox shared drive.
The problem I have now is with U-Boot, because with my new FSBL my own U-Boot, which worked flawless up till now, just prints out invalid characters. This rather looks like a wrong baudrate setting. It seems to be interactive, but I can't really tell obviously.

regards
Jörg
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Oleksandr Kiyenko on May 23, 2014, 12:49:58 PM
Hi Jörg

Vivado 2014.1 generate FSBL with UART base frequency 100 MHz, instead of 50 MHz in previous versions.
You should change u-boot UART settings and rebuild u-boot.

Best regards
Oleksandr
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: amb_kosh on May 23, 2014, 04:08:51 PM
So now I'm kind of back at the starting point. FSBL, bitstream and U-Boot are build by myself but now it seems I'm unable to start any kernel. Neither my own nor yours and also the devicetree seems to make no difference.
I've used zynq-gigazee.dts from linux-te-3.9 for building a dtb for linux-xlinx-3.13. And I've also changed uart-clock to the new value (dont know if this was neccessary) but this didn't help either. I'm still (or again) seeing no output from the linux kernel.
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: amb_kosh on May 26, 2014, 02:08:43 PM
Hello Oleksandr,

for a sophisticated failure search I think it would be helpful to have your FSBL and bitstream. As it seems that I'm unable to build a working FSBL this perhaps gets me closer to a solution.

Thank you

Jörg
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Oleksandr Kiyenko on May 26, 2014, 05:15:42 PM
Hi Jörg,
Files is to big to attach. Give me your e-mail or contact me a.kienko(at)trenz-electronic.de

Best regards
Oleksandr
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: amb_kosh on July 16, 2014, 04:00:54 PM
Hello Oleksandr,

for your interest, the problem was caused by vivado. Although I regenerated the bitstream, the second UART wasn't included. In vivado I just had to open the block design and open the settings for the second uart and close it right away. After regenerating the bitstream the second uart was included in the system.xml and then at last the SDK built a working FSBL.

Thank you

Jörg
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: mica on July 17, 2014, 03:24:28 PM
Hello,

I have pretty much the same problem as Jörg. My hardware is nearly the same TE0720-02 (+ TE0701-03). I was able to build the linux kernel from the Trenz git repository linux-te-3.9. I used TE0720-01-2IF.dts from that repository. With that the board bootet successfully from sdcard.

Now I'm trying to upgrade to Kernel 3.14, using the Xilinx git repository (https://github.com/Xilinx/linux-xlnx), master branch. Problem is, there is no TE0720-01-2IF.dts available in that repository. So I am using TE0720-01-2IF.dts from the Trenz git repository linux-te-3.9 instead. The kernel and the devicetree.dtb are built successfully. But they don't boot. Last message I see in the terminal is from uboot saying "Starting kernel ...". No more messages appear.

In both cases I use uboot 2013.01 built from the Trenz git repository, and the FSBL from example "TE0720-01-Base" (http://www.trenz-electronic.de/de/download/d0/Trenz_Electronic/d1/TE0720-GigaZee/d2/reference_designs.html). I don't use custom FPGA logic right now.

What is going wrong? I don't really understand that from the previous posts here in the forum.
Why is TE0720-01-2IF.dts not working with Kernel 3.14?
How does that relate to the UART base frequency and interrupt numbering?

Right now I am not able to generate my own dts file, because I don't have Vivado to create a BSP. I only have Xilinx SDK 2014.2 for Windows.
Is there a reference TE0720-01-2IF.dts available for Kernel 3.14? I would like to try that.

My goal is same as Jörg's: Build a kernel 3.14-rt using RT_PREEMPT_PATCH.

Thank you,
Michael
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Oleksandr Kiyenko on July 18, 2014, 08:13:20 AM
Hello Michael,

DTS for kernel 3.13, 3.14 have a lot of differences from 3.9. You can't use this DTS for new kernels. You can use dtb from
https://github.com/Trenz-Electronic/TE0720-GigaZee-Reference-Designs/tree/master/TE0720-01_Base_Vivado-2014.1/ready_for_download
Also I attach DTS to this post.


Best regards
Oleksandr Kiyenko
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: mica on July 21, 2014, 05:34:48 PM
Hello Oleksandr,

your example project "TE0720-01_Base_Vivado-2014.1/ready_for_download" is working on my board.

Then I tried the dtb from that example with my kernel 3.14 and root-fs. That doesn't work.
Next I tried the dts (attached to your previous post). I rebuilt dtb from that and tested with my kernel 3.14 and root-fs. That also doesn't work.

Looks like my kernel 3.14 + root-fs is not running. But I have no idea why. There is no output to the terminal from the kernel. No ethernet, too. So I am kind of stuck now.

Any idea?

When building kernel 3.9 from the Trenz repository, I use kernel defconfig "te_zynq_defconfig".
When building kernel 3.14 from the Xilinx repository, I use kernel defconfig "xilinx_zynq_defconfig".
Might this be the reason? What defconfig do you use for your kernel 3.13/3.14?

Kind Regards,
Michael
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Oleksandr Kiyenko on July 22, 2014, 08:32:30 AM
Hello Michael,

Rootfs is not so important on begining (during initial kernel load), it important from moment when kernel mount it.
As for me to debug your situation with kernel, I see steps:
1) Build new kernel
start from
make ARCH=arm xilinx_zynq_defconfig
and then via
make ARCH=arm menuconfig
edit kernel paramethers to add to kernel blocks used in your devicetree
RTC, I2C GPIO switch, MEMs (if some TE0720/TE0703 peripherials are not used it should be removed from device tree)
2) Build DTB from my DTS (atteched to my previous post).
3) Try to run linux with this set of files
4) If it working you can try to patch kernel

Best regards
Oleksandr
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on September 05, 2014, 09:07:06 PM
I too have been struggling with this same issue but just now discovered this thread.

Would it be possible for you to post the kernel config file and dts that have been shown to boot successfully when using the xilinx linux kernel git?
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Oleksandr Kiyenko on September 07, 2014, 12:39:14 PM
Hello,

I already post dts in this thread, so I attach only my current kernel config.

Best regards
Oleksandr Kiyenko
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: daveo on September 09, 2014, 09:04:40 PM
Another 'me too' post with the system hanging at "Starting kernel ...".

I followed the instructions at https://wiki.trenz-electronic.de/display/TE0720/Xilinx+repository (https://wiki.trenz-electronic.de/display/TE0720/Xilinx+repository) and compiled a kernel based on the 'xlnx_3.14' branch of linux-xlnx.

Then I applied the u-boot patch against master-next of u-boot-xlnx, and modified accordingly.  [But without knowing how to generate a boot.bin outside of Vivado, I have not yet tried running this u-boot image -- any tips here?]

I've tried various combinations of boot.bin, devicetree.dtb, uImage, and uramdisk.tar.gz with no conclusive results yet, other than that the Trenz-provided images work and if I use my own uImage it hangs.

Part of me wonders whether this is a failure of getting the kernel command line arguments.  Since both the console output and the default IP address is set via the cmdline, if that is messed up I'm not sure what would happen.

Best regards,
Dave Oostdyk
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on September 09, 2014, 11:34:06 PM
Thanks- but it looks like the dts posted is for the te0720-02 and I have the te0720-01... should there be any dts differences?
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Oleksandr Kiyenko on September 10, 2014, 08:44:40 AM
Hello daveo,
I am not sure that my patch for old version of kernel and u-boot can be used for 3.14. To test your project you can take your kernel with some minimal dts (just change console settings to uart0 in some of example zynq dts and remove not used peripherals).
Best way to debug is take precompiled kernel devicetree and ramdisk and replace it one by one by your own.

Best regards
Oleksandr Kiyenko.
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: daveo on September 10, 2014, 10:44:04 PM
I seem to be missing just enough kernel sources and/or history to accomplish my goal.

1.  The linux-te-3.9 repository builds a kernel that I am able to boot successfully.  This could serve as a useful basis for moving forward, except this repository was created as a 'dump' of a kernel checkout, and it isn't clear to me _which_ checkout formed the basis of the linux-te-3.9 repository.

2.  The link, https://github.com/Trenz-Electronic/TE0720-GigaZee-Reference-Designs/tree/master/TE0720-01_TE0701-03_Base_Vivado-2014.1/ready_for_download (https://github.com/Trenz-Electronic/TE0720-GigaZee-Reference-Designs/tree/master/TE0720-01_TE0701-03_Base_Vivado-2014.1/ready_for_download) contains a 3.12.0 kernel image which I can boot, but I haven't been able to find either sources or a repository with this kernel version.

3.  The linux-xlnx kernel compiles, yet I haven't been able to successfully boot it; the system hangs at "Starting Linux ...".  Is there a particular branch of this kernel that is recommended for the TE0720?

4.  Out of curiosity I gave the 'linux-stable' kernel a try, using some of the .dts files found in linux-xlnx.  Same situation with hanging at boot as for the linux-xlnx image.

My primary goal for the time being is to fix the clock precision of clock_gettime() and associated functions.  There are a number of threads on the topic, such as http://forums.xilinx.com/t5/Embedded-Linux/Zynq-kernel-debugging-using-FTRACE-timestamp-resolution/m-p/414533#M7888%29.. (http://forums.xilinx.com/t5/Embedded-Linux/Zynq-kernel-debugging-using-FTRACE-timestamp-resolution/m-p/414533#M7888%29..).  It seems that Kernel 3.12 _should_ have the CONFIG_ARM_GLOBAL_TIMER option available, but it doesn't seem to be present in the (binary) 3.12.0 image posted earlier in this forum.  The linux-stable and linux-xlnx have this option but of course cannot seem to boot.

Therefore my questions are:

* How to get a booting kernel image that has CONFIG_ARM_GLOBAL_TIMER enabled?

* Which devicetree image should I be using for the TE0720-01-2IF?
  - TE0720-01-2IF.dts  (boots)
  - TE0720-01-xxF.dts  (does not boot; is this newer than TE0720-01-2IF.dts?)
  - TE0720-02.dts      (does this apply to the -01-2IF?)
  - One of the various zynq-*.dts files from linux-xlnx?

* Do any of the .dts files that work with the TE0720 actually define ps7_globaltimer_0 as discussed in the Xilinx forum linked above?

Thank you for any help.

Dave Oostdyk

Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Oleksandr Kiyenko on September 12, 2014, 02:07:06 PM
Hello daveo,

My last 3.13 kernel from xilinx repository
commit f27f400f43062b28d2b6f0977e50492b851d7464
Date:   Mon Apr 7 10:30:15 2014 -0700
Think that it should have options you need.
I attach kernel config and devicetree.
It's not the latest revision as now we working on petalinux release for this board.

Best regards
Oleksandr Kiyenko
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: daveo on September 12, 2014, 03:46:59 PM
Hi Oleksandr,

Thank you for sharing your exact kernel version, config, and devicetree.  That helps eliminate some variables with testing!

Unfortunately I still get the problem of hanging at "Starting Linux ..." even with this kernel.  I've tried three different arm coss-compile toolchains to rule out any issues there (Vivado 2013.4, buildroot, and gentoo-crossdev).  I'm currently testing with boot.bin and uramdisk.tar.gz from taken from your TE0720-01_Base_Vivado-2014.1/ready_for_download reference design.

Any suggestions?

Thanks for the help thus far!

Dave O.
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Oleksandr Kiyenko on September 16, 2014, 02:57:17 PM
Hi Dave,

Ususally problem with kernel start is related to memory. There is some check list
1) Check that your FSBL have correct DDR settongs (Run memory test from SDK)
2) Check memory settings in u-boot (u-boot should be configured to use same amount of memory than linux kernel or less)
3) Check that right amount of memory is configured in your device tree
4) Check that your device tree is match your hardware (device drivers configured in device tree but not existed in hardware can also result such problem)
5) Check that your system FSBL/u-boot/device-tree is configured to use UART0 (otherwise kernel boot messages will be sent to non-existent UART)
6) In your hardware project should be enabled UART0 and timer.

Better to start from working project like https://github.com/Trenz-Electronic/TE0720-GigaZee-Reference-Designs/tree/master/TE0720-01_Base_Vivado-2014.1
and sytart modify/replace system files to your own.

Best regards
Oleksandr Kiyenko
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on October 09, 2014, 07:02:44 PM
I too have been stuck at the same point for a while now and decided to wait for a code update.

Now that Vivado 2014.3 is out will there soon be updated code from Trenz to work with this new Xilinx release (such as a new 2014.3 bsp)?
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Antti Lukats on October 09, 2014, 10:26:10 PM
hi

unfortunately maybe problems-delay: Vivado/SDK 2014.3 are released, but not petalinux or device tree generation for new vivado, so currently it is NOT possible to use Vivado 2014.3 for linux development. We are waiting for Xilinx response on this issue.
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on December 16, 2014, 03:55:13 PM
Now that Vivado 2014.4 and Petalinux 2014.4 are both out will there soon be a matched set of bsp, Xilinx repository Linux config file and device tree dts from Trenz to permit the latest Xilinx Linux kernel to boot correctly on the te0720-1?
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Thorsten Trenz on December 16, 2014, 05:10:41 PM
Hi,
yes. we are working on it right now. We will announce it here, as soon as it is online.

Best Regards
Thorsten Trenz
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on December 16, 2014, 07:28:54 PM
Great!  And as an unrelated question are there any plans for future Trenz GigaZee modules with other Zynq chip variants (like the Zynq 7z015, 7z030, 7z045 etc.)?  We're looking for a future module with a Zynq chip variant that supports multi-gigabit serial transceivers (if the current module connectors have sufficient signal integrity to supports these).
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on December 16, 2014, 07:33:29 PM
From the Zynq-7000 All Programmable SoC Technical Reference Manual:
"Low-power gigabit transceivers (7z015, 7z030, 7z045, and 7z100 devices)..."
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Antti Lukats on December 16, 2014, 09:33:10 PM
7015, 7030 module, compatible to TE0720 is coming, yes.
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on December 16, 2014, 09:35:18 PM
Great!  When?  Any very rough timeline you could give would be helpful.
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Thorsten Trenz on December 18, 2014, 10:02:29 AM
He,
we expect protos end of January.

Best Regards
Thorsten Trenz
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on January 09, 2015, 07:19:41 PM
Any progress or release timeline for the matched set of bsp, Xilinx repository Linux config file and device tree dts from Trenz to permit the latest Xilinx Linux kernel to boot correctly on the te0720-1 (all of this for the 2014.4 releases of Vivado and PetaLinux)?
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Antti Lukats on January 12, 2015, 11:56:32 PM
YES. Most everything seems to be OK.

1) flashcp has problems whem image to write crosses 16Mbyte boundary, not sure if this is new issue or old.

Release very soon.
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on January 13, 2015, 12:51:43 AM
Great!  Is the problem just with the flashcp utility or is general reading of files from flash by the OS affected too?
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Antti Lukats on January 13, 2015, 05:56:00 PM
no issues reading, also when read crosses the 16MB boundary. seems a flaw with flashcp or some driver-setting. We had to workaround in one project to place the image.ub above 16MB to prevent the partition to span both halfs of the flash.
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on February 02, 2015, 10:53:05 PM
I had earlier asked about the matched set of bsp, Xilinx repository Linux config file and device tree dts from Trenz to permit the latest Xilinx Linux kernel to boot correctly on the te0720-1 (all of this for the 2014.4 releases of Vivado and PetaLinux).  Has this now been released or has it been delayed?
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Antti Lukats on February 03, 2015, 09:59:56 AM
http://www.trenz-electronic.de/de/download/d0/Trenz_Electronic/d1/TE0720-GigaZee/d2/Test_Designs/d3/TE0720-02-GPIO.html

GPIO BSP, it has UART0 on MIO14, MIO15 all other B2B pins connected to GPIO devices
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on February 03, 2015, 08:01:55 PM
Excellent!  Does this code support the te0720-1 too or just the te0720-2?
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Antti Lukats on February 03, 2015, 08:03:53 PM
It is ok for -01 too
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: lcn on February 11, 2015, 10:39:15 AM
After read all th post seems that I'm facing same problem than the author and daveo comments.

I followed the instructions at https://wiki.trenz-electronic.de/display/TE0720/Xilinx+repository , compiled a kernel based on git://github.com/Xilinx/u-boot-xlnx.git and  git://github.com/Xilinx/linux-xlnx.git xilinx repositories

Then I applied the u-boot patch against master-next of u-boot-xlnx and  linux-xlnx (there is no support for TE0720 from original sources) and get the same result:

Quote
U-Boot 2013.01-00011-gc260602-dirty (Feb 10 2015 - 18:53:45)

I2C:   ready
DRAM:  1 GiB
WARNING: Caches not enabled
MMC:   zynq_sdhci: 0
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Gem.e000b000
Hit any key to stop autoboot:  0
Trenz-Electronic TE0720-02-2EF 0.03
Copying Linux from SD to RAM...
reading uImage
3356936 bytes read in 561 ms (5.7 MiB/s)
reading devicetree.dtb
9028 bytes read in 18 ms (489.3 KiB/s)
## Booting kernel from Legacy Image at 03000000 ...
   Image Name:   Linux-3.18.0-xilinx-gde831db
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3356872 Bytes = 3.2 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
   Booting using the fdt blob at 0x02a00000
   Loading Kernel Image ... OK
OK
   Loading Device Tree to 1fffa000, end 1ffff343 ... OK

Starting kernel ...



Petalinux aside (not an option for me), is not yet released  from Trenz  support to permit to use the latest Xilinx Linux kernel to boot correctly on the te0720??

Thanks
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Antti Lukats on February 11, 2015, 10:46:00 AM
petalinux is the LATEST kernerl, it all works with it

petalinux = yocto 1.7 and kernel 3.18

if you can not work witjh petalinux, you can install petalinux ONCE and copy the settings from there
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: lcn on February 11, 2015, 10:56:53 AM
Thank you for your quick reply, I'll try the solution that you propose me .

Surely, I won't work with Petalinux and I suppose there are other people at same situation. It would be so kind if Trenz could release a patch for git://github.com/Xilinx/u-boot-xlnx.git and  git://github.com/Xilinx/linux-xlnx.git xilinx repositories or a short tutorial for guide in  the copy of TE0720 settings that are included only in Petalinux.

Thanks
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Antti Lukats on February 11, 2015, 10:59:56 AM
with petalinux there are NO PATCHES needed.

petalinux is Xilinx OFFICIAL linux so we do all we can do support Xilinx Linux in first place.

We will have plain yocto based linux version also soon, but for the moment we focus on supporting the main linux that is choosen by Xilinx for Zynq and Microblaze: petalinux
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: lcn on February 11, 2015, 11:27:09 AM
I have been working  on several projects with Zedboard, Zybo and ZC706 with this workflow dowloading sources from U-boot and Kernel from repositories, all these years without Petalinux and Linaro at my rootfs, always very happy and everything  OK.

We have a project that currently works fine at Zedboard with these workflow, interfacing a custom FMC board.  All drivers for IC integrated in our board are fully supported with xilinx kernel, and packages and libraries supported at Linaro.

We are porting it to TE0720 because need an industrial platform for our product, but it is a worth of time to port ALL our libraries that have packages at Linaro to Petalinux (same with drivers). I really don't have a need to use Petalinux until now.
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Antti Lukats on February 11, 2015, 12:28:57 PM
please We do understand you do not want use petalinux. It is clear.
There is no need to either.

But petalinux is basically nothing more than:

yocto + linux

there is no special linux with petalinux, it is xilinx-linux
so as TE0720 works with petalinux (that uses xilinx-linux) we assume it works equally well with xilinx-linux without petalinux (so not yocto, etc)

asaik there should be no issues using TE0720 with recent kernel without petalinux, maybe I am mistaken.













Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: lcn on February 11, 2015, 12:52:38 PM
Yes, it is clear that if TE0720 works with Petalinux it should work with current xilinx-linux founded at xilinx repositories, the only thing I need is a proper config for TE0720. It would be so kind and easy for user if Trenz provides these files (or patches) without the need of install whole Petalinux Tools!

I think Trenz provides a fantastic support and there is available a lot of material (HW, SW, reference designs, etc) and also patches availables for older version of xilinx-linux and u-boot-xlnx, that's why I don't understand the lack of support for this workflow (as you said in previous post it should be an easy thing)

Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on February 14, 2015, 10:40:01 PM
Thanks for the link to the bsp.  And it's good that no patches are needed to the xilinx git repositories.  But it seems that there still are some missing pieces, specifically:

1) te0720 config for u-boot-xlnx
2) te0720 config for xilinx-linux
3) te0720 device tree script (.dts) for xilinx-linux

I have installed the full petalinux- are any of the files described above to be found in there somewhere?  Can you at least give us the names you've chosen for these so that I can search for these?  Is "te0720" in any of these files? I have searched in both of the xilinx repositories (linux and u-boot) and also in the full petalinux and found nothing...
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Antti Lukats on February 15, 2015, 08:40:43 AM
our published petalinux bsp of course includes

1) linux config - for xilinx linux 3.17
2) uboot config
3) top level DTS file

Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Antti Lukats on February 15, 2015, 08:49:45 AM
Quote from: Antti Lukats on February 15, 2015, 08:40:43 AM
our published petalinux bsp of course includes

1) linux config - for xilinx linux 3.17
2) uboot config
3) top level DTS file
4) fsbl_hooks.c

just install the BSP or just uncompress the bsp file if you do not want install petalinux. All the files are there.

Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on February 20, 2015, 01:03:27 AM
Yes I can install the BSP and Petalinux does seem happy with it... but then the build fails.  I'm using Ubuntu 14.04 64-bit.  At one point there was some advice from Trenz against using 64-bit Linux hosts.  Has that issue been corrected or might it be time for me to install 32-bit Linux to see if this makes the build succeed?
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Antti Lukats on February 20, 2015, 09:55:56 AM
you can get lucky with 64 bit also, but we can not test all linux derivates there are just too many of them.

I use centos-6.5-32 others use centos-6.6-64, both work, I guess there are many other version:combination that work, but we are unable to fix issues if those are related to specific linux versions.

If you have linux setup so that petalinux builds work, then ASFAIK our bsps should be usable as well.
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: lcn on February 23, 2015, 01:43:35 PM
Quotejust install the BSP or just uncompress the bsp file if you do not want install petalinux. All the files are there

Ok, there is inside  a lot of configs for u-boot, kernel... but how I integrate these file with xilinx repositories?? Anyone tried to uncompress the bsp file and use those files with xilinx repositories without Petalinux??
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on February 25, 2015, 10:02:15 PM
I'm using petalinux and below is the build failure I see by simply starting by using the TE0720-02-GPIO bsp and attempting to build.  The host is Ubuntu 14.04 64-bit and I believe that I have all of the build prerequisites installed correctly.  Any ideas?

dwright@dwright-Studio-XPS-9100:~/vtd_petalinux/TE0720-02-GPIO$ petalinux-build
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/spitool
[INFO ] pre-build linux/rootfs/uWeb
[INFO ] build linux/kernel
[INFO ] update linux/u-boot source
[INFO ] generate linux/u-boot configuration files
[INFO ] build linux/u-boot
[INFO ] build zynq_fsbl
[INFO ] Updating for armv7a-vfp-neon
[INFO ] Updating package manager
[ERROR] make[2]: *** [.pkg_update] Error 255
[ERROR] make[1]: *** [sub_build_component_/none/packages-repo/single/plnx-repo] Error 2
ERROR: Failed to build linux
dwright@dwright-Studio-XPS-9100:~/vtd_petalinux/TE0720-02-GPIO$
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Antti Lukats on February 27, 2015, 10:01:49 AM
Hi

We are really sorry that we can not test petalinux on all linux derivates.

We use in-house currently centos-6.5-32 and centos-6.6-64, in both cases we see no issues.

So we know that IF all pre requisites are installed correctly on supported linux platform then petalinux works without issues. We have no influence on Xilinx to make them to support Ubuntu. I know a lot are trying to make pressure on Xilinx, but it is just useless unfortunately.

Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: danwwright on February 28, 2015, 06:57:50 PM
Yes- it was a distro issue and not a Trenz issue.  But I'll post here how I fixed this for Ubuntu 14.04 64-bit for the benefit of others.   The failed build log showed a failure to load libstdc++6.so.  What was needed was the 32-bit version of this lib even though the OS is 64-bit.  I fixed it like so:

sudo apt-get install lib32stdc++6-4.7-dev
Title: Re: Problems running linux kernel 3.13 for TE0720
Post by: Antti Lukats on March 03, 2015, 03:03:38 PM
the lib++ 32 bit stuff is known issue, or at least it kinda rings a bell, that it has been needed, and thank you.

We are really focusing on getting the support design ready, and not testing linux distros. In virtual box it is ir-relevant what linux to install, if you have desktop PC with linux as primary OS, then of course would be nice to have petalinux working with your OS.