Hello All,
I have been encountering a problem when trying to boot the Android GingerBread 2.3 SDK 2.0 pre-built kernel and rootfs image when using an initramfs.
In my boot scanario i am using tftp to transfer both the kernel image and the root file system as an initramfs archive. However although the kernel appears to start successfully the graphics kernel modules do not load and the android init process enters loop, see the console output attached. insmod for vpss appears to fail, but it is not clear why this should be the case as the kernel and rootfs are unchanged from the versions that I can successfully boot on an SD card or using NFS. Volatile storage is not an option in my application.
I have not modified the image apart from packaging it as an initramfs archive using:
find . -print0 | cpio --null -ov --format=newc | gzip -9 > ../initramdisk.gz
mkimage -A arm -T ramdisk -n 'Ramdisk' -C none -d initramdisk.gz initramfs.img
The u-boot kernel bootargs are:
console=ttyO2,115200n8 rootwait androidboot.console=ttyO2 rw earlyprintk mem=166M@0x80000000 mem=768M@0x90000000
and the boot script:
dhcp; tftpboot 0x9125F820 /srv/tftpboot/initramfs.img; tftpboot 0x91000000 /srv/tftpboot/androidimage; bootm 0x91000000 0x9125F820
where androidimage is the uImage from the SDK pre-built kernel image. I have tried moving the initial load addresses of the images without success.
I would be grateful if anyone has successfully booted with this approach, or any pointer as to where I might be going wrong.
Thanks.
U-Boot 2010.06 (Nov 29 2011 - 09:41:03)
TI8168-GP rev 1.1
ARM clk: 987MHz
DDR clk: 796MHz
I2C: ready
DRAM: 2 GiB
NAND: HW ECC Hamming Code selected
256 MiB
*** Warning - bad CRC or NAND, using default environment
Net: <ethaddr> not set. Reading from E-fuse
Detected MACID:90:d7:eb:3e:fe:70
Ethernet PHY: GENERIC @ 0x01
DaVinci EMAC
Hit any key to stop autoboot: 0
LINUX BOOT
BOOTP broadcast 1
DHCP client bound to address 192.178.1.3
Using DaVinci EMAC device
TFTP from server 192.178.1.2; our IP address is 192.178.1.3
Filename '/srv/tftpboot/initramfs.img'.
Load address: 0x9125f820
Loading: #################################################################
AND SO ON...
############################
done
Bytes transferred = 48111362 (2de1f02 hex)
Using DaVinci EMAC device
TFTP from server 192.178.1.2; our IP address is 192.178.1.3
Filename '/srv/tftpboot/androidimage'.
Load address: 0x91000000
Loading: #################################################################
#################################################################
########################################
done
Bytes transferred = 2488352 (25f820 hex)
## Booting kernel from Legacy Image at 91000000 ...
Image Name: Linux-2.6.37+
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2488288 Bytes = 2.4 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 9125f820 ...
Image Name: Ramdisk
Image Type: ARM Linux RAMDisk Image (uncompressed)
Data Size: 48111298 Bytes = 45.9 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 2.6.37+ (a0393957@swubn01) (gcc version 4.4.3 (GCC) ) #1 Tue Apr 2
6 11:43:48 IST 2011
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: ti8168evm
reserved size = 52428800 at 0
FB: Reserving 52428800 bytes SDRAM for VRAM
Memory policy: ECC disabled, Data cache writeback
Truncating RAM at 90000000-bfffffff to -afffffff (vmalloc region overlap).
OMAP chip is TI8168 1.1
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 172032
Kernel command line: console=ttyO2,115200n8 rootwait androidboot.console=ttyO2 r
w earlyprintk mem=166M@0x80000000 mem=768M@0x90000000
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 166MB 718MB = 884MB total
Memory: 635288k/635288k available, 58984k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xf0800000 - 0xf8000000 ( 120 MB)
lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0036000 ( 184 kB)
.text : 0xc0036000 - 0xc04ac000 (4568 kB)
.data : 0xc04ac000 - 0xc04ed8e0 ( 263 kB)
SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:407
IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
Total of 128 interrupts on 1 active controller
GPMC revision 6.0
Trying to install interrupt handler for IRQ400
Trying to install interrupt handler for IRQ401
Trying to install interrupt handler for IRQ402
Trying to install interrupt handler for IRQ403
Trying to install interrupt handler for IRQ404
Trying to install interrupt handler for IRQ405
Trying to install interrupt handler for IRQ406
Trying to install type control for IRQ407
Trying to set irq flags for IRQ407
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
omap_voltage_early_init: voltage driver support not added
regulator: core version 0.5
regulator: dummy:
NET: Registered protocol family 16
OMAP GPIO hardware version 0.1
OMAP GPIO hardware version 0.1
omap_mux_init: Add partition: #1: core, flags: 0
_omap_mux_get_by_name: Could not find signal i2c2_scl.i2c2_scl
_omap_mux_get_by_name: Could not find 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 @0xf0820000
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
omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
omap_i2c omap_i2c.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, host, debug=0
musb-hdrc musb-hdrc.0: dma type: dma-cppi41
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
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: MUSB HDRC host driver
usb usb1: Manufacturer: Linux 2.6.37+ musb-hcd
usb usb1: SerialNumber: musb-hdrc.0
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 f080c000 using DMA, IRQ 18
musb-hdrc musb-hdrc.1: dma type: dma-cppi41
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
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: MUSB HDRC host driver
usb usb2: Manufacturer: Linux 2.6.37+ musb-hcd
usb usb2: SerialNumber: musb-hdrc.1
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 f081e800 using DMA, IRQ 19
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 512 (order: 1, 8192 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...
Freeing initrd memory: 46984K
NetWinder Floating Point Emulator V0.97 (double precision)
sr1_fck HVT rate = 125000000
sr2_fck SVT rate = 125000000
SR NTarget value for HVT 0x998692
SR NTarget value for SVT 0xaac3d7
SmartReflex Driver initialized
omap-iommu omap-iommu.0: ducati registered
omap-iommu omap-iommu.1: sys registered
ashmem: initialized
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 1332
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
console [ttyO2] enabled
brd: module loaded
loop: module loaded
ahci ahci.0: forcing PORTS_IMPL to 0x3
ahci ahci.0: AHCI 0001.0100 32 slots 2 ports 3 Gbps 0x3 impl platform mode
ahci ahci.0: flags: ncq sntf pm led clo only pmp pio slum part ccc
scsi0 : ahci_platform
scsi1 : ahci_platform
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
m25p80 spi1.0: w25x32 (4096 Kbytes)
Creating 4 MTD partitions on "spi_flash":
0x000000000000-0x000000040000 : "U-Boot"
0x000000040000-0x000000042000 : "U-Boot Env"
0x000000042000-0x0000002c2000 : "Kernel"
0x0000002c2000-0x000000400000 : "File System"
omap2-nand driver initializing
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xca (Micron )
Creating 5 MTD partitions on "omap2-nand.0":
0x000000000000-0x000000260000 : "U-Boot"
0x000000260000-0x000000280000 : "U-Boot Env"
0x000000280000-0x0000006c0000 : "Kernel"
0x0000006c0000-0x00000cee0000 : "File System"
0x00000cee0000-0x000010000000 : "Reserved"
davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
davinci_mdio davinci_mdio.0: detected phy mask fffffff9
davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown
davinci_mdio davinci_mdio.0: phy[2]: device 0:02, driver unknown
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver dm9601
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
Linux video capture interface: v2.00
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v1.0.0)
OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
device-mapper: ioctl: 4.18.0-ioctl (2010-06-29) initialised: dm-devel@redhat.com
PSTATE 1f20001
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
logger: created 64K log 'log_main'
logger: created 256K log 'log_events'
logger: created 64K log 'log_radio'
logger: created 64K log 'log_system'
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
omap_voltage_late_init: Voltage driver support not added
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
ata1: SATA link down (SStatus 0 SControl 300)
ata2: SATA link down (SStatus 0 SControl 300)
Freeing init memory: 184K
init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instea
d.
init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
# SysLink version : 02.00.00.67_alpha2
SysLink module created on Date:Apr 26 2011 Time:11:44:28
Entered KnlUtilsDrv_initializeModule
traceMask value: 0x0
Leaving KnlUtilsDrv_initializeModule 0x0
omaplfb: OMAPLFB_Init: OMAPLFBInit failed
vpss: probe of vpss failed with error -22
ti81xxfb ti81xxfb: no grpxs
ti81xxfb: probe of ti81xxfb failed with error -22
omaplfb: OMAPLFB_Init: OMAPLFBInit failed
omaplfb: OMAPLFB_Init: OMAPLFBInit failed
warning: `zygote' uses 32-bit capabilities (legacy support in use)
alarm_set_rtc: no RTC, time will be lost on reboot
request_suspend_state: wakeup (3->0) at 14278993558 (1970-01-02 00:00:00.4706004
44 UTC)
init: untracked pid 61 exited
request_suspend_state: wakeup (0->0) at 17545259817 (1970-01-02 00:00:03.7368669
26 UTC)
init: untracked pid 124 exited
omaplfb: OMAPLFB_Init: OMAPLFBInit failed
request_suspend_state: wakeup (0->0) at 22682194188 (1970-01-02 00:00:08.8738012
97 UTC)
init: untracked pid 140 exited
omaplfb: OMAPLFB_Init: OMAPLFBInit failed
request_suspend_state: wakeup (0->0) at 27816056040 (1970-01-02 00:00:14.0076630
00 UTC)
init: untracked pid 164 exited
 
				 
		 
					 
                          