Building SDK 1.3.2

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Building SDK 1.3.2

Building SDK 1.3.2

I recently pulled down SDK 1.3.2 from Freescale's SDK download site and had a chance to try and install it on a P3041DS system I have lying around. There's a lot of info in the ISO, but I thought I'd go through an initial build step by step to document what the flow is.

First thing to note is that there is more than one ISO image available.

SDK_list.jpg

I already have a Ubuntu lucid machine, that I use as a build machine. So I didn't need the virtual images. I'll need the source file - so I downloaded QorIQ_SDK_V1-3-2_SOURCE_ISO, and I am going to try this on a P3041, so I downloaded the e500mc binary. The binary isn't necessary, but it speeds up the builds significantly.

When they've finished downloading, the first thing to do is mount the source ISO

mount.jpg

Within the source ISO there's an install script. I run that and let it do it's thing. Important to note that there's documentation contained within the document's directory. If you go to documents/START_HERE.html you will get html based documentation on the SDK. And, if you keep drilling down and go to documents/sdk_documentation/pdf there are some pdf documents for various features. The document QorIQ_SDK_Infocenter.pdf is a complete collection of the SDK documentation taken from the Freescale infocenter site.

Once, the source is install, I do the same for the binary.

mount_2.jpg

Make sure you install the binary on top of the source (i.e. in the same directory).

We then call the FSL poky script - which sets up the build.

build_1.jpg

In this command the -m tells it what machine you're going to build to. -j indicates the number of jobs for make to spawn, and -t is how many bitbake tasks to be run in parallel.

At this point I'm ready to build. I have some options for which image I want to build - I'll go with the core image, which contains some of the more common packages. So, at this point I need to make sure I'm in the build_p3041ds_release directory, and issue the command

bitbake fsl-image-core

which initiates the build process.

When all is said and done, I can find my images in the build_p3041ds_release/tmp/demply/images directory.

images.png

In my case, I have quite a few images because I've actually built the core and full images. Next, I have to grab these images and deploy them to my target.

Tags (1)
Comments

Thanks for a simple and brief flow

I am not really familiar with yocto environment yet so I have a few questions.

What is the recommend way for the following development scenarios:

- I would like to modify some start-up scripts in the root filesystem and then regenerate the root filesystem image again for testing on the hardware. Is there any root file system directory inside tmp directory so I can directly modify?

- I would like to quickly cross compile some other application and then simply put onto the root file system for testing purpose. Is there cross toolchain available in the tmp directory as well so I can use?

Thanks for the feedback - I've added a new document that covers exactly what you're asking for. It should be visible tomorrow. I'll come back and provide a pointer when it's available.

Here's a link to the doc I mentioned:

https://community.freescale.com/docs/DOC-94807

Well, there's one thing that's not clear to me : at first, Paul said the SDK would be installed on a P3041DS system, and then on a Ubuntu Lucid machine. Huh, is it a Ubuntu installation on a P3041 ? Not sure of that; I guess it's rather a x86 machine, No ? is Ubuntu Lucid (on x86 !?) the single supported host for installing these SDKs (didn't find any list of recommended host (OS+archi) machines) ? This request for clarification may sound stupid to all of you, but for a beginner...

By the way, after reading the chapter "KVM/QEMU" of the QorIQ SDK documentation, another thing is not clear to me : can we use Qemu to emulate a e500v2 core family processor on a x86 host machine ?

Hello Paul,

thanks  for your document.it is helpful esp. For a novice like me.

you have described procedure till building images.how do I transfer it to my processor?

i Am using FS T4240 qds and I want to boot ubuntu onto it.

i Have seen the information centre documentation but I don't understand.

can you please suggest how to go about it?

thanks,

Aravind Ganesan

Sorry for the confusion. I'm using Ubuntu is on my x86 to cross compile the SDK. I then transfer the compiled SDK images to my target and boot the linux on the target.

