[U-Boot] Building u-boot for iMX28 and getting error in mkimage of missing command line parameter CONFIG_IMX_CONFIG

All,
I am working on building the latest u-boot for the imx28evk board. I have done the following steps:
1. git clone git://git.denx.de/u-boot-imx.git 2. setup paths for finding my cross-compiler 1. make mx28evk_config 2. make u-boot.imx 3. It then gets through most of the build process and then fails on this command line:
$ tools/mkimage -n -T imximage -e 0x40000100 -d u-boot.bin u-boot.imx
after more digging, its looks like the CONFIG_IMX_CONFIG var is not getting filled in (I believe this value should follow the -n parameter)
Thanks, Bill

Bill,
On Thu, Jul 26, 2012 at 3:28 PM, Bill bsousan@techsi.com wrote:
All,
I am working on building the latest u-boot for the imx28evk board. I
have done the following steps:
- git clone git://git.denx.de/u-boot-imx.git
- setup paths for finding my cross-compiler
- make mx28evk_config
- make u-boot.imx
'make u-boot.imx' is not correct for mx28.
You should do:
make u-boot.sb
Please follow the instructions at doc/README.mx28_common for the correct process.
Regards,
Fabio Estevam

Thanks. That did it!
However, now my new U-boot built from the mainstream Uboot runs and also loads and unpacks the Linux kernel - but it dies after that. However, my original U-boot from tlib works fine. Are there some patches and/or settings I am missing?
Thanks,
Bills
On 7/26/2012 3:24 PM, Fabio Estevam wrote:
Bill,
On Thu, Jul 26, 2012 at 3:28 PM, Billbsousan@techsi.com wrote:
All,
I am working on building the latest u-boot for the imx28evk board. I
have done the following steps:
- git clone git://git.denx.de/u-boot-imx.git
- setup paths for finding my cross-compiler
- make mx28evk_config
- make u-boot.imx
'make u-boot.imx' is not correct for mx28.
You should do:
make u-boot.sb
Please follow the instructions at doc/README.mx28_common for the correct process.
Regards,
Fabio Estevam

Bill,
On Fri, Jul 27, 2012 at 10:07 AM, Bill bsousan@techsi.com wrote:
Thanks. That did it!
However, now my new U-boot built from the mainstream Uboot runs and also loads and unpacks the Linux kernel - but it dies after that. However, my original U-boot from tlib works fine. Are there some patches and/or settings I am missing?
I suppose you are using the 2.6.35 kernel. In this FSL kernel the console is ttyAM0.
In mainline kernel the console is ttyAMA0.
This is probably the reason you don't see nothing in the console.
I would suggest you to use the mainline kernel though.
Regards,
Fabio Estevam

Thanks. I tried that and got the same results. Are there any debug/logging that I can use to see what's going on?
Also, I'm not sure which console parameters are passed to the kernel. I've seen console, console_mainline, console_fsl, etc... Which one is actually passed as command line params to the kernel?
Thanks, Bill
On 7/27/2012 8:11 AM, Fabio Estevam wrote:
Bill,
On Fri, Jul 27, 2012 at 10:07 AM, Billbsousan@techsi.com wrote:
Thanks. That did it!
However, now my new U-boot built from the mainstream Uboot runs and also loads and unpacks the Linux kernel - but it dies after that. However, my original U-boot from tlib works fine. Are there some patches and/or settings I am missing?
I suppose you are using the 2.6.35 kernel. In this FSL kernel the console is ttyAM0.
In mainline kernel the console is ttyAMA0.
This is probably the reason you don't see nothing in the console.
I would suggest you to use the mainline kernel though.
Regards,
Fabio Estevam

On Fri, Jul 27, 2012 at 12:35 PM, Bill bsousan@techsi.com wrote:
Thanks. I tried that and got the same results. Are there any debug/logging that I can use to see what's going on?
I just tried it here and 2012.07-rc3 does not boot for me too.
I started another thread on that.
I suggest you to use 2012.04.01.
Regards,
Fabio Estevam

