Hello,
I am trying to boot the kernel with a ramdisk image built from arago filesystem. I have tried booting this default (git) Linux image "uImage"( made using davinci_dm644x_defconfig) with sample arago filesystem images found from the arago website and successfully booted. I can see login menu and everything works well.
But when I create this ramdisk by following the typical methods for preparing ramdisk I have an error message after Linux kernel mounts arago filesystem image.
I get the following message:
VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing init memory: 136K ----> I believe these messages show that an arago filesystem image is mounted.
But then I get the following message:
Kernel panic - not syncing: No init found. Try passing init= option to kernel.
----->And this message shows that the init file is not found. I think after mounting image the kernel looks for /etc/inittab and starts executing it. This file is present in the filesystem. Though the kernel does not accept it.
I also tried to explicitly provide the file by its path via the bootargs environment variable init=/etc/inittab
Still I get the same problem.
I also tried providing init=/linuxrc. But it was of no use.
Can anyone tell me what is the problem?
Following is the output on the console. Is there anything wrong with my ramdisk image
Following are my bootargs:
setenv bootargs video=davincifb:vid0=0,2500K:vid1=0,2500K:osd0=720x576x16,2025K davinci_enc_mngr.ch0_output=COMPOSITE davinci_enc_mngr.ch0_mode=$(videostd) console=ttyS0,115200n8 initrd=0x85000000,16M rw root=/dev/ram0 mem=118M ip=off
DaVinci EVM # setenv bootcmd 'tftp 0x85000000 ramdisk.gz; tftpboot 0x84000000 uImage; bootm 0x84000000'
DaVinci EVM # boot
TFTP from server 172.16.3.101; our IP address is 172.16.3.100
Filename 'ramdisk.gz'.
Load address: 0x85000000
Loading:
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#######################################
done
Bytes transferred = 4523228 (4504dc hex)
TFTP from server 172.16.3.101; our IP address is 172.16.3.100 Filename 'uImage'.
Load address: 0x84000000
Loading:
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#####################################################
done
Bytes transferred = 1934452 (1d8474 hex)
## Booting image at 84000000 ...
Image Name: Linux-2.6.32-rc2-davinci1
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1934388 Bytes = 1.8 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
OK
Starting kernel ...
Uncompressing Linux.............................................................................................................................. done, booting the kernel.
Linux version 2.6.32-rc2-davinci1 (user@ubuntu) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #4 PREEMPT Tue Oct 18 03:51:08 PDT 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: DaVinci DM644x EVM
Memory policy: ECC disabled, Data cache writeback
DaVinci dm6446a variant 0x1
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 29972
Kernel command line: video=davincifb:vid0=0,2500K:vid1=0,2500K:osd0=720x576x16,2025K davinci_enc_mngr.ch0_output=COMPOSITE davinci_enc_mngr.ch0_mode=ntsc console=ttyS0,115200n8 initrd=0x85000000,16M rw root=/dev/ram0 mem=118M ip=off
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: 118MB = 118MB total
Memory: 99056KB available (3620K code, 328K data, 136K init, 0K highmem)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:245
Console: colour dummy device 80x30
Calibrating delay loop... 147.86 BogoMIPS (lpj=739328)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
DaVinci: 71 gpio irqs
NET: Registered protocol family 16
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
pcf857x 1-0038: gpios 144..151 on a pcf8574
pcf857x 1-0039: gpios 152..159 on a pcf8574
pcf857x 1-003a: gpios 160..167 on a pcf8574
vpss vpss: dm644x_vpss vpss probed
vpss vpss: dm644x_vpss vpss probe success
ch0 default output "COMPOSITE", mode "NTSC"
VPBE Encoder Initialized
LogicPD encoder initialized
Switching to clocksource timer0_1
musb_hdrc: version 6.0, cppi-dma, host, debug=0
musb_hdrc: USB Host mode controller at fec64000 using DMA, IRQ 12
musb_hdrc musb_hdrc: MUSB HDRC host driver
musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
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
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: 16384K
msgmni has been set to 225
io scheduler noop registered
io scheduler anticipatory registered (default)
davincifb davincifb: dm_osd0_fb: Initial window configuration is invalid.
Console: switching to colour frame buffer device 90x36
davincifb davincifb: dm_osd0_fb: 720x576x16@0,0 with framebuffer size 2025KB
davincifb davincifb: dm_vid0_fb: 0x0x16@0,0 with framebuffer size 2500KB
davincifb davincifb: dm_osd1_fb: 720x480x4@0,0 with framebuffer size 675KB
davincifb davincifb: dm_vid1_fb: 0x0x16@0,0 with framebuffer size 2500KB
davincifb davincifb.0: dm_osd0_fb: Failed to obtain ownership of OSD window.
Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A
console [ttyS0] enabled
serial8250 serial8250.0: unable to register port at index 1 (IO0 MEM1c20400 IRQ41): -22
serial8250 serial8250.0: unable to register port at index 2 (IO0 MEM1c20800 IRQ42): -22
brd: module loaded
loop: module loaded
at24 1-0050: 32768 byte 24c256 EEPROM (writable)
Read MAC addr from EEPROM: 00:0e:99:02:43:7f
Uniform Multi-Platform E-IDE driver
ide-gd driver 1.18
ide0: MMIO-DMA
hda: TOSHIBA MK4032GAX, ATA DISK drive
hda: UDMA/66 mode selected
ide0 at 0xfec661f0-0xfec661f7,0xfec663f6 on irq 22
hda: max request size: 512KiB
hda: 78140160 sectors (40007 MB), CHS=16383/255/63
hda: cache flushes supported
hda: hda1 hda2
console [netcon0] enabled
netconsole: network logging started
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbtest
i2c /dev entries driver
Linux video capture interface: v2.00
vpfe_init
vpfe-capture: vpss clock vpss_master enabled
vpfe-capture: vpss clock vpss_slave enabled
vpfe-capture vpfe-capture: v4l2 device registered
vpfe-capture vpfe-capture: video device registered
tvp514x 1-005d: tvp514x 1-005d decoder driver registered !!
vpfe-capture vpfe-capture: v4l2 sub device tvp514x registered
vpfe_register_ccdc_device: DM6446 CCDC
DM6446 CCDC is registered with vpfe.
Trying to register davinci display video device.
layer=c3df8a00,layer->video_dev=c3df8b70
Trying to register davinci display video device.
layer=c3df8400,layer->video_dev=c3df8570
davinci_init:DaVinci V4L2 Display Driver V1.0 loaded
watchdog watchdog: heartbeat 60 sec
davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.21.
No device for DAI tlv320aic3x
No device for DAI davinci-i2s
asoc: tlv320aic3x <-> davinci-i2s mapping ok
ALSA device list:
#0: DaVinci EVM (tlv320aic3x)
TCP cubic registered
NET: Registered protocol family 17
Clocks: disable unused uart1
Clocks: disable unused uart2
Clocks: disable unused emac
Clocks: disable unused spi
Clocks: disable unused vlynq
Clocks: disable unused pwm0
Clocks: disable unused pwm1
Clocks: disable unused pwm2
Clocks: disable unused timer1
emac-mii: probed
RAMDISK: gzip image found at block 0
VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing init memory: 136K
Kernel panic - not syncing: No init found. Try passing init= option to kernel.
Backtrace:
[<c002e7d0>] (dump_backtrace+0x0/0x114) from [<c02d16a8>] (dump_stack+0x18/0x1c)
r7:00000000 r6:00000000 r5:00000000 r4:c03da4b0
[<c02d1690>] (dump_stack+0x0/0x1c) from [<c02d1700>] (panic+0x54/0x124)
[<c02d16ac>] (panic+0x0/0x124) from [<c002a5ac>] (init_post+0xdc/0x104)
r3:00000000 r2:c3dc7c00 r1:c0408000 r0:c035b6f3
[<c002a4d0>] (init_post+0x0/0x104) from [<c00084c0>] (kernel_init+0xe8/0x118)
r5:00000000 r4:c03d9d60
[<c00083d8>] (kernel_init+0x0/0x118) from [<c0043030>] (do_exit+0x0/0x684)
r5:00000000 r4:00000000
I dont understand the last few lines. Are they partitions or wat?
Please provide your suggestions. Thank you.