Board: Logic PD AM1808 Experimenter kit
http://www.logicpd.com/products/system-on-modules/zoom-am1808/
Default Operation:
We flash the uboot and the UBL to the SPI_MEM. The u-boot is set to boot the kernel from the sdcard. We place the kernel and the rootfs into the sdcard and then boot from the SPI_FLASH. this loads the kernel from the sdcard.
What we want to achieve:
Now we want to boot the kernel without the SDCARD. for that we followed the wiki:
http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#SDRAM
our first target is to boot from the sdcard.
We have successfully created the tftp server and placed the kernel image and root fs into the /tftpboot directory. I follow all the steps mentioned in the wiki.
I first load the kernel image and root fs into the sdram at 0xc0700000 and 0xc1180000 respectively using the tftp
after wards when I give the command bootm 0xc0700000 the following result appear and I get stuck.
U-Boot > bootm 0xc0700000
## Booting kernel from Legacy Image at c0700000 ...
Image Name: Arago/2.6.37-psp03.21.00.04.sdk/
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2296300 Bytes = 2.2 MiB
Load Address: c0008000
Entry Point: c0008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 2.6.37 (jenkins@sdit-build01) (gcc version 4.5.3 20110311 (prerel2
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: DaVinci DA850/OMAP-L138/AM18x EVM
Memory policy: ECC disabled, Data cache writeback
DaVinci da850/omap-l138/am18x variant 0x1
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128
Kernel command line: mem=32M console=ttyS2,115200n8 root=/dev/ram0 rw initrd=0x6
PID hash table entries: 128 (order: -3, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 32MB = 32MB total
Memory: 23496k/23496k available, 9272k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xff000000 - 0xffe00000 ( 14 MB)
vmalloc : 0xc2800000 - 0xfea00000 ( 962 MB)
lowmem : 0xc0000000 - 0xc2000000 ( 32 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc002d000 ( 148 kB)
.text : 0xc002d000 - 0xc046d000 (4352 kB)
.data : 0xc046e000 - 0xc049b300 ( 181 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptable hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:245
Console: colour dummy device 80x30
Calibrating delay loop... 226.91 BogoMIPS (lpj=1134592)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
devtmpfs: initialized
DaVinci: 144 gpio irqs
regulator: core version 0.5
regulator: dummy:
NET: Registered protocol family 16
WARNING: both McASP and McBSP are enabled, but they share pins.
Only McASP will work. If you want McBSP support, disable McASP.
WARNING: both McASP and UART1_AFE are enabled, but they share pins.
Disable one of them.
da850_evm_init: eHRPWM module 0 cannot be used since it is being used by MII ine
da850_evm_init: eHRPWM module1 outputA cannot be used since it is being used byD
da850_evm_init: eHRPWM module1 outputB cannot be used since it is being used by1
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
pca953x 1-0020: failed reading register
pca953x 1-0021: interrupt support not compiled in
regulator: VDCDC1: 3200 <--> 3300 mV at 3300 mV
regulator: VDCDC2: 1750 <--> 3300 mV at 3300 mV
regulator: VDCDC3: 950 <--> 1350 mV at 1200 mV
regulator: LDO1: 1800 mV
regulator: LDO2: 1150 <--> 1300 mV at 1200 mV
i2c-gpio i2c-gpio.1: using pins 20 (SDA) and 21 (SCL)
Advanced Linux Sound Architecture Driver Version 1.0.23.
Switching to clocksource timer0_1
musb-hdrc: version 6.0, host, debug=0
musb-hdrc musb-hdrc: dma type: pio
Waiting for USB PHY clock good...
musb-hdrc musb-hdrc: MUSB HDRC host driver
musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
musb-hdrc musb-hdrc: USB Host mode controller at fee00000 using PIO, IRQ 58
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
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.
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (no cpio magic); looks like an initrd
Freeing initrd memory: 4096K
EMAC: MII PHY configured, RMII PHY will not be functional
McBSP:Probed McBSP1
JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
msgmni has been set to 53
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered (default)
da8xx_lcdc da8xx_lcdc.0: GLCD: Found Sharp_LK043T1DG01 panel
Console: switching to colour frame buffer device 60x34
Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1c42000 (irq = 25) is a AR7
serial8250.0: ttyS1 at MMIO 0x1d0c000 (irq = 53) is a AR7
serial8250.0: ttyS2 at MMIO 0x1d0d000 (irq = 61) is a AR7
console [ttyS2] enabled
brd: module loaded
at24 1-0050: 32768 byte 24c256 EEPROM (writable)
ahci ahci: forcing PORTS_IMPL to 0x1
ahci ahci: AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl platform mode
ahci ahci: flags: ncq sntf pm led clo only pmp pio slum part ccc
scsi0 : ahci_platform
ata1: SATA max UDMA/133 mmio [mem 0x01e18000-0x01e19fff] port 0x100 irq 67
spi_davinci spi_davinci.1: DMA: supported
spi_davinci spi_davinci.1: DMA: RX channel: 18, TX channel: 19, event queue: 0
m25p80 spi1.0: m25p64 (8192 Kbytes)
Creating 6 MTD partitions on "m25p80":
0x000000000000-0x000000010000 : "UBL"
0x000000010000-0x000000090000 : "U-Boot"
0x000000090000-0x0000000a0000 : "U-Boot-Env"
0x0000000a0000-0x000000320000 : "Kernel"
0x000000320000-0x000000720000 : "Filesystem"
0x0000007f0000-0x000000800000 : "MAC-Address"
Read MAC addr from SPI Flash: ff:ff:ff:ff:ff:ff
spi_davinci spi_davinci.1: Controller at 0xfef0e000
davinci_mdio davinci_mdio.0: davinci mdio revision 1.5
davinci_mdio davinci_mdio.0: detected phy mask fffffffe
davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver SMSC LAN8710/LAN8720
console [netcon0] enabled
netconsole: network logging started
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci ohci.0: DA8xx OHCI
ohci ohci.0: new USB bus registered, assigned bus number 2
Waiting for USB PHY clock good...
ohci ohci.0: irq 59, io mem 0x01e25000
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
input: gpio-keys-polled as /devices/platform/gpio-keys-polled.1/input/input0
input: TPS6507x Touchscreen as /devices/platform/i2c-gpio.1/i2c-1/1-0048/input/1
omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
omap_rtc: RTC power up reset detected
i2c /dev entries driver
watchdog watchdog: heartbeat 60 sec
cpuidle: using governor ladder
cpuidle: using governor menu
davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
davinci_mmc davinci_mmc.1: Using DMA, 4-bit mode
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
ata1: SATA link down (SStatus 0 SControl 300)
usbcore: registered new interface driver snd-usb-audio
1-0018 supply IOVDD not found, using dummy regulator
1-0018 supply DVDD not found, using dummy regulator
1-0018 supply AVDD not found, using dummy regulator
1-0018 supply DRVDD not found, using dummy regulator
asoc: tlv320aic3x-hifi <-> davinci-mcasp.0 mapping ok
ALSA device list:
#0: DA850/OMAP-L138 EVM
oprofile: hardware counters not available
oprofile: using timer interrupt.
nf_conntrack version 0.5.0 (431 buckets, 1724 max)
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP cubic registered
NET: Registered protocol family 17
regulator_init_complete: incomplete constraints, leaving LDO2 on
regulator_init_complete: incomplete constraints, leaving LDO1 on
regulator_init_complete: incomplete constraints, leaving VDCDC3 on
regulator_init_complete: incomplete constraints, leaving VDCDC2 on
regulator_init_complete: incomplete constraints, leaving VDCDC1 on
davinci_emac_probe: using random MAC addr: d2:86:60:0f:3c:81
omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
davinci_mdio davinci_mdio.0: resetting idled controller
net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=0:00, id)
Sending DHCP requests .
PHY: 0:00 - Link is Up - 100/Full
..... timed out!
IP-Config: Reopening network devices...
davinci_mdio davinci_mdio.0: resetting idled controller
net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=0:00, id)
Sending DHCP requests .
PHY: 0:00 - Link is Up - 100/Full
...
DHCP/BOOTP: Reply not for us, op[2] xid[6f732dd1]
DHCP/BOOTP: Reply not for us, op[2] xid[6f732dd1]
..
DHCP/BOOTP: Reply not for us, op[2] xid[dc3c3842]
timed out!
IP-Config: Auto-configuration of network failed.
RAMDISK: gzip image found at block 0
RAMDISK: EOF while reading compressed data
uncompression error
List of all partitions:
1f00 64 mtdblock0 (driver?)
1f01 512 mtdblock1 (driver?)
1f02 64 mtdblock2 (driver?)
1f03 2560 mtdblock3 (driver?)
1f04 4096 mtdblock4 (driver?)
1f05 64 mtdblock5 (driver?)
No filesystem could mount root, tried: ext3 ext2 cramfs vfat msdos iso9660
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
Backtrace:
[<c00314e4>] (dump_backtrace+0x0/0x110) from [<c035c3e0>] (dump_stack+0x18/0x1c)
r6:00008000 r5:c1813024 r4:c049b8d8 r3:00000000
[<c035c3c8>] (dump_stack+0x0/0x1c) from [<c035c458>] (panic+0x74/0x198)
[<c035c3e4>] (panic+0x0/0x198) from [<c0008eac>] (mount_block_root+0x1c4/0x204)
r3:00000000 r2:00000020 r1:c1825f58 r0:c0408705
r7:c0408769
[<c0008ce8>] (mount_block_root+0x0/0x204) from [<c0009090>] (mount_root+0xac/0x)
[<c0008fe4>] (mount_root+0x0/0xd0) from [<c0009220>] (prepare_namespace+0x16c/0)
r4:c049b364
[<c00090b4>] (prepare_namespace+0x0/0x1cc) from [<c0008a98>] (kernel_init+0x114)
r5:c0027090 r4:c0027090
[<c0008984>] (kernel_init+0x0/0x154) from [<c0045888>] (do_exit+0x0/0x6d0)
r5:c0008984 r4:00000000
please help me out as I am new at this and I might be making some conceptual mistake while trying to achieve the target
I want to mention that I did not make any change in the bootargs environment variable as I did not know how to.. and copied as it is from the wiki:
U-Boot> setenv bootargs mem=32M console=ttyS2,115200n8 root=/dev/ram0 rw initrd=0xc1180000,4M ip=dhcp eth=${ethaddr}
am I required to make changes according to my EVM?