On Fri, Jul 27, 2012 at 3:15 PM, Fabio Estevam festevam@gmail.com wrote:
On Fri, Jul 27, 2012 at 12:35 PM, Bill bsousan@techsi.com wrote:
Thanks. I tried that and got the same results. Are there any debug/logging that I can use to see what's going on?
I just tried it here and 2012.07-rc3 does not boot for me too.
I was using the wrong LOADADDR for mx28, and that's the reason it did not boot.
What is the error you are seeing? Can you post your log?
Here is the log on 2012.07-rc3: ...
U-Boot 2012.07-rc3 (Jul 28 2012 - 17:08:24)
Freescale i.MX28 family at 454 MHz BOOT: SSP SD/MMC #0, 3V3 I2C: ready DRAM: 128 MiB MMC: MXS MMC: 0 In: serial Out: serial Err: serial Net: FEC0, FEC1 Hit any key to stop autoboot: 0 Using FEC0 device TFTP from server 192.168.1.1; our IP address is 192.168.1.2 Filename 'uImage'. Load address: 0x42000000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ###### done Bytes transferred = 2358008 (23faf8 hex) ## Booting kernel from Legacy Image at 42000000 ... Image Name: Linux-3.5.0-next-20120727-00004- Created: 2012-07-28 20:06:58 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2357944 Bytes = 2.2 MiB Load Address: 40008000 Entry Point: 40008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0 [ 0.000000] Linux version 3.5.0-next-20120727-00004-gef9b4ac (fabio@fabio-Latitude-E6410) (gcc version 4.4.4 (4.4.4_09.06.2010) ) #1309 Sat Jul 28 17:06:52 [ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] Machine: Freescale MX28 EVK [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: console=ttyAMA0 root=/dev/nfs ip=dhcp nfsroot=192.168.1.1:/tftpboot/ltib,v3,tcp [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Memory: 128MB = 128MB total [ 0.000000] Memory: 119808k/119808k available, 11264k reserved, 0K highmem [ 0.000000] Virtual kernel memory layout: ....

