Hi,
I have bitbaked a new arago-console image and generated a new kernel and rootfilesystem. The kernel works when booted from the SD card (rootfs is mounted via NFS) but when I try to boot the same kernel via NAND it fails.
The version of the kernel that I bitbaked is called linux-omap3-2.6.36+2.6.37-rc3-psp04.00.00.09
I noticed some small changes of the output when booting from SD vs NAND. Does something need to be done different to the kernel to get it to boot out of NAND?
Here is the dmesg output of booting out of the SD (which works):
Linux version 2.6.37-rc3 (hutch@neo) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #3 Wed Apr 20 14:36:02 EDT 2011
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: ti8168evm
vram size = 52428800 at 0
reserved size = 52428800 at 0
FB: Reserving 52428800 bytes SDRAM for VRAM
Memory policy: ECC disabled, Data cache writeback
OMAP chip is TI8168
On node 0 totalpages: 29696
free_area_init_node: node 0, pgdat c0473ba4, node_mem_map c04ab000
Normal zone: 332 pages used for memmap
Normal zone: 0 pages reserved
Normal zone: 29364 pages, LIFO batch:7
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 29364
Kernel command line: console=ttyS2,115200n8 root=/dev/nfs rw nfsroot=192.168.1.5:/home/hutch/downloads/Integra/rootfs mem=166M earlyprink vram=50M ti816xfb.vram=0:16M,1:16M,2:6M ip=192.168.1.1:192.168.1.5::255.255.255.0 noinitrd
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: 116MB = 116MB total
Memory: 112524k/112524k available, 57460k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xca800000 - 0xf8000000 ( 728 MB)
lowmem : 0xc0000000 - 0xca600000 ( 166 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0035000 ( 180 kB)
.text : 0xc0035000 - 0xc0439000 (4112 kB)
.data : 0xc043a000 - 0xc0475040 ( 237 kB)
SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:400
GPMC revision 6.0
IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
Total of 128 interrupts on 1 active controller
OMAP clockevent source: GPTIMER1 at 27000000 Hz
Console: colour dummy device 80x30
Calibrating delay loop... 986.31 BogoMIPS (lpj=4931584)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
devtmpfs: initialized
regulator: core version 0.5
regulator: dummy:
NET: Registered protocol family 16
omap_mux_init: Add partition: #1: core, flags: 0
_omap_mux_init_signal: Could not set signal i2c2_scl.i2c2_scl
_omap_mux_init_signal: Could not set signal i2c2_sda.i2c2_sda
NOR: Can't request GPMC CS
registered ti816x_vpss device
pm_dbg_init: only OMAP3 supported
Registered ti81xx_fb device
ti816x_pcie: Invoking PCI BIOS...
ti816x_pcie: Setting up Host Controller...
ti816x_pcie: Register base mapped @0xca820000
ti816x_pcie: Starting PCI scan...
PCI: bus0: Fast back to back transfers enabled
pci_bus 0000:00: resource 0 [mem 0x20000000-0x2fffffff]
pci_bus 0000:00: resource 1 [io 0x40000000-0x402fffff]
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c_omap i2c_omap.1: rpm_resume flags 0x4
i2c_omap i2c_omap.1: omap_pm_runtime_resume
i2c_omap i2c_omap.1: rpm_resume returns 0
i2c_omap i2c_omap.1: bus 1 rev4.0 at 100 kHz
i2c_omap i2c_omap.1: rpm_suspend flags 0x0
i2c_omap i2c_omap.1: omap_pm_runtime_suspend
i2c_omap i2c_omap.1: rpm_suspend returns 0
i2c_omap i2c_omap.2: rpm_resume flags 0x4
i2c_omap i2c_omap.2: omap_pm_runtime_resume
i2c_omap i2c_omap.2: rpm_resume returns 0
i2c_omap i2c_omap.2: bus 2 rev4.0 at 100 kHz
i2c_omap i2c_omap.2: rpm_suspend flags 0x0
i2c_omap i2c_omap.2: omap_pm_runtime_suspend
i2c_omap i2c_omap.2: rpm_suspend returns 0
Advanced Linux Sound Architecture Driver Version 1.0.23.
Switching to clocksource gp timer
musb_hdrc: version 6.0, cppi4.1-dma, host, debug=0
Switched to NOHz mode on CPU #0
registerd cppi-dma Intr @ IRQ 17
Cppi41 Init Done
musb_hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb_hdrc: kernel must blacklist external hubs
musb_hdrc: HDRC RTL version 2.0
musb_hdrc: setup fifo_mode 4
musb_hdrc: 28/31 max ep, 16384/16384 memory
musb_hdrc musb_hdrc.0: MUSB HDRC host driver
musb_hdrc musb_hdrc.0: 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.0: USB Host mode controller at ca80c000 using DMA, IRQ 18
Registered /proc/driver/musb_hdrc.0
musb_hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb_hdrc: kernel must blacklist external hubs
musb_hdrc: HDRC RTL version 2.0
musb_hdrc: setup fifo_mode 4
musb_hdrc: 28/31 max ep, 16384/16384 memory
musb_hdrc musb_hdrc.1: MUSB HDRC host driver
musb_hdrc musb_hdrc.1: new USB bus registered, assigned bus number 2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
musb_hdrc musb_hdrc.1: USB Host mode controller at ca81e800 using DMA, IRQ 19
Registered /proc/driver/musb_hdrc.1
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.
PCI: CLS 0 bytes, default 64
NetWinder Floating Point Emulator V0.97 (double precision)
squashfs: version 4.0 (2009/01/31) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 219
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
omap-hsuart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
omap-hsuart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
omap-hsuart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
brd: module loaded
loop: module loaded
ahci ahci: forcing port_map 0x0 -> 0x3
ahci ahci: AHCI 0001.0100 32 slots 2 ports 3 Gbps 0x3 impl platform mode
ahci ahci: flags: ncq sntf pm led clo only pmp pio slum part ccc
scsi0 : ahci
scsi1 : ahci
ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x100 irq 16
ata2: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x180 irq 16
scsi host0: rpm_resume flags 0x4
scsi host0: rpm_resume returns 1
scsi host1: rpm_resume flags 0x4
scsi host1: rpm_resume returns 1
m25p80 spi1.0: found m25p05-nonjedec, expected w25x32
m25p80 spi1.0: m25p05-nonjedec (64 Kbytes)
Creating 4 MTD partitions on "spi_flash":
0x000000000000-0x000000040000 : "U-Boot"
mtd: partition "U-Boot" extends beyond the end of device "spi_flash" -- size truncated to 0x10000
0x000000010000-0x000000012000 : "U-Boot Env"
mtd: partition "U-Boot Env" is out of reach -- disabled
0x000000000000-0x000000280000 : "Kernel"
mtd: partition "Kernel" extends beyond the end of device "spi_flash" -- size truncated to 0x10000
0x000000010000-0x000000010000 : "File System"
mtd: partition "File System" is out of reach -- disabled
omap2-nand driver initializing
No NAND device found.
No NAND device found.
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
i2c /dev entries driver
omap_wdt omap_wdt: rpm_resume flags 0x4
omap_wdt omap_wdt: omap_pm_runtime_resume
omap_wdt omap_wdt: rpm_resume returns 0
OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
omap_wdt omap_wdt: rpm_suspend flags 0x0
omap_wdt omap_wdt: omap_pm_runtime_suspend
omap_wdt omap_wdt: rpm_suspend returns 0
PSTATE 1ff0000
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
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.2 mapping ok
ALSA device list:
#0: TI81XX EVM
TCP cubic registered
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
emac-mii: probed
mdio_bus 1:01: DaVinci EMAC: mii bus found 31
net eth1: DaVinci EMAC eth1 PHY not found
davinci_emac: probe of davinci_emac.1 failed with error -1
mmc0: new SDHC card at address e624
mmcblk0: mmc0:e624 SD08G 7.40 GiB
mmcblk0: p1 p2 p3
ata1: SATA link down (SStatus 0 SControl 300)
scsi host0: rpm_suspend flags 0x0
scsi host0: rpm_suspend returns 0
ata2: SATA link down (SStatus 0 SControl 300)
scsi host1: rpm_suspend flags 0x0
scsi host1: rpm_suspend returns 0
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=1:01, id=282f013)
IP-Config: Complete:
device=eth0, addr=192.168.1.1, mask=255.255.255.0, gw=255.255.255.255,
host=192.168.1.1, domain=, nis-domain=(none),
bootserver=192.168.1.5, rootserver=192.168.1.5, rootpath=
Warning: unable to open an initial console.
PHY: 1:01 - Link is Up - 1000/Full
VFS: Mounted root (nfs filesystem) on device 0:14.
devtmpfs: mounted
Freeing init memory: 180K
udevd (60): /proc/60/oom_adj is deprecated, please use /proc/60/oom_score_adj instead.
udev: starting version 141
NET: Registered protocol family 10
FAT: bogus number of reserved sectors
VFS: Can't find a valid FAT filesystem on dev mmcblk0.
EXT3-fs (mmcblk0): error: can't find ext3 filesystem on dev mmcblk0.
EXT2-fs (mmcblk0): error: can't find an ext2 filesystem on dev mmcblk0.
SQUASHFS error: Can't find a SQUASHFS superblock on mmcblk0
FAT: bogus number of reserved sectors
VFS: Can't find a valid FAT filesystem on dev mmcblk0.
EXT3-fs: barriers not enabled
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk0p2): warning: mounting unchecked fs, running e2fsck is recommended
EXT3-fs (mmcblk0p2): using internal journal
EXT3-fs (mmcblk0p2): recovery complete
EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
EXT3-fs: barriers not enabled
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk0p3): warning: mounting unchecked fs, running e2fsck is recommended
EXT3-fs (mmcblk0p3): using internal journal
EXT3-fs (mmcblk0p3): recovery complete
EXT3-fs (mmcblk0p3): mounted filesystem with writeback data mode
eth0: no IPv6 routers present
Now here is the output of the exact same kernel image booting from NAND (which doesn't work ... I get strange characters on my console right after the omap-hsuart output):
Uncompressing Linux... done, booting the kernel.
Linux version 2.6.37-rc3 (hutch@neo) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #3 Wed Apr 20 14:36:02 EDT 2011
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: ti8168evm
bootconsole [earlycon0] enabled
reserved size = 0 at 0
Memory policy: ECC disabled, Data cache writeback
OMAP chip is TI8168
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 25400
Kernel command line: console=ttyS2,115200n8 root=/dev/mtdblock3 rw rootfstype=jffs2 mem=100M earlyprintk
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: 100MB = 100MB total
Memory: 96684k/96684k available, 5716k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xc6800000 - 0xf8000000 ( 792 MB)
lowmem : 0xc0000000 - 0xc6400000 ( 100 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0035000 ( 180 kB)
.text : 0xc0035000 - 0xc0439000 (4112 kB)
.data : 0xc043a000 - 0xc0475040 ( 237 kB)
SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:400
GPMC revision 6.0
IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
Total of 128 interrupts on 1 active controller
OMAP clockevent source: GPTIMER1 at 27000000 Hz
Console: colour dummy device 80x30
Calibrating delay loop... 986.31 BogoMIPS (lpj=4931584)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
devtmpfs: initialized
regulator: core version 0.5
regulator: dummy:
NET: Registered protocol family 16
omap_mux_init: Add partition: #1: core, flags: 0
_omap_mux_init_signal: Could not set signal i2c2_scl.i2c2_scl
_omap_mux_init_signal: Could not set signal i2c2_sda.i2c2_sda
NOR: Can't request GPMC CS
registered ti816x_vpss device
pm_dbg_init: only OMAP3 supported
Registered ti81xx_fb device
ti816x_pcie: Invoking PCI BIOS...
ti816x_pcie: Setting up Host Controller...
ti816x_pcie: Register base mapped @0xc6820000
ti816x_pcie: Starting PCI scan...
PCI: bus0: Fast back to back transfers enabled
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c_omap i2c_omap.1: bus 1 rev4.0 at 100 kHz
i2c_omap i2c_omap.2: bus 2 rev4.0 at 100 kHz
Advanced Linux Sound Architecture Driver Version 1.0.23.
Switching to clocksource gp timer
musb_hdrc: version 6.0, cppi4.1-dma, host, debug=0
Switched to NOHz mode on CPU #0
registerd cppi-dma Intr @ IRQ 17
Cppi41 Init Done
musb_hdrc: kernel must blacklist external hubs
musb_hdrc musb_hdrc.0: MUSB HDRC host driver
musb_hdrc musb_hdrc.0: 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.0: USB Host mode controller at c680c000 using DMA, IRQ 18
musb_hdrc: kernel must blacklist external hubs
musb_hdrc musb_hdrc.1: MUSB HDRC host driver
musb_hdrc musb_hdrc.1: new USB bus registered, assigned bus number 2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
musb_hdrc musb_hdrc.1: USB Host mode controller at c681e800 using DMA, IRQ 19
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.
NetWinder Floating Point Emulator V0.97 (double precision)
squashfs: version 4.0 (2009/01/31) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) .. 2001-2006 Red Hat, Inc.
msgmni has been set to 188
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
omap-hsuart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0 a
omap-hsuart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1 �.&2=��4010). �.m.!| .. .85j��..-�/�.-0.1.0�.
omap-hsuart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2 1.. .85j��..-�/�.-0.1.0�.8
U-Boot 2010.06 (Nov 19 2010 - 00:26:27)�.-000- .�a�!.)!.)!.)0�.103.3�..2��..3'.303..,0.4z�.-.�.�!.)!.)&.�| .13�&�.�" �//�9�. ..3.-�2.�4 .�.4) !...�.4. !...
... and the above line is where the kernel booting dies.
Anyone seen this before of have a clue what the issue is?
I'm tempted to do a bitbake update to see if maybe something was already fixed in upstream git tree.
Regards,
Brian