This is a page about Freescale's i.MX53 Quick Start Development Board.
Availability:
i.mx53 Quick Start R Board at Digi-Key
Obsolete: i.mx53 Quick Start Board at Digi-Key
Basic Requirements
- Running a recent release of Debian, Fedora or Ubuntu; without OS Virtualization Software.
- ARM Cross Compiler – Linaro – http://www.linaro.org/
- GNU Tools for ARM Embedded Processors https://launchpad.net/gcc-arm-embedded/
- Linaro Toolchain Binaries https://launchpad.net/linaro-toolchain-binaries
- Bootloader
- Das U-Boot – the Universal Boot Loader http://www.denx.de/wiki/U-Boot
- Source – http://git.denx.de/?p=u-boot.git;a=summary
- Linux Kernel
- Linus's Mainline tree: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=summary
- Freescale github bsp: https://github.com/Freescale
- Freescale bsp: http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/
- ARM based rootfs
- Debian Squeeze/Wheezy: http://www.debian.org/
- Ubuntu 12.10: http://www.ubuntu.com/
GCC Toolchain
Bootloader
Das U-Boot – the Universal Boot Loader http://www.denx.de/wiki/U-Boot
U-Boot Download:
Download U-Boot via git:
U-Boot Patches:
U-Boot Configure and Build:
Linux Kernel
Linux Build Script:
For Mainline Freescale's 2.6.35 bsp
For Mainline v3.9.x using Device Tree's: (currently no usb/video) (sata works)
Run Build Script:
The kernel zImage and modules will be under the deploy directory.
Debian 7.0.0 (Wheezy) Root File System
Default User: debian
Password: temppwd
Root User: root
Root Password: root
verify the image with:
Extract Image:
Ubuntu 13.04 (Raring) Root File System
Default User: ubuntu
Password: temppwd
verify the image with:
Extract Image:
Setup microSD card
For these instruction, we are assuming: DISK=/dev/mmcblk0, "sudo fdisk -l" is useful for determining the device id..
Erase microSD card:
Install U-Boot Bootloader:
Setup Boot Partition:
Format Boot Partition as ext2:
Create Partition Layout:
rootfs: ext3/4, rest of microSD card.

