How to use LTIB to get a kernel + root fs as delivered with the i.MX53 START

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

How to use LTIB to get a kernel + root fs as delivered with the i.MX53 START

2,223 Views
Rooney
Contributor III

Hi!

 

I'm absolutely new to Linux, especially Linux on embedded systems, so please forgive me if some of my questions seems to be stupid...

 

I bought an i.MX53 START board + MCIMX-LVDS1 display and I'm using the VM provided by Freescale including the BSP L2.6.35_11.01.00.

 

My goal is to develop a Qt application that is running on this board.

 

I could already compile a new u-boot version from source, the kernel (based on the description at http://www.elinux.org/Freescale_IMX53QSB) and could successfully set up ATFTP and NFS to boot via network.

 

The problem with the compiled kernel is that there is no graphic shown. The u-boot variables are correctly set, that has been prooven using the precompiled kernel delivered by Freescale. So I believe the problem is the configuration of the kernel.

 

Which steps must be executed to build a kernel from source without ltib, that is supporting the complete hardware features of the i.MX53 START?

How to enable LVDS?

The L2.6.35_11.01.00_ER_source.tar.gz includes lots of packages for the root file system? Are they required to support the LVDS display?

 

I would prefer to build the kernel and the root file system separately without using ltib. But this seems to require lots of patching of different packages.

 

If I use ltib... how to add additional packages?

 

Regards,

Rooney

Tags (1)
0 Kudos
Reply
10 Replies

1,713 Views
Rooney
Contributor III

I tested the fluidlauncher included in the Qt demos and it works perfectly with the file system generated with ltib (min profile + some additional packages) and with an other file system generated with debootstrap (sudo debootstrap --arch armel --include="lynx,nano,wget,udev" --foreign lucid rootfs).

In the second case I've to copy the /usr/lib of the ltib root fs to my root fs generated by debootstrap. Obviously, there are some libraries missing, so I've to find out how to setup debootstrap correctly so that it works without using ltib at all.

 

During this steps a few new problems occurs, but I will open new discussions for those.

 

Thanks for all your support!!!!

0 Kudos
Reply

1,713 Views
Rooney
Contributor III

Thanks, I will try to use the cross compiler included in ltib.

By the way some folders from ltib are referenced by the qmake.conf described in http://www.imxdev.org/wiki/index.php?title=All_Boards_Qt, so it is not only the cross compiler that is required...

 

Compiling Qt with 3D support does not work on my machine, because opengl is not found. I'm not sure at the moment what have to be changed in ltib so that the library is generated. I just used the min profile in ltib without adding additional packages except those mentioned http://www.imxdev.org/wiki/index.php?title=All_Boards_Qt#Building_Qt.2FTarget (amd-gpu-bin-mx51, glib2 etc.)

Using the spec files without 3D engine support is successful.

 

So I will copy the Qt libs to my root filesystems and hopefully it works ;-)

Will tell you soon.

0 Kudos
Reply

1,713 Views
rogerio_silva
NXP Employee
NXP Employee

Yes, Krishna is correct. You're only using the tool (Cross compiler) ltib installed on your machine, but it doesn't have any LTIB dependency.

They're located on your PC at /opt/freescale/.....

 

About your previous questions:

 

Shouldn't be the UART initialized very early during kernel booting?

[Rogerio] Yes, it's initialized during kernel booting but also on U-boot initialization.

 

Why are there so many messages printed out on the UART before it fails?

[Rogerio] Because who prints when you just plug the power supply is u-boot, and not kernel.

 

Are these kernel messages printed out by the bootloader?

[Rogerio] On the beguinning is u-boot, after u-boot load the kernel to RAM and execute it, kernel starts to print messages on UART.

 

Why should the baudrate be changed on a later state again?

[Rogerio] It's related to the choice of UART clock tree configuration on i.MX. 

 

Rgds,

Rogerio

0 Kudos
Reply

1,713 Views
KrishnaPavan
Contributor II

Hi Rooney,

 

You can download a Cross_Compiler and do the job by installing somewhere in the PC, but since you have already used LTIB, and a CC is already present, make use of it, instead of all other hassles.

 

You are just using an installed CC and its nor a dependence on LTIB.

0 Kudos
Reply

1,713 Views
Rooney
Contributor III

Hello Rogerio!

 

You've mentioned the link http://www.imxdev.org/wiki/index.php?title=All_Boards_Qt for using Qt on the i.MX53 QSB. Is there a way to cross compile Qt without using LTIB just using the arm-linux-gnueabi cross compiler?

I want to avoid dependencies on LTIB related libs.

Regards

Rooney

0 Kudos
Reply

1,713 Views
Rooney
Contributor III

Hi!

 

Shouldn't be the UART initialized very early during kernel booting?

Why are there so many messages printed out on the UART before it fails?

Are these kernel messages printed out by the bootloader?

Why should the baudrate be changed on a later state again?

Questions over questions...

 

However I'm using the patches from BSP 11.09 and it works, but why is the CPU clock 800MHz and not 1GHz anymore?

Any ideas?

0 Kudos
Reply

1,713 Views
rogerio_silva
NXP Employee
NXP Employee

Hi Rooney,

I think the way UART clock is set was changed in the newer U-boot. So please, try to use a newer u-boot. You can get the latest BSP available at freescale.com.

 

Rgds,

Rogerio

0 Kudos
Reply

1,713 Views
KrishnaPavan
Contributor II

Hi Rooney,

 

Gibberish characters on screen is due to a faulty baud rate setting mostly.

1.You can set the baud rate from a file the boot code directory. There depending on the board its defined to a standard in general [No intervention normally needed unless required].

2.baud rate settings from the minicom.

3.baud rate settings according to the boot arguments supplied to the environment.

 

These are the few, where I know the baud rate can be altered.

 

Regards   Krishna Pavan

0 Kudos
Reply

1,713 Views
Rooney
Contributor III

Thanks a lot for the information.

 

I tried to use the Mainline Kernel and the patches provided by Freescale but now I'm having other problems.

I got all kernel messges till mxcintuart.0: ttymxc0 ...

 

After that only crap is printed out on the console. Do you have an idea what is causing this problem? I think it is something wrong with the baudrate. I didn't find any option to define the baudrate in the kernel.

Am I right, the boot arguments for the kernel are provided by the bootloader?

 

Regards

Rooney

0 Kudos
Reply

1,713 Views
rogerio_silva
NXP Employee
NXP Employee

Hi Rooney,

 

If you want to build the kernel outside LTIB, you can check this page (topis "Building Kernel from Freescale Opensource" and "Building Kernel Mainline").  http://www.imxdev.org/wiki/index.php?title=All_Boards_Linux

About QT, you can check this page: http://www.imxdev.org/wiki/index.php?title=All_Boards_Qt

About the LVDS, you can check the release notes document (e.g. i.MX53_START_Linux_BSP_Release_Note.pdf). Page 10 describes the arguments you must set on kernel command line to enable LVDS (e.g. video=mxcdi0fb:RGB666,XGA di0_primary ldb=di0)

The LVDS depends only on kernel.

Rgds

Rogerio Pimentel

 

 

0 Kudos
Reply