Here is my log. It stops at the "done, booting kernel." I tried setting the console to ttyAM0 and no change. I don't think its booting as I don't see the LCD flash and no penguin. The odd this is that I built the latest kernel for iMX and this uboot will boot it. I also included my u-boot environment settings at the end.
Thanks, Bills
U-Boot 2012.07-rc1-08235-g7c5f511 (Jul 26 2012 - 12:00:38)
Freescale i.MX28 family at 454 MHz BOOT: SSP SD/MMC #0, 3V3 I2C: ready DRAM: 128 MiB MMC: MXS MMC: 0 In: serial Out: serial Err: serial Net: FEC0, FEC1 Hit any key to stop autoboot: 0 Booting from net ... BOOTP broadcast 1 *** Unhandled DHCP Option in OFFER/ACK: 42 *** Unhandled DHCP Option in OFFER/ACK: 44 *** Unhandled DHCP Option in OFFER/ACK: 42 *** Unhandled DHCP Option in OFFER/ACK: 44 DHCP client bound to address 192.168.0.240 Using FEC0 device TFTP from server 192.168.0.204; our IP address is 192.168.0.240 Filename 'uImage'. Load address: 0x42000000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ############################################## done Bytes transferred = 2562232 (2718b8 hex) ## Booting kernel from Legacy Image at 42000000 ... Image Name: Linux-2.6.35.3-571-gcca29a0 Created: 2012-07-12 15:53:55 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2562168 Bytes = 2.4 MiB Load Address: 40008000 Entry Point: 40008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
U-boot environment settings:
U-Boot 2012.07-rc1-08235-g7c5f511 (Jul 26 2012 - 12:00:38)
Freescale i.MX28 family at 454 MHz BOOT: SSP SD/MMC #0, 3V3 I2C: ready DRAM: 128 MiB MMC: MXS MMC: 0 In: serial Out: serial Err: serial Net: FEC0, FEC1 Hit any key to stop autoboot: 0 MX28EVK U-Boot > printenv baudrate=115200 bootargs=console=ttyAMA0,115200n8 debug root=/dev/nfs ip=dhcp nfsroot=192.168.0.204:/tools/rootfs,v3,tcp fec_mac= bootcmd=run bootcmd_net bootcmd_net=echo Booting from net ...; run netargs; dhcp ${uimage}; bootm bootdelay=3 bootfile=uImage console=ttyAMA0 console_fsl=console=ttyAM0console_mainline=console=ttyAMA0netargs=setenv bootargs console=${console_mainline}root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot} console_mainline=ttyAMA0 ethact=FEC0 ipaddr=192.168.0.19 loadaddr=0x42000000 netargs=setenv bootargs console=ttyAMA0,115200 netmask=255.255.255.0 nfsroot=/tools/rootfs serverip=192.168.0.204 stderr=serial stdin=serial stdout=serial ver=U-Boot 2012.07-rc1-08235-g7c5f511 (Jul 26 2012 - 12:00:38)
Environment size: 770/16380 bytes MX28EVK U-Boot >
On 7/28/2012 3:19 PM, Fabio Estevam wrote:
On Fri, Jul 27, 2012 at 3:15 PM, Fabio Estevamfestevam@gmail.com wrote:
On Fri, Jul 27, 2012 at 12:35 PM, Billbsousan@techsi.com wrote:
Thanks. I tried that and got the same results. Are there any debug/logging that I can use to see what's going on?
I just tried it here and 2012.07-rc3 does not boot for me too.
I was using the wrong LOADADDR for mx28, and that's the reason it did not boot.
What is the error you are seeing? Can you post your log?
Here is the log on 2012.07-rc3: ...
U-Boot 2012.07-rc3 (Jul 28 2012 - 17:08:24)
Freescale i.MX28 family at 454 MHz BOOT: SSP SD/MMC #0, 3V3 I2C: ready DRAM: 128 MiB MMC: MXS MMC: 0 In: serial Out: serial Err: serial Net: FEC0, FEC1 Hit any key to stop autoboot: 0 Using FEC0 device TFTP from server 192.168.1.1; our IP address is 192.168.1.2 Filename 'uImage'. Load address: 0x42000000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ###### done Bytes transferred = 2358008 (23faf8 hex) ## Booting kernel from Legacy Image at 42000000 ... Image Name: Linux-3.5.0-next-20120727-00004- Created: 2012-07-28 20:06:58 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2357944 Bytes = 2.2 MiB Load Address: 40008000 Entry Point: 40008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0 [ 0.000000] Linux version 3.5.0-next-20120727-00004-gef9b4ac (fabio@fabio-Latitude-E6410) (gcc version 4.4.4 (4.4.4_09.06.2010) ) #1309 Sat Jul 28 17:06:52 [ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] Machine: Freescale MX28 EVK [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: console=ttyAMA0 root=/dev/nfs ip=dhcp nfsroot=192.168.1.1:/tftpboot/ltib,v3,tcp [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Memory: 128MB = 128MB total [ 0.000000] Memory: 119808k/119808k available, 11264k reserved, 0K highmem [ 0.000000] Virtual kernel memory layout: ....

On Mon, Jul 30, 2012 at 2:06 PM, Bill bsousan@techsi.com wrote:
Here is my log. It stops at the "done, booting kernel." I tried setting the console to ttyAM0 and no change. I don't think its booting as I don't see the LCD flash and no penguin. The odd this is that I built the latest kernel for iMX and this uboot will boot it. I also included my u-boot
Do you mean you are able to boot a mainline kernel, but not a 2.6.35 kernel?
environment settings at the end.
U-boot environment settings:
U-Boot 2012.07-rc1-08235-g7c5f511 (Jul 26 2012 - 12:00:38)
Freescale i.MX28 family at 454 MHz BOOT: SSP SD/MMC #0, 3V3 I2C: ready DRAM: 128 MiB MMC: MXS MMC: 0 In: serial Out: serial Err: serial Net: FEC0, FEC1 Hit any key to stop autoboot: 0 MX28EVK U-Boot > printenv baudrate=115200 bootargs=console=ttyAMA0,115200n8 debug root=/dev/nfs ip=dhcp
Please change it to ttyAM0.
nfsroot=192.168.0.204:/tools/rootfs,v3,tcp fec_mac= bootcmd=run bootcmd_net bootcmd_net=echo Booting from net ...; run netargs; dhcp ${uimage}; bootm bootdelay=3 bootfile=uImage console=ttyAMA0
If you boot a 2.6.35 you need to use ttyAM0.
console_fsl=console=ttyAM0console_mainline=console=ttyAMA0netargs=setenv
This line seems to be without any spaces. Are you sure this is correct?
Make sure your kernel command line passes ttyAM0 instead of ttyAMA0 if you want to boot a 2.6.35 kernel.

