This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux EZSDK problems ad-nauseam

Other Parts Discussed in Thread: AM3358, AM3354

Hello all,


The Linux EZSDK is a misnomer: there doesn't seem to be anything easy about it.

Just downloading it was a chore. After a few days of corrupt downloads (an MD5 would be nice), I had to fight the "segmentation error" problem. The solution was to run in "text" mode, but finding that particular undocumented option took a few days. Every step doesn't work for some reason, and then I spend a day or two trying to find a work-around.

It's been a week, I am am only now getting to the very basic step of creating an SD card. You would think that at least that part would be EZ, but no, I'm getting this error:


Availible Drives to write images to: 

#  major   minor    size   name 
1:   8        0  976762584 sda
2:   8       16   30702592 sdb
 
Enter Device Number or n to exit: 2
 
Invalid selection!
These are the only Drives available to write images to: 

#  major   minor    size   name 
1:   8        0  976762584 sda
2:   8       16   30702592 sdb
 
Enter Device Number or n to exit: 

I've looked at the code in the script-file, but I can't make out how it is coming to the conclusion that "2" is an "Invalid selection!", when it clearly considering it valid when it generates the list.

Does anyone have a clue on how to work around this problem?

By the way: Our host Linux system is the latest SolydX distro (Debian based). We don't have any Ubuntu LTS systems here to try.

