My brain also crashed while trying to figure out your problem... a. crash output is the outcome...but what are the inputs? the background OS is in the bootup message, but did u wrote your own serial drivers? what did u do in the serial drivers? b, more info on the background OS.....in particular, where (URL) and what are the steps u followed install the software on the hardware? c. crash may be arch specific or indep, so some hardware info please. sorry i may asking a lot of irrelevant question here...but u have to decide how much to provide as "relevant"....based on your intuitive guess on what went wrong....thanks. On Fri, Feb 27, 2009 at 5:14 AM, Tina S. <tinagsasys@xxxxxxxxx> wrote: > Hello to all, > > My kernel crashes while booting. I am pasting the log > here. I have added debug messages in every function to trace the crash. > > Please can you tell me whether the function invocation > sequence in my boot process is correct. Also I want to know what is the > possible reason for the crash and whether it is related to the serial driver > and in what way. > > > ## Booting image at c1000000 ... > Image Name: Linux-2.6.19.2 > Image Type: ARM Linux Kernel Image (uncompressed) > Data Size: 740580 Bytes = 723.2 kB > Load Address: c0008000 > Entry Point: c0008000 > Verifying Checksum ... OK > OK > ## Loading Ramdisk Image at c2000000 ... > Image Name: ATLASIII DENX RAMDISK IMAGE > Image Type: ARM Linux RAMDisk Image (gzip compressed) > Data Size: 1549557 Bytes = 1.5 MB > Load Address: 00000000 > Entry Point: 00000000 > Verifying Checksum ... OK > Starting kernel ... > Uncompressing Linux.................................................. done, > boot > ing the kernel. > Linux version 2.6.19.2 (atrisys-l3@atrisys-l3) (gcc version 4.0.0 (DENX ELDK > 4.1 > 4.0.0)) #491 Fri Feb 27 15:01:51 IST 2009 > CPU: ARM926EJ-S [41069264] revision 4 (ARMv5TEJ), cr=00053177 > Machine: SiRF AtlasIII HHGPS > Memory policy: ECC disabled, Data cache writeback > CPU0: D VIVT write-back cache > CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets > CPU0: D cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets > Built 1 zonelists. Total pages: 16256 > Kernel command line: mem=64M console=ttySA0,38400n8 root=/dev/ram0 rw > user_debug > =-1 > Trying to install interrupt handler for IRQ0 > Trying to install interrupt handler for IRQ1 > Trying to install interrupt handler for IRQ2 > Trying to install interrupt handler for IRQ3 > Trying to install interrupt handler for IRQ4 > Trying to install interrupt handler for IRQ5 > Trying to install interrupt handler for IRQ6 > Trying to install interrupt handler for IRQ7 > Trying to install interrupt handler for IRQ8 > Trying to install interrupt handler for IRQ9 > Trying to install interrupt handler for IRQ10 > Trying to install interrupt handler for IRQ11 > Trying to install interrupt handler for IRQ12 > Trying to install interrupt handler for IRQ13 > Trying to install interrupt handler for IRQ14 > Trying to install interrupt handler for IRQ15 > Trying to install interrupt handler for IRQ16 > Trying to install interrupt handler for IRQ17 > Trying to install interrupt handler for IRQ18 > Trying to install interrupt handler for IRQ19 > Trying to install interrupt handler for IRQ20 > Trying to install interrupt handler for IRQ21 > Trying to install interrupt handler for IRQ22 > Trying to install interrupt handler for IRQ23 > Trying to install interrupt handler for IRQ24 > Trying to install interrupt handler for IRQ25 > Trying to install interrupt handler for IRQ26 > Trying to install interrupt handler for IRQ27 > Trying to install interrupt handler for IRQ28 > Trying to install interrupt handler for IRQ29 > Trying to install interrupt handler for IRQ30 > Trying to install interrupt handler for IRQ31 > PID hash table entries: 256 (order: 8, 1024 bytes) > Console: colour dummy device 80x30 > Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) > Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) > Memory: 64MB = 64MB total > Memory: 61824KB available (1204K code, 248K data, 72K init) > Mount-cache hash table entries: 512 > CPU: Testing write buffer coherency: <6>in prep_new_page 6 > in prep_zero_page 1 > in prep_zero_page 2 > in prep_zero_page 3 > in prep_zero_page 4 > order is 0 > in prep_zero_page 5 > page address passed to clear_highpage == c006c5d8 > in clear_highpage 1 > the virtual addres == c006c5d8 > in clear_highpage 2 > in clear_highpage 3 > in prep_zero_page 6 > in prep_new_page 7 > ok > checking if image is initramfs...it isn't (no cpio magic); looks like an > initrd > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /initrd.image<6>in open.c in do_filp_open > in namei.c in function open_namei > in open.c after open_namei > in open.c after do_sys_open > Freeing initrd memory: 1513K > in init populate_rootfs executed > in prep_new_page 6 > in prep_zero_page 1 > in prep_zero_page 2 > in prep_zero_page 3 > in prep_zero_page 4 > order is 0 > in prep_zero_page 5 > page address passed to clear_highpage == 5c97d8bd > in clear_highpage 1 > the virtual addres == 5c97d8bd > in clear_highpage 2 > in clear_highpage 3 > in prep_zero_page 6 > in prep_new_page 7 > ATLASIII: Initialising architecture > ATLASIII: Initialising architecture > NetWinder Floating Point Emulator V0.97 (double precision) > io scheduler noop registered > io scheduler anticipatory registered (default) > io scheduler deadline registered > io scheduler cfq registered > In function uart_register_driver > serialATLASIII uart register end function uart_register_driver > In function uart_configure_port Calling config of ATALSIII serial > drivern<6>Hell > o in here > Out of function config of ATLASIII > In uart_configure_port before uart_report_port > In uart_report_port > In uart_report_port calling serialATLAS_type > In uart_type > calling serilaATLAS_type in uart_type > Out of type !!! > In uart_type end > ttySA0 at MMIO 0x80000000 (irq = 20) is a ATLAS_SERIAL > In uart_report_port after exiting serialATLAS_type > Out of function uart_report_port in config of ATLASIII > In config_uart_port calling set_mctrl of ATLASIII > In config_uart_port after call end set_mctrl of ATLASIII > Exiting the function uart_configure_port!!!! > RAMDISK driver initialized: 1 RAM disks of 16384K size 1024 blocksize > loop: loaded (max 8 devices) > mice: PS/2 mouse device common for all mice > drivers/rtc/hctosys.c: unable to open rtc device (rtc0) > in init do_basic_setup > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /sys/block/ram0/dev<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > in open.c after do_sys_open > in prep_new_page 6 > in prep_zero_page 1 > in prep_zero_page 2 > in prep_zero_page 3 > in prep_zero_page 4 > order is 0 > in prep_zero_page 5 > page address passed to clear_highpage == 66737973 > in clear_highpage 1 > the virtual addres == 66737973 > in clear_highpage 2 > in clear_highpage 3 > in prep_zero_page 6 > in prep_new_page 7 > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /dev/ram<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > in open.c after do_sys_open > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /initrd.image<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > in open.c after do_sys_open > RAMDISK: Compressed image found at block 0 > VFS: Mounted root (ext2 filesystem). > in init before free_initmem > Freeing init memory: 72K > in init after free_initmem > afetr unlock_kernel > after mark_rodata > after numa_default_policy > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /dev/console<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > Comes into n_tty_open!!!!!1 > Comes into n_tty_open!!!!!2 > Comes into n_tty_open!!!!!3 > Comes into tty_open!!!!!4 > Comes into tty_open!!!!!4.1 > Comes into tty_open End!!!!!4 > In uart_open > In uart_get > In uart_get end > IN UART_CHANGE_PM > HELLO!!!!!!!!!!!befor calling uart-startup > In uart_startup > In uart_startup1 > In uart_startup2 > Coming here because PORT_UNKNOWN > In uart_block_til_ready > In uart_block_til_ready > In uart_update_termios > In uart_update_termios end > in open.c after do_sys_open > in init before sys_dup() > in init after sys_dup() both calls executed!! > in init before all rum_init_process > Entered in this process run_init_process!!check check!!!!! > in prep_new_page 6 > in prep_zero_page 1 > in prep_zero_page 2 > in prep_zero_page 3 > in prep_zero_page 4 > order is 0 > in prep_zero_page 5 > page address passed to clear_highpage == e3a04000 > in clear_highpage 1 > the virtual addres == e3a04000 > in clear_highpage 2 > in clear_highpage 3 > in prep_zero_page 6 > in prep_new_page 7 > in prep_new_page 6 > in prep_zero_page 1 > in prep_zero_page 2 > in prep_zero_page 3 > in prep_zero_page 4 > order is 0 > in prep_zero_page 5 > page address passed to clear_highpage == eb0105cd > in clear_highpage 1 > the virtual addres == eb0105cd > in clear_highpage 2 > in clear_highpage 3 > in prep_zero_page 6 > in prep_new_page 7 > in prep_new_page 6 > in prep_zero_page 1 > in prep_zero_page 2 > in prep_zero_page 3 > in prep_zero_page 4 > order is 0 > in prep_zero_page 5 > page address passed to clear_highpage == c012ce38 > in clear_highpage 1 > the virtual addres == c012ce38 > in clear_highpage 2 > in clear_highpage 3 > in prep_zero_page 6 > in prep_new_page 7 > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /etc/ld.so.cache<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > in open.c after do_sys_open > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /lib/v5l/fast-mult/half/libcrypt.so.1<6>in open.c in > do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > in open.c after do_sys_open > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /lib/v5l/fast-mult/libcrypt.so.1<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > in open.c after do_sys_open > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /lib/v5l/half/libcrypt.so.1<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > in open.c after do_sys_open > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /lib/v5l/libcrypt.so.1<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > in open.c after do_sys_open > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /lib/fast-mult/half/libcrypt.so.1<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > in open.c after do_sys_open > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /lib/fast-mult/libcrypt.so.1<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > in open.c after do_sys_open > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /lib/half/libcrypt.so.1<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > in open.c after do_sys_open > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /lib/libcrypt.so.1<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > in open.c after do_sys_open > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /lib/libm.so.6<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > in open.c after do_sys_open > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /lib/libc.so.6<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > in open.c after do_sys_open > in prep_new_page 6 > in prep_zero_page 1 > in prep_zero_page 2 > in prep_zero_page 3 > in prep_zero_page 4 > order is 0 > in prep_zero_page 5 > page address passed to clear_highpage == 0 > in clear_highpage 1 > the virtual addres == 0 > in clear_highpage 2 > in clear_highpage 3 > in prep_zero_page 6 > in prep_new_page 7 > in prep_new_page 6 > in prep_zero_page 1 > in prep_zero_page 2 > in prep_zero_page 3 > in prep_zero_page 4 > order is 0 > in prep_zero_page 5 > page address passed to clear_highpage == ecae8f7d > in clear_highpage 1 > the virtual addres == ecae8f7d > in clear_highpage 2 > in clear_highpage 3 > in prep_zero_page 6 > in prep_new_page 7 > in prep_new_page 6 > in prep_zero_page 1 > in prep_zero_page 2 > in prep_zero_page 3 > in prep_zero_page 4 > order is 0 > in prep_zero_page 5 > page address passed to clear_highpage == bb59fea0 > in clear_highpage 1 > the virtual addres == bb59fea0 > in clear_highpage 2 > in clear_highpage 3 > in prep_zero_page 6 > in prep_new_page 7 > in prep_new_page 6 > in prep_zero_page 1 > in prep_zero_page 2 > in prep_zero_page 3 > in prep_zero_page 4 > order is 0 > in prep_zero_page 5 > page address passed to clear_highpage == 130fbf6b > in clear_highpage 1 > the virtual addres == 130fbf6b > in clear_highpage 2 > in clear_highpage 3 > in prep_zero_page 6 > in prep_new_page 7 > in prep_new_page 6 > in prep_zero_page 1 > in prep_zero_page 2 > in prep_zero_page 3 > in prep_zero_page 4 > order is 0 > in prep_zero_page 5 > page address passed to clear_highpage == 2223a997 > in clear_highpage 1 > the virtual addres == 2223a997 > in clear_highpage 2 > in clear_highpage 3 > in prep_zero_page 6 > in prep_new_page 7 > in open.c before do_sys_open > in open.c in do_sys_open > Device name : /dev/console<6>in open.c in do_filp_open > in namei.c in function open_namei > in namei.c before path-lookup-open > in open.c after open_namei > In uart_open > In uart_get > In uart_get end > HELLO!!!!!!!!!!!befor calling uart-startup > In uart_startup > In uart_startup1 > In uart_startup2 > Coming here because PORT_UNKNOWN > In uart_block_til_ready > In uart_block_til_ready > in open.c after do_sys_open > In uart_ioctl > In uart_get_info > In uart_get_info > In uart_ioctl > In uart_close > In uart_close > In uart_close > In uart_chars_in_buffer > In uart_wait_until_sent > In uart_wait_until_sent early return > In uart_shutdown > uart_shutdown end function > In uart_flush_buffer > In uart_flush_buffer > IN UART_CHANGE_PM > Unable to handle kernel NULL pointer dereference at virtual address 00000030 > THis is the error pgd = c033c000 > [00000030] *pgd=c0013031, *pte=00000000, *ppte=00000000 > Internal error: Oops: 17 [#1] > Modules linked in: > CPU: 0 > PC is at uart_change_pm+0x30/0x54 > LR is at 0x1 > pc : [<c010a0c0>] lr : [<00000001>] Not tainted > sp : c022de5c ip : 60000093 fp : c022de74 > r10: c2108740 r9 : c2104bfc r8 : c021b138 > r7 : c0018fb4 r6 : c0018fb4 r5 : c021b120 r4 : 00000003 > r3 : 00000000 r2 : 00000000 r1 : 00003724 r0 : 00000016 > Flags: Nzcv IRQs on FIQs on Mode SVC_32 Segment user > Control: 5317F > Table: C033C000 DAC: 00000015 > Process init (pid: 1, stack limit = 0xc022c250) > Stack: (0xc022de5c to 0xc022e000) > de40: > 00000001 > de60: c021b120 c0231800 c022de98 c022de78 c010c7a8 c010a0a0 00000000 > c0231800 > de80: 00000000 00000006 00000000 c022df20 c022de9c c00f8fb4 c010c61c > 00000000 > dea0: 00000000 c022def4 c022deb4 c0021770 c005af28 c001614c 00000100 > 00000000 > dec0: 00000000 c000d628 000000af 000000af 00000000 c027005f c000d614 > c00160d4 > dee0: 00000000 401b3000 c022df4c c022def8 c005d7e8 c0021650 c2108740 > 00000000 > df00: c0339b7c 00000006 c001afa4 c2104bfc c02193a0 c022df30 c022df24 > c00f94a0 > df00: c0339b7c 00000006 c001afa4 c2104bfc c02193a0 c022df30 c022df24 > c00f94a0 > df40: 00000006 c001afa4 c022c000 40215000 c022df6c c022df60 c006fe98 > c006fd1c > df60: c022df88 c022df70 c006d4a8 c006fe74 c022ebc8 c022ebc0 c2108740 > c022dfa4 > df80: c022df8c c006da68 c006d44c beba2feb 00000003 0007691c 00000000 > c022dfa8 > dfa0: c001ae00 c006d9f8 beba2feb 00000003 00000002 beba2cf8 00000000 > 40219f78 > dfc0: beba2feb 00000003 0007691c beba2f34 00000001 beba2f34 40215000 > 00000001 > dfe0: 00000000 beba2d10 00003fcc 401ada10 40000010 00000002 c013cce0 > c013cce8 > Backtrace: > [<c010a090>] (uart_change_pm+0x0/0x54) from [<c010c7a8>] > (uart_close+0x19c/0x1e4 > ) > r6 = C0231800 r5 = C021B120 r4 = 00000001 > [<c010c60c>] (uart_close+0x0/0x1e4) from [<c00f8fb4>] > (release_dev+0x1c8/0x6a0) > r8 = 00000000 r7 = 00000006 r6 = 00000000 r5 = C0231800 > r4 = 00000000 > [<c00f8dec>] (release_dev+0x0/0x6a0) from [<c00f94a0>] > (tty_release+0x14/0x1c) > [<c00f948c>] (tty_release+0x0/0x1c) from [<c006fd68>] (__fput+0x5c/0x158) > [<c006fd0c>] (__fput+0x0/0x158) from [<c006fe98>] (fput+0x34/0x38) > [<c006fe64>] (fput+0x0/0x38) from [<c006d4a8>] (filp_close+0x6c/0x78) > [<c006d43c>] (filp_close+0x0/0x78) from [<c006da68>] (sys_close+0x80/0xa0) > r6 = C2108740 r5 = C022EBC0 r4 = C022EBC8 > [<c006d9e8>] (sys_close+0x0/0xa0) from [<c001ae00>] > (ret_fast_syscall+0x0/0x2c) > r6 = 0007691C r5 = 00000003 r4 = BEBA2FEB > Code: e595200c e1520004 089da870 e5963068 (e5933030) > <0>Kernel panic - not syncing: Attempted to kill init! > > Here the kernel crashes. Please help me find the reason, and getting a > working system. > > Thanking you > > Tina -- Regards, Peter Teoh -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