Progress! I switched all the references from ttyAMA0... to ttyAM0. Also changed netargs too. Now it starts to boot linux but hangs right after the line of: mxs_cpu_init: cpufreq init finished. In regards to your question, yes it was booting the mainline kernel.
Here is the latest output from the boot.
U-Boot 2012.07-rc1-08235-g7c5f511 (Jul 26 2012 - 12:00:38)
Freescale i.MX28 family at 454 MHz BOOT: SSP SD/MMC #0, 3V3 I2C: ready DRAM: 128 MiB MMC: MXS MMC: 0 In: serial Out: serial Err: serial Net: FEC0, FEC1 Hit any key to stop autoboot: 0 Booting from net ... BOOTP broadcast 1 *** Unhandled DHCP Option in OFFER/ACK: 42 *** Unhandled DHCP Option in OFFER/ACK: 44 *** Unhandled DHCP Option in OFFER/ACK: 42 *** Unhandled DHCP Option in OFFER/ACK: 44 DHCP client bound to address 192.168.0.240 Using FEC0 device TFTP from server 192.168.0.204; our IP address is 192.168.0.240 Filename 'uImage'. Load address: 0x42000000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ############################################## done Bytes transferred = 2562232 (2718b8 hex) ## Booting kernel from Legacy Image at 42000000 ... Image Name: Linux-2.6.35.3-571-gcca29a0 Created: 2012-07-12 15:53:55 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2562168 Bytes = 2.4 MiB Load Address: 40008000 Entry Point: 40008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel. Linux version 2.6.35.3-571-gcca29a0 (blsousan@ubuntu) (gcc version 4.4.4 (4.4.4_09.06.2010) ) #1 PREEMPT Thu Jul 12 08:53:51 PDT 2012 CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 CPU: VIVT data cache, VIVT instruction cache Machine: Freescale MX28EVK board Memory policy: ECC disabled, Data cache writeback Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 Kernel command line: console=ttyAM0,115200 PID hash table entries: 512 (order: -1, 2048 bytes) Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 128MB = 128MB total Memory: 124316k/124316k available, 6756k reserved, 0K highmem Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) DMA : 0xfde00000 - 0xffe00000 ( 32 MB) vmalloc : 0xc8800000 - 0xf0000000 ( 632 MB) lowmem : 0xc0000000 - 0xc8000000 ( 128 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .init : 0xc0008000 - 0xc0030000 ( 160 kB) .text : 0xc0030000 - 0xc04f7000 (4892 kB) .data : 0xc04f8000 - 0xc0535960 ( 247 kB) SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Hierarchical RCU implementation. RCU-based detection of stalled CPUs is disabled. Verbose stalled-CPUs detection is disabled. NR_IRQS:288 Console: colour dummy device 80x30 console [ttyAM0] enabled Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496) pid_max: default: 32768 minimum: 301 Security Framework initialized SELinux: Initializing. Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok regulator: core version 0.5 NET: Registered protocol family 16 regulator: vddd: 800 <--> 1575 mV at 1500 mV fast normal regulator: vdddbo: 800 <--> 1575 mV fast normal regulator: vdda: 1500 <--> 2275 mV at 1800 mV fast normal vddio = 3380000, val=10 regulator: vddio: 2880 <--> 3680 mV at 3380 mV fast normal regulator: overall_current: fast normal regulator: vbus5v: regulator: mxs-duart-1: fast normal regulator: mxs-bl-1: fast normal regulator: mxs-i2c-1: fast normal regulator: mmc_ssp-1: fast normal regulator: mmc_ssp-2: fast normal regulator: charger-1: fast normal regulator: power-test-1: fast normal regulator: cpufreq-1: fast normal i.MX IRAM pool: 124 KB@0xc8820000 usb DR wakeup device is registered IMX usb wakeup probe audit: cannot initialize inotify handle bio: create slab <bio-0> at 0 SCSI subsystem initialized Freescale USB OTG Driver loaded, $Revision: 1.55 $ usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb Advanced Linux Sound Architecture Driver Version 1.0.23. Switching to clocksource mxs clock source NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 4096 (order: 3, 32768 bytes) TCP bind hash table entries: 4096 (order: 2, 16384 bytes) TCP: Hash tables configured (established 4096 bind 4096) TCP reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. Bus freq driver module loaded IMX usb wakeup probe usb h1 wakeup device is registered mxs_cpu_init: cpufreq init finished
(Stops here)
On 7/30/2012 12:18 PM, Fabio Estevam wrote:
On Mon, Jul 30, 2012 at 2:06 PM, Billbsousan@techsi.com wrote:
Here is my log. It stops at the "done, booting kernel." I tried setting the console to ttyAM0 and no change. I don't think its booting as I don't see the LCD flash and no penguin. The odd this is that I built the latest kernel for iMX and this uboot will boot it. I also included my u-boot
Do you mean you are able to boot a mainline kernel, but not a 2.6.35 kernel?
environment settings at the end.
U-boot environment settings:
U-Boot 2012.07-rc1-08235-g7c5f511 (Jul 26 2012 - 12:00:38)
Freescale i.MX28 family at 454 MHz BOOT: SSP SD/MMC #0, 3V3 I2C: ready DRAM: 128 MiB MMC: MXS MMC: 0 In: serial Out: serial Err: serial Net: FEC0, FEC1 Hit any key to stop autoboot: 0 MX28EVK U-Boot> printenv baudrate=115200 bootargs=console=ttyAMA0,115200n8 debug root=/dev/nfs ip=dhcp
Please change it to ttyAM0.
nfsroot=192.168.0.204:/tools/rootfs,v3,tcp fec_mac= bootcmd=run bootcmd_net bootcmd_net=echo Booting from net ...; run netargs; dhcp ${uimage}; bootm bootdelay=3 bootfile=uImage console=ttyAMA0
If you boot a 2.6.35 you need to use ttyAM0.
console_fsl=console=ttyAM0console_mainline=console=ttyAMA0netargs=setenv
This line seems to be without any spaces. Are you sure this is correct?
Make sure your kernel command line passes ttyAM0 instead of ttyAMA0 if you want to boot a 2.6.35 kernel.

On Mon, Jul 30, 2012 at 3:53 PM, Bill bsousan@techsi.com wrote:
Progress! I switched all the references from ttyAMA0... to ttyAM0. Also changed netargs too. Now it starts to boot linux but hangs right after the line of: mxs_cpu_init: cpufreq init finished.
Please remove cpufreq from your kernel config.
You can use this patch: https://github.com/Freescale/meta-fsl-arm/blob/denzil/recipes-kernel/linux/l...
Regards,
Fabio Estevam

That did it! Thanks.
Bill
On 7/30/2012 3:59 PM, Fabio Estevam wrote:
On Mon, Jul 30, 2012 at 3:53 PM, Billbsousan@techsi.com wrote:
Progress! I switched all the references from ttyAMA0... to ttyAM0. Also changed netargs too. Now it starts to boot linux but hangs right after the line of: mxs_cpu_init: cpufreq init finished.
Please remove cpufreq from your kernel config.
You can use this patch: https://github.com/Freescale/meta-fsl-arm/blob/denzil/recipes-kernel/linux/l...
Regards,
Fabio Estevam
participants (2)
-
Bill
-
Fabio Estevam