I use an x86 to cross compile the SDK (though it's possible to build it natively if you prefer).

Then, to transfer it you have some options. Is anything running on the target board? Since it's a QDS, I imaging U-boot comes up. The easiest way to use your compiled image is to TFTP them from the desktop x86 server to your T4240 target. To do this you need a TFTP server running on your desktop PC. Here's a link to set it up under Ubuntu:

How do I install and run a TFTP server? - Ask Ubuntu

The SDK binaries are located within the SDK directories. In your case it should be under /../build_T4240_release/tmp/deploy/images/

There should be a bunch of files in there:

     u-boot[...].bin (this is the SDK's version of U-boot)

     uImage[...].bin (this is the linux kernel)

    uImage[..].dtb (this is the device tree which describes the board)

     fsl-image-[full/core/etc...].tar.gz  (this is the root file system)

    fsl_fman_ucode[..].bin (this is microcode to run on the FMAN)

Be careful if you're upgrading U-boot, especially between SDK revisions. The memory map may change. It's always a good idea to check the SDK documentation here:

Freescale Technical Information Center

If the QDS shipped with the same version of SDK, for example, and you're just updating the Linux with one you built yourself it's relatively simple. I'm running SDK 1.5 currently - in the SDK documentation, chapter 4.1.1 goes through setting up your server, then chapter 4.2.1 goes through transferring the image to the target.

There are a couple of ways to deploy a new linux: NFS (which may be complicated to set up on your hose) and ramdisk (running out of ram on the target) are the most common. I would recommend starting with ramdisk.

On the desktop you would have to copy the binary over to your /tftpboot directory. Then from the u-boot on the target you need to transfer it over, section 4.2.1.7.1 in the SDK 1.5 document goes through this procuedure.

Clipboard01.jpg

I hope that helps give you some guidance.

... Paul

Dear Paul,

Thanks for your elaborate explanation.

It really helped me to get an idea.

Instead of using a tftp server to transfer the image can I use sd card.

I have created an image bitbake fsl-image-core

So can i just load this onto a sd card and then use uboot to boot the processor?

4.2.1.5.4 Configuring U-Boot for SD deployment

How do i open the u-boot prompt and set the environment.

I have seen your references but still I have few doubts.

Can you please help.

Thanks

Aravind

Yes, you can. You would need to transfer the images onto the SDCARD, then plug it into the system.

In U-boot you can verify it sees a card:

     => mmc list

     FSL_SDHC: 0

Then you can list what's on the card, the command will be differend depending on the filesystem you're using. It could be ext2ls or fat2ls. In this example below I'm using a FAT filesystem. And I'm not loading a linux image - it's actually just a picture off an SDCARD (it's the only SDCARD I had laying around at the time) but the procedure is the same

=> fatinfo mmc 0
Interface:  MMC
  Device 0: Vendor: Man 000003 Snr 44563500 Rev: 0.2 Prod: SD08G
            Type: Removable Hard Disk
            Capacity: 7580.0 MB = 7.4 GB (15523840 x 512)
Filesystem: FAT32 "NO NAME    "
=> fatls mmc 0
            dcim/
            misc/

0 file(s), 2 dir(s)

=> fatload mmc 0 100000 /dcim/100canon/img_0908.jpg

reading /dcim/100canon/img_0908.jpg

7100008 bytes read in 347 ms (19.5 MiB/s)

Dear Paul Genua

Thanks for your response.

I have copied the image into sd card.

I am having another doubt .

I have to test the mport driver. ( IDT Tsi721 PCI Express SRIO Controller support ) for t4240qds. I have already added support for it by modifying the kernel.

I have also copied this onto sd card.

So how do i test this driver?

Do u know any test cases?

P.S I jave seen FS Tech infocenter in the USDPAA and SRA manuals but i dont know how to get started.

Please help

Thanks

Aravind

Dear Paul

Thanks.

I have successfully booted t4240.

I have got login terminal.

But I will have to add a module to it.

I have included support for tsi721 pci to rapidio bridge and I have booted this image to t4240.

Now I am having driver code for tsi721. how do I enable it?

Thanks

Aravind

You probably want to check your modules.

lsmod shows you the modules that are loaded currently.

insmod would insert the module

So you should only need to find the .ko kernel module and then insert it with insmod.

Dear Paul

Thanks.

But from where will I load the module.

The module will be in standard Linux but I need to integrate it to uboot.

Many commands of Linux won't work in uboot no.

How to go about it?

Thanks

Aravind

On Sep 24, 2014 10:05 PM, "Paul Genua" <admin@community.freescale.com>

No ratings
Version history
Last update:
‎05-01-2013 11:59 AM
Updated by: