where are initcalls defined?
I'm trying to port kernel 2.6.26 to edosk7760 board.
my kernel hangs up during initcalls;
with a little debugging i found that with a minimal config (only ext2 fs for example)
skipping the 71th initcalls my kernel continues to boot until
[ 1.665032] No filesystem could mount root, tried: ext2 [ 1.670330] Kernel panic - not syncing: VFS: Unable to mount root fs
on unknown-block(1,0)
where can i found the initcalls vector list ?
someone can help me?
here attached the complete boot log ( where SPES lines are my added debug infos):
Starting program at 8C210000
[ 0.000000] SPES start_kernel [ 0.000000] Linux version 2.6.26-rc8-00210-g35534ad-dirty (s@s-laptop) (gcc version 3.4.5 20060103 (3.4.5-10.1a)) #206 8 [ 0.000000] SPES qui dovrei vedere : [ 0.000000] Linux version 2.6.26-rc8-00210-g35534ad-dirty (s@s-laptop) (gcc version 3.4.5 20060103 (3.4.5-10.1a)) #28 [ 0.000000] [ 0.000000] Boot params: [ 0.000000] ... MOUNT_ROOT_RDONLY - 00000001 [ 0.000000] ... RAMDISK_FLAGS - 00000000 [ 0.000000] ... ORIG_ROOT_DEV - 00000200 [ 0.000000] ... LOADER_TYPE - 00000001 [ 0.000000] ... INITRD_START - 00360000 [ 0.000000] ... INITRD_SIZE - 0021de1a [ 0.000000] Booting machvec: EDOSK7760 [ 0.000000] SPES machvec.c Booting machvec: EDOSK7760 [ 0.000000] SPES non dichiarato 25 ;sostituito con generic [ 0.000000] SPES non dichiarato 26 ;sostituito con generic [ 0.000000] SPES non dichiarato 27 ;sostituito con generic [ 0.000000] Node 0: start_pfn = 0xc000, low = 0x10000 [ 0.000000] Zone PFN ranges: [ 0.000000] Normal 49152 -> 65536 [ 0.000000] Movable zone start PFN for each node [ 0.000000] early_node_map[1] active PFN ranges [ 0.000000] 0: 49152 -> 65536 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 [ 0.000000] Kernel command line: memdM sh_mvíOSK7760 console=ttySC2,115200 rw sh_pclk3335000 root=/dev/ram [ 0.000000] SPES qui dovrei vedere : [ 0.000000] <5>Kernel command line: memdM sh_mvíOSK7760 console=ttySC2,115200 rw sh_pclk3335000 root=/dev/ram [ 0.000000] SPES init_edosk7760 [ 0.000000] SPES init_edosk7760 -> setup scif2 irq [ 0.000000] SPES init_edosk7760 -> setup usbhi irq [ 0.000000] SPES init_edosk7760 -> setup dmabrg irq [ 0.000000] SPES init_edosk7760 uscita [ 0.000000] PID hash table entries: 256 (order: 8, 1024 bytes) [ 0.000000] Using tmu for system timer [ 0.000169] Using 8.333 MHz high precision timer. [ 0.000264] sh-sci.c SPES sci_init_ports [ 0.000361] sh-sci.c SPES sci_init_ports fatto [ 0.000448] SPES serial_console_setup [ 0.000528] SPES co->index[2] [ 0.000610] clk[33333333] [ 0.000683] sci_set_termios [ 0.000757] baud[115200] [ 0.001050] sci_init_pins_scif [ 0.001115] sci_init_pins_scif fatta [ 0.001183] sci_set_termios fatto [ 0.001253] SPES serial_console_setup fatto [ 0.001333] console [ttySC2] enabled [ 0.217723] SPES fatto sci_console_init [ 0.222729] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.230026] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.249500] Memory: 62488k/65536k available (1798k kernel code, 429k data, 96k init) [ 0.251762] PVR050187 CVR 480000 PRR 000510 [ 0.256474] I-cache : n_ways=2 n_sets%6 way_incr�92 [ 0.261668] I-cache : entry_mask=0x00001fe0 alias_mask=0x00001000 n_aliases=2 [ 0.268740] D-cache : n_ways=2 n_setsQ2 way_incr384 [ 0.274019] D-cache : entry_mask=0x00003fe0 alias_mask=0x00003000 n_aliases=4 [ 0.357706] Mount-cache hash table entries: 512 [ 0.361612] CPU: SH7760 [ 0.362454] SPES kernel_init [ 0.363613] SPES do_basic_setup [ 0.365079] SPES do_basic_setup [ 0.376105] SPES do_initcalls [ 0.376219] net_namespace: 192 bytes [ 0.378234] NET: Registered protocol family 16 [ 0.411468] SCSI subsystem initialized [ 0.442625] NET: Registered protocol family 2 [ 0.480155] IP route cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.483081] TCP established hash table entries: 2048 (order: 2, 16384 bytes) [ 0.489148] TCP bind hash table entries: 2048 (order: 1, 8192 bytes) [ 0.495093] TCP: Hash tables configured (established 2048 bind 2048) [ 0.501093] TCP reno registered [ 0.515851] NET: Registered protocol family 1 [ 0.520104] SPES init_edosk7760_flash [ 0.520289] SPES init_edosk7760_flash fatto DUMMY SPES do_initcalls: initcall[71] saltata! [ 0.533517] msgmni has been set to 122 [ 0.534547] io scheduler noop registered (default) [ 1.488165] SuperH SCI(F) driver initialized [ 1.488289] SPES sci_init [ 1.489850] SPES sci_probe [ 1.492174] SPES sci_config_port [ 1.495485] sh-sci: ttySC0 at MMIO 0xfe600000 (irq = 55) is a scif [ 1.503487] SPES sci_config_port [ 1.504732] sh-sci: ttySC1 at MMIO 0xfe610000 (irq = 75) is a scif [ 1.512908] SPES sci_config_port [ 1.514230] sh-sci: ttySC2 at MMIO 0xfe620000 (irq = 79) is a scif [ 1.522221] sh-sci sh-sci: Attempting to register port 4 when only 3 are available. [ 1.527876] sh-sci sh-sci: Consider bumping CONFIG_SERIAL_SH_SCI_NR_UARTS! [ 1.534694] Fatta sci_probe [ 1.538750] SPES sci_init: platform_driver_register [ 1.542465] SPES fatta sci_init [ 1.598983] brd: module loaded [ 1.600714] Driver 'sd' needs updating - please use bus_type methods [ 1.604015] Driver 'sr' needs updating - please use bus_type methods [ 1.615472] physmap platform flash device: 01000000 at a0000000 [ 1.615872] physmap-flash.0: Found 1 x32 devices at 0x0 in 16-bit bank [ 1.625041] Support for command set 0001 not present [ 1.627182] gen_probe: No supported Vendor Command Set found [ 1.635383] physmap-flash physmap-flash.0: map_probe failed [ 1.639171] TCP cubic registered [ 1.641635] NET: Registered protocol family 17 SPES do_initcalls: initcalls count[111] ! SPES flush_scheduled_work [ 1.652049] SPES do_basic_setupFINE [ 1.655421] SPES sys_access [ 1.658326] SPES prepare_namespace [ 1.664478] List of all partitions: [ 1.665032] No filesystem could mount root, tried: ext2 [ 1.670330] Kernel panic - not syncing: VFS: Unable to mount root fs
on unknown-block(1,0)
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Luca
Quoted 7 lines · Luca Santini
I'm trying to port kernel 2.6.26 to edosk7760 board.
my kernel hangs up during initcalls;
with a little debugging i found that with a minimal config (only ext2 fs for example)
skipping the 71th initcalls my kernel continues to boot until
Quoted 6 lines
[ 1.665032] No filesystem could mount root, tried: ext2 [ 1.670330] Kernel panic - not syncing: VFS: Unable to mount root fson unknown-block(1,0)
where can i found the initcalls vector list ?
The initcalls table is built by the linker by concatenating all the .initcall<level>.init sections. These are created by the <level>_initcall macros.
The easiest way to debug this sort of problem is to run with the initcall_debug kernel command line option, which will print the name of each function before calling it.
Stuart
thanks,
i solved the problem; but now my kernel hangs calling
sys_open((const char __user *) "/dev/ttyS2", O_RDWR, 0) ;
in init_post() function (init/mian.c)
any idea? this is complete kernel log:
[ 0.000000] SPES start_kernel [ 0.000000] Linux version 2.6.26-rc8-00210-g35534ad-dirty (s@s-laptop) (gcc version 3.4.5 20060103 (3.4.5-10.1a)) #221 8 [ 0.000000] SPES qui dovrei vedere : [ 0.000000] Linux version 2.6.26-rc8-00210-g35534ad-dirty (s@s-laptop) (gcc version 3.4.5 20060103 (3.4.5-10.1a)) #28 [ 0.000000] [ 0.000000] Boot params: [ 0.000000] ... MOUNT_ROOT_RDONLY - 00000001 [ 0.000000] ... RAMDISK_FLAGS - 00000000 [ 0.000000] ... ORIG_ROOT_DEV - 00000200 [ 0.000000] ... LOADER_TYPE - 00000001 [ 0.000000] ... INITRD_START - 00360000 [ 0.000000] ... INITRD_SIZE - 0021de5b [ 0.000000] Booting machvec: EDOSK7760 [ 0.000000] SPES machvec.c Booting machvec: EDOSK7760 [ 0.000000] SPES non dichiarato 25 ;sostituito con generic [ 0.000000] SPES non dichiarato 26 ;sostituito con generic [ 0.000000] SPES non dichiarato 27 ;sostituito con generic [ 0.000000] Node 0: start_pfn = 0xc000, low = 0x10000 [ 0.000000] Zone PFN ranges: [ 0.000000] Normal 49152 -> 65536 [ 0.000000] Movable zone start PFN for each node [ 0.000000] early_node_map[1] active PFN ranges [ 0.000000] 0: 49152 -> 65536 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 [ 0.000000] Kernel command line: memdM sh_mvíOSK7760 console=ttySC2,115200 rw sh_pclk3335000 root=/dev/ram [ 0.000000] SPES qui dovrei vedere : [ 0.000000] <5>Kernel command line: memdM sh_mvíOSK7760 console=ttySC2,115200 rw sh_pclk3335000 root=/dev/ram [ 0.000000] SPES init_edosk7760 [ 0.000000] SPES init_edosk7760 -> setup scif2 irq [ 0.000000] SPES init_edosk7760 -> setup usbhi irq [ 0.000000] SPES init_edosk7760 -> setup dmabrg irq [ 0.000000] SPES init_edosk7760 uscita [ 0.000000] PID hash table entries: 256 (order: 8, 1024 bytes) [ 0.000000] Using tmu for system timer [ 0.000171] Using 8.333 MHz high precision timer. [ 0.001096] Console: colour dummy device 80x25 [ 0.001191] sh-sci.c SPES sci_init_ports [ 0.001291] sh-sci.c SPES sci_init_ports fatto [ 0.001375] SPES serial_console_setup [ 0.001454] SPES co->index[2] [ 0.001534] clk[33333333] [ 0.001606] sci_set_termios [ 0.001682] baud[115200] [ 0.001974] sci_init_pins_scif [ 0.002040] sci_init_pins_scif fatta [ 0.002107] sci_set_termios fatto [ 0.002178] SPES serial_console_setup fatto [ 0.002258] console [ttySC2] enabled [ 0.223054] SPES fatto sci_console_init [ 0.227993] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.235353] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.254382] Memory: 60288k/65536k available (1814k kernel code, 433k data, 108k init) [ 0.256619] PVR050187 CVR 480000 PRR 000510 [ 0.261457] I-cache : n_ways=2 n_sets%6 way_incr�92 [ 0.266631] I-cache : entry_mask=0x00001fe0 alias_mask=0x00001000 n_aliases=2 [ 0.273705] D-cache : n_ways=2 n_setsQ2 way_incr384 [ 0.278984] D-cache : entry_mask=0x00003fe0 alias_mask=0x00003000 n_aliases=4 [ 0.361693] Mount-cache hash table entries: 512 [ 0.365603] CPU: SH7760 [ 0.366456] SPES kernel_init [ 0.367600] SPES do_basic_setup [ 0.369073] SPES do_basic_setup [ 0.380169] SPES do_initcalls [ 0.380281] net_namespace: 192 bytes [ 0.382300] NET: Registered protocol family 16 [ 0.418223] SCSI subsystem initialized [ 0.446563] NET: Registered protocol family 2 [ 0.484104] IP route cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.487034] TCP established hash table entries: 2048 (order: 2, 16384 bytes) [ 0.493094] TCP bind hash table entries: 2048 (order: 1, 8192 bytes) [ 0.499041] TCP: Hash tables configured (established 2048 bind 2048) [ 0.505043] TCP reno registered [ 0.519774] NET: Registered protocol family 1 [ 0.522395] checking if image is initramfs...it isn't (no cpio magic); looks like an initrd [ 2.343449] Freeing initrd memory: 2167k freed [ 2.347444] SPES init_edosk7760_flash [ 2.347627] SPES init_edosk7760_flash fatto DUMMY [ 2.361480] msgmni has been set to 122 [ 2.361679] io scheduler noop registered [ 2.363492] io scheduler anticipatory registered (default) [ 2.369100] io scheduler deadline registered [ 2.373438] io scheduler cfq registered [ 2.480931] SuperH SCI(F) driver initialized [ 2.481057] SPES sci_init [ 2.482407] SPES sci_probe [ 2.485146] SPES sci_config_port [ 2.488245] sh-sci: ttySC0 at MMIO 0xfe600000 (irq = 55) is a scif [ 2.496003] SPES sci_config_port [ 2.497499] sh-sci: ttySC1 at MMIO 0xfe610000 (irq = 75) is a scif [ 2.505208] SPES sci_config_port [ 2.506830] sh-sci: ttySC2 at MMIO 0xfe620000 (irq = 79) is a scif [ 2.514511] sh-sci sh-sci: Attempting to register port 4 when only 3 are available. [ 2.520679] sh-sci sh-sci: Consider bumping CONFIG_SERIAL_SH_SCI_NR_UARTS! [ 2.527423] Fatta sci_probe [ 2.531561] SPES sci_init: platform_driver_register [ 2.535130] SPES fatta sci_init [ 2.590428] brd: module loaded [ 2.592045] Driver 'sd' needs updating - please use bus_type methods [ 2.595622] Driver 'sr' needs updating - please use bus_type methods [ 2.607078] physmap platform flash device: 01000000 at a0000000 [ 2.607478] physmap-flash.0: Found 1 x32 devices at 0x0 in 16-bit bank [ 2.616555] Support for command set 0001 not present [ 2.618906] gen_probe: No supported Vendor Command Set found [ 2.627107] physmap-flash physmap-flash.0: map_probe failed [ 2.630803] TCP cubic registered [ 2.633135] NET: Registered protocol family 17 [ 2.642923] SPES do_initcalls: initcalls count[114] ! [ 2.643059] SPES do_basic_setupFINE [ 2.645987] SPES sys_access [ 2.648969] SPES prepare_namespace [ 2.652673] RAMDISK: Compressed image found at block 0 [ 5.709934] EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended [ 5.712064] VFS: Mounted root (ext2 filesystem). [ 5.717189] SPES init_post [ 5.719317] Freeing unused kernel memory: 108k freed [ 5.724083] SPES opening console
Quoted 21 lines · Stuart MENEFY
Luca
Quoted 7 lines · Luca Santini
I'm trying to port kernel 2.6.26 to edosk7760 board.
my kernel hangs up during initcalls;
with a little debugging i found that with a minimal config (only ext2 fs for example)
skipping the 71th initcalls my kernel continues to boot untilQuoted 6 lines
[ 1.665032] No filesystem could mount root, tried: ext2 [ 1.670330] Kernel panic - not syncing: VFS: Unable to mount rootfs on unknown-block(1,0)
where can i found the initcalls vector list ?
The initcalls table is built by the linker by concatenating all the .initcall<level>.init sections. These are created by the <level>_initcall macros.
Quoted 12 lines
The easiest way to debug this sort of problem is to run with the
initcall_debugkernel command line option, which will print the name of each function before calling it.Stuart
Signature · 3 lines
To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html