Mount Partitions:
Note: On most systems these partitions will be auto-mounted...
uEnv.txt based bootscript
Requires: U-Boot v2013.04
Create "uEnv.txt" boot script: (nano uEnv.txt)
Copy uEnv.txt to the boot partition:
Install Kernel and Root File System:
To help new users, since the kernel version can change on a daily basis. The kernel building scripts in this git repo will now give you a hint of what kernel version was built.
Copy and Paste that "export kernel_version=3.X.Y-Z" exactly as shown in your own build/desktop environment:
Copy Kernel zImage:
Copy Kernel dtbs (Device Tree (v3.6.x++)):
Copy Root File System:
Copy Kernel modules:
Setup /etc/fstab:
Add:
Enable Networking:
Add:
Enable Serial Login:
Debian:
Add at end of file:
Ubuntu:
Add:
Remove microSD card:
Comments
Comments, feedback, and questions can be sent to eewiki@digikey.com.
62 Comments
Hide/Show CommentsJoao Paulo
Hi Robert I'm trying to install Debian on my i.MX53 QSB but i having a problem regarding the mc34708 PMIC. The kernel tries to access,in the boot, a DA9052, causing an error and disabling the USB ports. Is there a patch or procedure to solve this problem? My QSB have a MC34708.Thanks so much.João Paulo
Robert Nelson
Hi Joao,
Unfortunately, the "imx-bsp" branch doesn't currently support the newer MC34708, on the new "R" revision of the board. It looks like i won't be able to get a newer unit till June according to Freescale online order system. So can you test for me the v3.3 version of that tree for me?
from the kernel build dir do:
git checkout master -f
then "./build_kernel.sh"
There won't be any display/usb, although i'm tempted to make that the default for the mx51/53 boards as usb is getting closer.
Regards,
Joao Paulo
Hi Robert..
I downloaded version 3.3 of the tree.
Usually compiled and run on the board. No video signal and USB.
Thanks....
Regards
Gautham Nookala
Hi Robert,
The 'sudo apt-get install gcc-arm-linux-gnueabi' did not work for me.
I am using ubuntu:
2.6.32-40-generic #87-Ubuntu SMP Mon Mar 5 20:26:31 UTC 2012 i686 GNU/Linux
This is what I got:
sudo apt-get install gcc-arm-linux-gnueabi
[sudo] password for gautham:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package gcc-arm-linux-gnueabi
gautham@gautham-laptop:~$ sudo apt-get install gcc-arm-linux-gnueabi
[sudo] password for gautham:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package gcc-arm-linux-gnueabi
I am new to this whole business.
Regarding codesourcery, when I go the site, which one of the tools available do I download.?
Thanks
Gautham Nookala
Robert Nelson
Gautham,
You should really upgrade to maverick (or anything else newer), as lucid did not ship with any built-in "gcc-arm-linux-gnueabi" arm cross compiler from canonical... Otherwise, now days CodeSourcery isn't really an option, as linaro has been spearheading much of the gcc arm development..
see: https://launchpad.net/linaro-toolchain-binaries
Regards,
Gautham Nookala
Thanks for the information
Vasant Shridhar
Hi Robert,
After following the steps outlined I was able to get the board to boot properly but the ethernet connection does not appear to be working. When I do ifconfig I only see lo but no eth0. Is there something else that needs to be done to get the ethernet connection going?
Thanks for the help.
Vas
Robert Nelson
HI Vas,
That's strange, is the cable plugged in when power-up? You applied the u-boot eth/mac patch to the version of u-boot you built right? For reference, I'm using oneiric's "gcc-4.4-arm-linux-gnueabi" with 2.6.35.3-imx3 on both my original mx53loco and the "R" version:
Regards,
Vasant Shridhar
Hi Robert,
Thanks for the quick reply. There were a couple of things I had to do to get my network working.
1. My MAC address was not set. In the uBoot prompt I set the ethaddr and then saveenv.
2. I modified /etc/network/interfaces to auto start dhclient for eth0. Essentially I added the following line:
auto eth0
iface eth0 inet dhcp.
This seems to have fixed my problem.
Vas
Joao Paulo
Hi Robert
I tried to build the kernel using the new bsp. Still, during the boot, he mentions the DA9052 and the same communication failure. Even taking the DA9052 in Kernel Drivers, it still makes the same references in the boot.
bootimxjp.txt
Tks
JP
yuli kaplunovsky
How to build the latest u-boot (2012.04.01) for QSB to support both DA and the mc34708 chip:
Took me sometime to put it all together.
This also has a patch to allow kernel 2.6.35 recognize the correct board version, and correctly uses the mc34708 chip and not the DA chip.
wget ftp://ftp.denx.de/pub/u-boot/u-boot-2012.04.01.tar.bz2
tar xjf u-boot-2012.04.01.tar.bz2
cd u-boot-2012.04.01/
wget http://magniel.com/yuli/mx53qsb_uboot_2012.04.01.mc34708.patch
patch -p1 -i mx53qsb_uboot_2012.04.01.mc34708.patch
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- mx53loco_config
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
Fabio Estevam
I used the same idea pointed by Yuli Kaplunovsky and submitted the patch to the U-boot list.
It is now available at:
http://git.denx.de/?p=u-boot/u-boot-imx.git;a=commitdiff;h=b9e28549a2b5c8a2d7d6d6238bd0a64e5730c7cc;hp=9b07d877120f9d1a575df14a101966e04867d0b7
I also added mc34708 support:
http://git.denx.de/?p=u-boot/u-boot-imx.git;a=commit;h=934488bf1dae1025d102d9929ea48a7841fafaab
Regards,
Fabio Estevam
Robert Nelson
Sweet, i saw that too.. Thanks so much for pushing those upstream.. Time to rebase the directions in u-boot patchset.
Regards,
Feihong Xin
Hi, Robert,
I am trying to install Ubuntu with USB support on i.MX53 QSB with the Freescale PMIC IC. How do I apply the patch above? And in your instruction above, the kernel has no USB support, where can I get one with USB support?
Thanks,
Feihong
Robert Nelson
Hi Feihong,
That freescale pmic ic patch posted by Fabio, is already in mainline u-boot, you can verify by the cpu line in u-boot:
If it's 800Mhz, your u-boot is too old...
USB: I'm actually looking at usb on the mx51/53 today, there is kernel support, but it looks like we haven't defined the usb devices in imx53-qsb.dts yet..
Regards,
Feihong Xin
Thanks. I guess I picked the right day to ask you about USB:) This is what I have in u-boot:
Board: MX53 LOCO
I2C: ready
DRAM: 1 GiB
CPU: Freescale i.MX53 family rev2.1 at 1000 MHz
Looks like I do have the u-boot changes already.
Thanks,
Feihong
Feihong Xin
Hi, Robert,
How can I define the usb devices? Is that something I can download from Freescale or Ubuntu site?
Thanks,
Feihong
Robert Nelson
Hi Feihong,
After looking at things, it's still going to be a while before we get usb working on mainline. So I pushed a rebase/cleanup of my old 2.6.35 imx-bsp branch. It's based on Freescale's later git tree from:
https://github.com/Freescale/linux-imx/tree/patches-imx-2.6.35_11.09.01
Boot tested, usb tested with linaro based gcc-4.6 running Debian Wheezy on the original (pre-R) mx53loco board..
Regards,
Feihong Xin
Great, thanks! I'll give that a try.
rajaganapathy
hi ,
while i am running ./built_kernel.sh i am getting fallowing error how to fix it
root@raja-VirtualBox:/usr/arm/imx-devel# ./build_kernel.sh
+ Detected build host [debian-]
Using: Cross Compiler
Using : arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Updating LINUX_GIT tree via: git fetch
/root
Resolve operation not in progress, we are not resuming.
git tree is clean...
[master 6ecfe49] empty cleanup commit
Branch tmp-master set up to track remote branch master from origin.
Switched to a new branch 'tmp-master'
Branch master set up to track remote branch master from origin.
Switched to a new branch 'master'
Already up-to-date.
fatal: git checkout: updating paths is incompatible with switching branches.
Did you intend to checkout 'v' which can not be resolved as commit?
root@raja-VirtualBox:/usr/arm/imx-devel#
Robert Nelson
Hi rajaganapathy,
This looks a little suspect..
What did you set your "LINUX_GIT" variable too in system.sh?
Regards,
Fred Meyer
Hi Robert,
Thanks for this tutorial! I was able to successfully build an image for my iMX53 QSB.
However, I'm unable to boot it. The last words from uBoot are (via Serial debug):
reading uEnv.txt
821 bytes read
Loading environment from uEnv.txt
Importing environment from mmc ...
reading zImage
3694892 bytes read
Booting from mmc ...
Starting kernel ...
after this, I receive a long block of random, non-printable chars and the board doesn't seem to boot.
Do you know what's the cause for this? I've followed your tutorial so far without any errors...
Regards,
Robert Nelson
Hi Fred,
That sounds like the older mainline u-boot -> freescale kernel, serial pll issue.. (it should now be fixed).. Just for reference, which kernel version are you currently trying to boot on the mx53loco and what version of u-boot? (Then i can attempt to replicate it..)
Regards
Fred Meyer
Hi Robert,
Thanks for your fast reply!
I'm currently trying to boot Kernel 2.6.35.3-imx3.2 using u-boot version: U-Boot 2012.04.01-00384-g4398d55-dirty (Jun 15 2012 - 17:20:06)
Regards
Robert Nelson
Hi Fred,
Try with disabling this patch in patch.sh (with a #) in the 2.6.35.3-imx3.2 build
https://github.com/RobertCNelson/imx-devel/blob/imx-bsp/patch.sh#L41
That will return the serial pll handling back to what the freescale kernel expects.. (pre 2012.04.01 this revert was needed to stop the serial corruption..)
Regards,
Fred Meyer
Ok, I've disabled the patch, executed ./build_kernel.sh and copied zImage and the Kernel modules to the SD Card.
Now the type of crap output being displayed has changed, but still unreadable characters! I've tried with all baud rates from 19200 to 115200, but still no success.
Are there any other known conflicts with my kernel version and u-boot?
Regards,
Robert Nelson
Hi Fred,
I tried a couple things over here, using the older 800Mhz u-boot, reverted back to using uImage over zImage.. I'm starting to think it might be gcc..
For reference I'm currently using:
arm-linux-gnueabi-gcc (Linaro GCC 4.6-2012.05) 4.6.4 20120508 (prerelease)
Success (with both 800Mhz/1Ghz u-boot's), rebuilt using an older oneiric chroot, with:
arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
and the serial corrupt on bootup has disappeared.
Regards,
luca argentiero
Hi Robert,
thanks for this guide, but I'm unfortunately not able to play an mp3 file.
I tried to install some "terminal player" like mplayer, but it does not play anything.
I attach here the output error message:
Regards,
Luca
Robert Nelson
Hi Luca,
I never tried audio on the mx53 quick start board. I pushed a config change based on what linaro was doing in their lt-3.4 kernel tree..
https://github.com/RobertCNelson/imx-devel/commit/203f51742ba541645f7de1b69802803922426aab
But it's not working on my original mx53 quick start board at work, will retest with my revision R later tonight when I go home..
Regards,
Malcolm.Man
Hi Robert,
I downloaded the u-boot sources from the git server as you suggested, and I compile it use the method suggested in the i.MX53_START_Linux_BSP_UserGuide.pdf document.
make ARCH=arm CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linuxgnueabi/
bin/arm-none-linux-gnueabi- mx53loco_config
make ARCH=arm CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linuxgnueabi/
bin/arm-none-linux-gnueabi-
After doing this, the debug serial port displayed nothing ! Could you tell me what's wrong with it ?
The FSL demon image like this:
U-Boot 2009.08 (Oct 20 2011 - 13:11:26)
CPU: Freescale i.MX53 family 2.1V at 800 MHz
mx53 pll1: 800MHz
mx53 pll2: 400MHz
mx53 pll3: 432MHz
mx53 pll4: 455MHz
Board: MX53-LOCO 1.0 Rev. B
Robert Nelson
Hi Malcolm,
Care to retest with a more recent version of gcc, such as the one installed in Natty? or gcc-4.6/gcc-4.7 found here: https://launchpad.net/linaro-toolchain-binaries.. As they do work with mainline u-boot.
Regards,
Malcolm.Man
Hi,Robert
I have downloaded the new compiler today, and the u-boot-2009.08 work correctly,but the source you offered still output nothing from the serial port.
My board is MCIMX53-START-R with the PMIC MC34708, the boot device is SD card.
I opened the u-boot.bin of u-boot-2012.10 in UltraEdit, and I find the bin file is different form the
the u-boot-2009.08.
I can't point out where the problem is. Please kindly help me , Thanks a lot !
u-boot.bin (2012.10)
00000000h 1400 00EA 14F0 9FE5 14F0 9FE5 14F0 9FE5
00000010h 14F0 9FE5 ............
............................
000003f0h 13D0 A0E3 ..........
00000400h 48D0 4DE2 FF1F 8DE8 BC23 1FE5 0C00 92E8
............
u-boot.bin(2009.08)
00000000h 0E02 00EA 0000 0000 0000 0000 0000 0000
00000010H 0000 0000 0000 0000 0000 0000 0000 0000
..............................
000003F0H 0000 0000 0000 0000 0000 0000 0000 0000
00000400H D100 2040 5864 00F8 0000 0000 0000 0000
00000410H 2064 00F8 0064 00F8 0000 ........
....................
Robert Nelson
Hi Malcolm,
Why are you using u-boot.bin from U-Boot 2012.10? Please reread this wiki, specifically this section:
Install U-Boot Bootloader:
As on mainline U-Boot we need to run the imximage tool on the u-boot.bin to make it bootable for the i.MX53..
http://git.denx.de/?p=u-boot.git;a=blob;f=tools/imximage.c;hb=refs/tags/v2012.10
http://git.denx.de/?p=u-boot.git;a=blob;f=Makefile;hb=refs/tags/v2012.10#l433
Regards,
Malcolm.Man
Hi Robert,
The board works well with the u-boot.imx file , Thank you !
Marijan Vidmar
Hi,
I am trying to set up RealTime patched kernel 3.2.28 on MX53 LOCO (Start Up Board). It is running without multimedia (I don't really need it), but have problem to startup USB ports. So far I am getting only standar messages from built in drivers, but no unit is recognized in host or OTG USB port. Any hint? Should I patch some standard drivers for Freescale port?
Br, Marijan
Robert Nelson
Hi Marijan,
I'm assuming you used mainline 3.2.28 as your base (please correct me if I'm wrong.).. Unless you've added an external patch-set that enables usb on the mx53loco, usb support is not currently supported outside Freescale's bsp kernel.
Regards,
Marijan Vidmar
Hi Robert,
Yes, I am using mainline kernel source. I've tried to add some patches from 2.6.35 diff's but without success. Such kernel doesn't boot up (even don't show initial messages). I guess there are also some deep differences on the kernel level regarding USB.
However as you did implement 3.4, till 3.7 kernels I assume that you have some experience on that on latest kernels. Is it USB running on 3.6 kernel?
Regards, Marijan
Robert Nelson
Hi Marijan,
The 2.6.35 Freescale fork is just too big of a fork at this point to be of any use for USB. For the i.mx53, watch the linux kernel mailing list for "chipidea" patches.
v3.4 is the last "board file" based kernel that still had working sata, which I'm using on a few i.mx53 devices. For v3.6/v3.7-rc (device tree based), only the i.mx6 has working usb support (with just the boards I personally have from Freescale).
Regards,
Marijan Vidmar
Hi Robert,
Thank you very much for sent info. Would it be starting from your collection of chipidea patches good starting point? I am afraid that I would get lost in the "complete linux kernel patches". BTW are there any signals that Freescale will support some 3.x kernel for mx53 processors? I saw some 3.0.5 branch at freescale git.
Regards, Marijan
Robert Nelson
Hi Marijan,
Here is the collection of already mainlined chipidea patches:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=drivers/usb/chipidea;hb=HEAD
I have nothing more, other then what's been posted to the linux kernel mainline list.
I do not know Freescale's plans, but considering right now the i.mx6x line has better upstream support then some of their older devices, Freescale seems to be really pushing mainline now.
Regards,
sergey
Hello. I dont know english well.
I have iMX53-START BOARD and its my first introdution to the linux.
Using manual from this site I make u-boot and kernel 2.65.3. Create SD-card with 2 partitions (boot and rootfs).
Install u-boot to the SD-card and copy zImage to the boot. Also i am unpack and copy kernel modules to the boot.
I create uEnv.txt v3.4.x file and copy to the boot. Then i download, unpack and copy on the rootfs UBUNTU 12.10.
Its work but i have some problems.
1. I cannot enter login and password by serial interface - only by keyboard.
2. I cannot find file serial.config in /rootfs/etc/
3. My ubuntu after entering login/password dont dispaly desktop
Can your help me resolve this problems? Thankk your.
Robert Nelson
Hi Sergey,
In Ubuntu 12.10, /etc/init/serial.conf does not exist, you need to first create it with the contents shown on this wiki page.
For question #3, this is a basic console image, install the "desktop" you wish via "sudo apt-get (desktop_of_choice)" (ubuntu-desktop, kubuntu-desktop, xubuntu-desktop, lubuntu-desktop, etc..)
Regards,
sergey
Thank you.
I have carryfully read and was able install and start debian/ubuntu.
Now i must connect my board to ethernet and upgrade system for get additional properties (desktop etc.)?
Can you help me mount additional sd-card?
I changed fstab like this:
proc /proc proc defaults 0 0
/dev/mmcblk0p2 / auto errors=remount-ro 0 1
/dev/mmcblk0p1 /boot/uboot auto defaults 0 2
/dev/mmcblk1p2 /boot/sd1 auto defaults 0 1
/dev/mmcblk1p1 /boot/sd2 auto defaults 0 2
but when secondary sd-card inserted i see in terminal that mount point boot/sd1 dos not exist.
Robert Nelson
Hi sergey,
Do the mount point directories even exist?
Regards,
sergey
I did not create theses directories. Now it work. Thanks.
I install Ubuntu 12.10 and applied apt-get update, upt-get install ubuntu-desktop.
As a result very slow system in which even does not properly boot desktop.
Debian is working slow but much beeter.
Also i have error: codec prepare DAI error.
How can check performance of the software and hardware? Maybe I installed something incorrectly.
Robert Nelson
Hi Sergey,
Ubuntu's ubuntu-desktop is usually too bloated for single core arm devices and I believe they now require 3D acceleration (which we don't have on this wiki). So, with Ubuntu I usually just install xubuntu-desktop.
With Debian, Squeeze will be slower as it's armv4, but Wheezy should be the same, as it is built with armv7-a using hardfloat just like Ubuntu. For a Debian desktop i usually use "sudo apt-get install task-lxde-desktop".
I'm not sure on that error, other then using the 2.6.35.x as reference, I really do not have much interest in patching it further. As of right now the focus is on Graphics/USB on mainline (and the 3.8-rc0 merge)...
Regards,
sergey
Hi Robert.
I have trouble again. I build new kernel v3.6.7. Now i lost VGA video signal. Remark - I did not configure the kernel during its assembly.
Does this kernel support video outputr? Or should I go back to version 2.6.35?
Which kernel do you recommend for playback audio /video (max 720p) as well as for working with HSPA modems?
Have i install full desktop for this purposes? Or i can install only audio/video player.
Sorry fo my bad english from google-tranlate.
Robert Nelson
Hi Sergey,
There's no support for video in v3.6.x, patches have been posted and it's being worked on for v3.8-rcX. Use v2.6.35 if you need Video right now. The v2.6.35 based kernel should have all the config options for HSPA modems at the time of it's release.
If all you need is a audio/video player. I'd just install openbox and your audio/video player.
Regards,
Edward Rivas
Hi Robert, thanks for your work. I have a basic question. I selected "git checkout origin/imx-bsp -b imx-bsp".Which of the two uEnv.txt boot scripts am I supposed to use if I am using 2.6.35? One is called v3.4.x and the other is v3.6.x, which I assume corresponds to those Linux kernel versions so I was a bit confused as to how to proceed for 2.6.35.
Thanks for your time, Edward
Robert Nelson
Hi Edward,
The only real difference between the two uEnv.txt boot scripts is the usage of the linux device tree binary file (mmc_load_dtb):
Which definitely didn't exist in v3.4.x and the older v2.6.35. So use the older "v3.4.x" labeled script for v2.6.35..
Regards,
Edward Rivas
I have another question. I continued with the instructions you posted above, creating the partitions, moving files over, tweaking the rootfs files... resulted in zero serial port activity.
FYI, I have the original QSB, with the Dialog Semi PMIC.
I suspected that my U-boot was not right so I re-read your instructions and it seems that I only downloaded 2 patches and you now have 4. So I deleted the previous patches and downloaded the new patches and ran them but they failed. Then I realized that the git checkout was different (v2013.01-rc2) so I ran
and it told me that there was already a branch named tmp. You can tell I'm a newb at this. If I've already checked out a previous version, how do I update to the new version?
and it told me that there was already a branch named tmp. You can tell I'm a newb at this. If I've already checked out a previous version, how do I update to the newversion
Robert Nelson
Hi Edward,
That's the same Freescale board I'm using in the lab here. (Although mine has an extra bug wired capacitor underneath)...
Zero serial port activity does not necessary mean u-boot broke. I haven't build/powered up 2.6.35.x in a few months, so any gcc update could have easily broke that kernel. So it's only their for reference, so with video and usb coming to mainline there is not much left in the old 2.6.35.x branch of any use.
Since "v2013.01-rc2" didn't exist prior to the last time you build u-boot, you can't just checkout..
Cleanup your git tree and update the repo:
BTW: there is nothing special with the "tmp" branch name, you can name it anything you want, for this wiki's directions it was short and simple..
Regards,
Edward Rivas
Robert, thanks again. I went ahead and updated to the newer version of u-boot and applied the patches in the manner you suggested. I then tried to:
but it said I had an edited file in my repository so I ran:
Then to switch to the 3.4 branch and compile the kernel:
I got no errors from the compile process so I assume it went ok. But I got to thinking about why my previous effort didn't work and I recalled that I had trouble getting the SD card set up. When I ran the parted command as you describe above, I got "Error: Partition(s) on /dev/sdc are being used." On my previous attempt I got around that by using Gparted to initialize it but I'm wondering if it worked correctly. I wonder if I should unmount the card before I try to execute the parted command? Any suggestions to check the integrity of the card image? I figure I should get that sorted out before I try with another kernel. While I wait to hear back from you, I'm going to attempt it with a different card, in case it is an issue with the card even if the card previously contained a working/booting ubuntu demo image.
I also studied the commands for copying images in the Freescale BSP documents and they use something like:
then they create a partition table for the rootfs using fdisk, mount it and move the rootfs.
Robert Nelson
Hi Edward,
Did you umount /dev/sdc? a lot of distribution will auto-mount all usb media... You can even umount it in gparted.
Ask your self, how old are those Freescale BSP documents and what u-boot are they targeting? Freescale's ancient u-boot BSP perhaps?
The directions on this wiki was re-evaluated last week when I bumped the u-boot version to v2013.01-rc2 with v3.7.x with a Debian Wheezy 64bit host for the mx53loco development board. Anything older then that may work, it's just not tested as the goal is to have everything in mainline.
Regards,
Edward Rivas
Robert, I was able to get 3.4.20 based kernel and Debian Squeeze to boot! I apologize for my prior comment relating to how FSL described SD card prep, I was thinking out loud as I tried to figure out what I did wrong, researching different ways that were documented to work in certain scenarios. Didn't intend to suggest you were doing it "wrong". Yes, their stuff is old and I would only follow their guide if I was duplicating what they did.
So, a huge thanks for helping me get this going. I have a custom board that is based on the QSB whose OS is basically the Ubuntu demo image that FSL provides. I needed kernel headers, which aren't provided with ubuntu, and I wanted to avoid LTIB due to what seems like a painful dev work flow. I now need to poke around your work to see how things are organized, how modules are included, etc...
Edward Rivas
Hi Robert, Although my SD card boots, I'm having some strange comments from fdisk, it says that there is a difference between the logical and physical partition ends (iirc, I don't have the output) and two attempts to copy the sd card to my host drive and then to another sd card using dd have failed to boot. So, again, looking at the small differences between what I saw and what you describe above I noted that your Gparted screenshot shows only the two partitions where as mine shows a gray block representing 2MB of unallocated space, due to selecting 2 MiB on the "Free Space Preceding" field while making the boot partition.
I'm curious why this would be the case or if you think it matters.
Another thing that you don't mention (because you might not be experiencing it) is that after I create the partitions, Linux mounts them and created Lost+Found folders. I've deleted them before moving my files over to the boot and rootfs partitions. Hoping that is the right thing to do.
I need a sound image because I'm going to base my production OS on this so I'm being very cautious. Thanks for your time.
rgds, Edward
Robert Nelson
Hi Edwards,
Why are you using dd? Just script the fdisk/mkfs/etc calls from this wiki and dd the bootloader to the first partition and extract the file system to the second. It's much more reliable then dd'ing the image when sd cards can vary in sizes.
Lost+Found is created after formatting the drive and when running e2fsck on bootup... There's no reason to pre-delete the folder, as it will be empty initially.
BTW, For hints on the fdisk/mkfs/etc script, see my production sd creater here: https://github.com/RobertCNelson/omap-image-builder/blob/master/tools/setup_sdcard.sh
It's currently used in support Ubuntu/Debian images for BeagleBoard users:
http://elinux.org/BeagleBoardUbuntu#Demo_Image It's really off topic for this step-by-step wiki guide, hence not mentioned..
Regards,
Edward Rivas
Robert, thanks for the update. Just a comment, I *think* you may want a
after the u-boot build and before running:
I say that based on the way you describe copying the files to the sd card, starting from home.
Oh, while I'm here, I wanted to clarify what "no video" means. I thought it meant that VGA and HDMI output is not supported from the QSB but I noticed that there is no support for the GPU in /dev so I'm wondering if "no video" means that you can't even encode video from an attached camera because the GPU is not supported.
Robert Nelson
Hi Edward,
IDK, on one hand, I really don't want to sprinkle cd HOME on every subsection..
One option, would be to drop HOME and just use `pwd` when defining CC:
Then the cd HOME could disappear...
Another option, would be to show relative paths:
Might just do them both...
As far as "no video" I only mean in the sense that nothing shows up.. Right now there are patches for v3.8-rcX that I have been playing with on the imx51 that enable video. One of the big requirements of that was to move to u-boot 2013.01, so half done.
Regards,
Edward Rivas
Hi Robert,
I'm still working with the wiki setup and I've got Debian and the 2.6.35 kernel running on a custom board. I'm having a problem with my GPIO though, I am not seeing /sys/class/gpio showing up for some reason. Can you do me a favor and peek inside your /sys/class directory and let me know if you have gpio available in the userspace? I've checked kconfig to make sure that sysfs interface is enabled under GPIO support and I have plenty of GPIO defined in my mx53_loco.c file in the KERNEL directory. sysfs interface wasn't enabled by default. I used the rebuild command to build the kernel, confirmed a new kernel was built, copied the kernel and kernel modules to the appropriate directories.
One thing I wasn't sure about was whether I needed to enable the "Userspace I/O drivers" under Device Drivers, which is separate from the sysfs support. I'm not sure what the Userspace IO drivers are for.
Let me know what you (or anyone else, if you have gotten the wiki contents working) see in your directory, I would really appreciate it.
-Edward
Robert Nelson
Hi Edward,
We were missing the enablement of one more config (CONFIG_GPIO_SYSFS) in the imx-bsp branch to make that work..
https://github.com/RobertCNelson/imx-devel/commit/d148c6010185fd7e93c06cdb5becf9a91097b7ed
Regards,
Edward Rivas
that fixed me up! thanks a ton.