After this, I'm dreading the SDK for the PRUSS, which is the reason we are using these processors in the first place. I may be heading back to Freescale, as awful as that was.

  • Hello,

    There is recommendations about the host machine and etc, which you could find on EZSDK download page.

    For creating a SD card you could use a script which you could find under :

    ezsdk/bin folder.

    I would recommend you first to read a user guide about EZSDK :

    /ezsdk/docs folder.

    http://software-dl.ti.com/dsps/dsps_public_sw/ezsdk/latest/index_FDS.html

    "

    1. Development Host

    This release only supports Ubuntu 10.04 LTS 32-bit and Ubuntu 11.10 32-bit as your development host. Follow the instructions on this wiki page if you want to create a virtual Ubuntu image.

    "

    Best Regards,

    Margarita

  • Hi Margarita,


    Thanks for the reply.

    I have read the machine recommendation, which basically restrict you to Ubuntu LTS. That won't work for us - We have multiple Linux machines, but none of them are Ubuntu. SolydX, the machine we chose for this project, is Debian based, as is Ubuntu, so we can't see why this can't work, as it is very similar. We also can't see why a company with the resources of TI can't support Linux better, as the other companies do. We are a small company with limited resources, and can't spend on another machine. Perhaps TI could send us a machine, and we can debug their scripts in exchange.

    Yes, we have read all of the guides, more than once. We have printed them out so that we can follow them at the terminal, checking them off as we go. As is clear from the snippet that I posted, this is not a user / usage mistake that reading the manual again will fix. This is clearly a bug in the script.

    Is there someone that understands what that part of the script is trying to do and can fix it? It seems to me that someone was trying to be overly clever, and it bit them.


    Thanks again,

    Mark

  • Hi All,

    I called TI tech-support, and they wouldn't even take my question unless I was running Ubuntu LTS. My boss said to find another chip (meaning Freescale), but our computer supplier loaned us a Ubuntu system "on evaluation". So I'm working the weekend trying to salvage this project.

    Unfortunately, the system we received is Ubuntu 11.10 LTS. I thought that would be ok (none of the documentation implied that it wouldn't be ok), and I was able to install the SDK (but with the same "Segmentation error" and "image was modified" error that we work-around, however) and I was finally able to create an SD card with the original image and was able to run it. That's further than we could get with SolydX.

    I then tried to run "setup.sh". The "setup.sh" script gave me this error:


    Unsupported host machine, only Ubuntu 10.04 LTS and Ubuntu 12.04 LTS
    are supported
    Failed setup, aborting..

    Is this true that Ubuntu 11.10 LTS is not supported, even though is is right between the two supported versions?

    Is it documented somewhere why?

    Can I just edit the script to include 11.10 LTS? I would hate to have to download yet another Ubuntu image and start over from scratch simply because the script author was too lazy to include 11.10 LTS.

    This is quite urgent, for if I don't have the SDK working when everybody shows up Monday morning, it will be back to Freescale for us (at least we have those development tools working already).

    Thanks for any help anyone can provide.

    Mark

    EDIT:

    OK, I just reread post number 2 above, and Margarita specifically mentioned 11.10 LTS as being supported. So something is wrong with the SDK.

  • Hello again Margarita,

    I appreciate the help, but it seems I neglected to mention that I am trying to use version 7.00.00.00 of the EZSDK (the one that supports the PRUSS with Linux drivers), while you are using version 5.05.02.00 (based on the link in your post). I have determined from the scripts that the two versions of EZSDK do not support the same versions of Ubuntu, and the documentation on the SDK wiki is conflicting and largely incorrect.

    I talked to phone tech-support, and he had incorrect information as well. So I appreciate the help you provide with a product that is far from mature.

    mark

  • Hello Mark,

    What  is the TI hardware platform on which you are trying to run the EZSDK 7.0?

    Best Regards,

    Margarita 

  • Hi Margarita,

    We will probably be using the Sitara AM3354 for production, but we are currently prototyping with the AM3358 on the BeagleBone-Black (rev C, with the 4-gig flash).

    mark

  • Hello,

    Are you meaning Linux SDK 7.0 for Sitara not EZSDK? Because in this case you should use like host machine Ubuntu 12.04  LTS version  on which is validated.

    I would recommend you to follow this user guide:

    http://downloads.ti.com/sitara_linux/esd/AM335xSDK/latest/exports/sitara-linuxsdk-gsg-07.00.00.00.pdf

    Best Regards,

    Margarita

  • Hi Margarita,

    It is definitely EZSDK for Sitara, as downloaded from this page:

    http://www.ti.com/tool/LINUXEZSDK-SITARA

    It is the eighth entry down, titled:

    LINUXEZSDK-BONE:
    Linux EZSDK for BeagleBone, BeagleBone Black

    I'm pretty sure that they are the same thing, however, but going by two different names. We have been using that same document that you linked to above, which doesn't mention EZ, as we found that document referenced in other EZSDK documentation two weeks ago.

    Matter of fact, it was that document that led us to believe we could run the SolydX version of Linux instead of Ubuntu, as SolydX is better geared toward program development. Ubuntu Linux is better for the secretarial pool. The SDK manual says:


    Can you use other versions of Ubuntu or even other distributions? Theoretically, yes, as long as you can get it to work and there may be more “assembly ”required.


    This turned out to be not true, as the scripts in the SDK test for and enforce particular versions of Ubuntu. The manual should read:


    Can you use other versions of Ubuntu or even other distributions? No.


    The above manual change would have saved us a week of troubleshooting and saved me from having to work the weekend.

    mark

  • You will definitely want to use 12.04 with SDK 7.0 to make things as simple as possible.  If you aren't able to get a machine installed with 12.04, have you considered using a Virtual Machine?  The SDG has instructions here on how to do this.

  • Hi Jelliott,

    Thanks for the reply. It is much appreciated.

    I have good news and bad news. The bad news is, after replacing Ubuntu 11.10 with a clean install of 12.04 LTS, we still had some of the issues with the SDK mentioned above. So we dropped the Sitara and went back to Freescale for this project. It's a shame, as we really wanted to use the PRU-ICSS to interface to our network, as Linux has a hard time with the real-time requirements. But the Sitara / Linux development tools still need work. We have a pile of BeagleBone-Blacks now, so I will keep experimenting. We may try again in a few years, if the tools look more mature.

    The good news is that once our Freescale distributor had heard that we were looking at Sitara for this project, he gave us an incredible discount.

    I've been saying this for thirty years: It doesn't matter how advanced a particular chip is, it is the development tools that make or break a project. It's ironic that we were switching from Freescale because we thought their support was lacking, and we were surprised with what we found at TI.

    Live and learn.

    mark

  • Sorry to hear about your troubles with the SDK; the host setup can definitely be a pain.

    If you continue to play around with the BeagleBone and you have any other questions about the SDK, I'd recommend you post directly to the Sitara e2e forums, as your posts will get a lot more attention there (the TI Sitara apps engineers monitor that forum closely).

    Another great resource is the Sitara Software Developer's Guide if you haven't seen it.  There's a lot of details about the SDK linux distribution all the way down to the kernel and uboot.

  • Hi Josh,

    Thanks for the pointers.

    I have been using the Sitara SDG, but after looking at the Sitara forum, I realize there is a better place. I now have the SDK running, but now I'm having problems with the PRU-ICSS SDK, so I will search over at the Sitara forum.

    We already have some BBBs running in the field with my firmware, but I had built them with the standard Debian distro, so it was easy. I didn't need to change the kernel, I just needed to add libraries.

    mark