* smdk6400/S3C6400 failure on execution of init process
@ 2009-10-28 15:20 Markus Schwarzenberg
2009-10-28 15:30 ` Ben Dooks
2009-10-28 15:39 ` Rabin Vincent
0 siblings, 2 replies; 7+ messages in thread
From: Markus Schwarzenberg @ 2009-10-28 15:20 UTC (permalink / raw)
To: linux-arm-kernel
booting linux-2.6.32-rc5 on our smdk6400 (S3C6400) fails somewhere in/after
the asm call in arch/arm/kernel/sys_arm.c:kernel_execve, when the init
process is to be run.
The preceding do_execve returned OK, which suggests that the /init file is
found, executable etc. in rootfs.
The failure happens for both booting from sd-card as well as from initramfs.
I've tried several /init applications, from busybox to a simple wait(1); loop
all with the same behavior.
What's the best way to debug this?
Messages (first two lines from additional diagnostics in
do_execve [**] / kernel_execve [*] ):
do_execve (/endless-loop-nonstatic-arm) succeeded
kernel_execve calling asm
mmc0: starting CMD18 arg 30868800 flags 000000b5
mmc0: blksz 512 blocks 72 flags 00000200 tsac 100 ms nsac 0
mmc0: CMD12 arg 00000000 flags 0000049d
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000
mmc0: 36864 bytes transferred: 0
mmc0: (CMD12): 0: 00000b00 00000000 00000000 00000000
Kernel panic - not syncing: Attempted to kill init!
Backtrace:
[<c002a9f0>] (dump_backtrace+0x0/0x114) from [<c0275358>]
(dump_stack+0x18/0x1c)
r7:c781ff64 r6:c781d900 r5:c781d900 r4:c034201c
[<c0275340>] (dump_stack+0x0/0x1c) from [<c02753a8>] (panic+0x4c/0x11c)
[<c027535c>] (panic+0x0/0x11c) from [<c0048990>] (do_exit+0x74/0x5b4)
r3:c032a428 r2:c781d900 r1:c781fc28 r0:c02df366
[<c004891c>] (do_exit+0x0/0x5b4) from [<c0048f54>]
(do_group_exit+0x84/0xb8)
[<c0048ed0>] (do_group_exit+0x0/0xb8) from [<c0052cc8>]
(get_signal_to_deliver+0x2b8/0x2e8)
r4:00000004
[<c0052a10>] (get_signal_to_deliver+0x0/0x2e8) from [<c00291c0>]
(do_notify_resume+0x64/0x5b8)
[<c002915c>] (do_notify_resume+0x0/0x5b8) from [<c0026f2c>]
(work_pending+0x1c/0x20)
Regards,
Markus Schwarzenberg
[*] additional messages generated in kernel_execve
--- linux-2.6.32-rc5.orig/arch/arm/kernel/sys_arm.c 2009-10-16 02:41:50.000000000 +0200
+++ linux-2.6.32-rc5/arch/arm/kernel/sys_arm.c 2009-10-28 16:11:25.000000000 +0100
@@ -265,6 +265,7 @@
struct pt_regs regs;
int ret;
+ printk("kernel_execve %s\n", filename);
memset(®s, 0, sizeof(struct pt_regs));
ret = do_execve((char *)filename, (char __user * __user *)argv,
(char __user * __user *)envp, ®s);
@@ -275,6 +276,7 @@
* Save argc to the register structure for userspace.
*/
regs.ARM_r0 = ret;
+ printk("kernel_execve calling asm\n");
/*
* We were successful. We won't be returning to our caller, but
@@ -296,6 +298,7 @@
: "r0", "r1", "r2", "r3", "ip", "lr", "memory");
out:
+ printk("kernel_execve return\n");
return ret;
}
EXPORT_SYMBOL(kernel_execve);
[**] additional messages generated in do_execve
--- linux-2.6.32-rc5.orig/fs/exec.c 2009-10-16 02:41:50.000000000 +0200
+++ linux-2.6.32-rc5/fs/exec.c 2009-10-28 10:20:46.000000000 +0100
@@ -1362,6 +1362,7 @@
current->stack_start = current->mm->start_stack;
/* execve succeeded */
+ printk("do_execve (%s) succeeded\n", filename);
current->fs->in_exec = 0;
current->in_execve = 0;
acct_update_integrals(current);
@@ -1392,6 +1393,7 @@
if (displaced)
reset_files_struct(displaced);
out_ret:
+ printk("do_execve (%s) had errors\n", filename);
return retval;
}
^ permalink raw reply [flat|nested] 7+ messages in thread
* smdk6400/S3C6400 failure on execution of init process
2009-10-28 15:20 smdk6400/S3C6400 failure on execution of init process Markus Schwarzenberg
@ 2009-10-28 15:30 ` Ben Dooks
2009-10-28 15:49 ` Markus Schwarzenberg
2009-10-28 15:39 ` Rabin Vincent
1 sibling, 1 reply; 7+ messages in thread
From: Ben Dooks @ 2009-10-28 15:30 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Oct 28, 2009 at 04:20:37PM +0100, Markus Schwarzenberg wrote:
>
> booting linux-2.6.32-rc5 on our smdk6400 (S3C6400) fails somewhere in/after
> the asm call in arch/arm/kernel/sys_arm.c:kernel_execve, when the init
> process is to be run.
Which is the last kernel version that ran this ok?
> The preceding do_execve returned OK, which suggests that the /init file is
> found, executable etc. in rootfs.
>
> The failure happens for both booting from sd-card as well as from initramfs.
> I've tried several /init applications, from busybox to a simple wait(1); loop
> all with the same behavior.
>
> What's the best way to debug this?
>
> Messages (first two lines from additional diagnostics in
> do_execve [**] / kernel_execve [*] ):
Does the kernel have vfp support compiled in?
> do_execve (/endless-loop-nonstatic-arm) succeeded
> kernel_execve calling asm
> mmc0: starting CMD18 arg 30868800 flags 000000b5
> mmc0: blksz 512 blocks 72 flags 00000200 tsac 100 ms nsac 0
> mmc0: CMD12 arg 00000000 flags 0000049d
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000
> mmc0: 36864 bytes transferred: 0
> mmc0: (CMD12): 0: 00000b00 00000000 00000000 00000000
The SD card read seems to have gone ok.
> Kernel panic - not syncing: Attempted to kill init!
> Backtrace:
> [<c002a9f0>] (dump_backtrace+0x0/0x114) from [<c0275358>]
> (dump_stack+0x18/0x1c)
> r7:c781ff64 r6:c781d900 r5:c781d900 r4:c034201c
> [<c0275340>] (dump_stack+0x0/0x1c) from [<c02753a8>] (panic+0x4c/0x11c)
> [<c027535c>] (panic+0x0/0x11c) from [<c0048990>] (do_exit+0x74/0x5b4)
> r3:c032a428 r2:c781d900 r1:c781fc28 r0:c02df366
> [<c004891c>] (do_exit+0x0/0x5b4) from [<c0048f54>]
> (do_group_exit+0x84/0xb8)
> [<c0048ed0>] (do_group_exit+0x0/0xb8) from [<c0052cc8>]
> (get_signal_to_deliver+0x2b8/0x2e8)
> r4:00000004
> [<c0052a10>] (get_signal_to_deliver+0x0/0x2e8) from [<c00291c0>]
> (do_notify_resume+0x64/0x5b8)
> [<c002915c>] (do_notify_resume+0x0/0x5b8) from [<c0026f2c>]
> (work_pending+0x1c/0x20)
>
>
> Regards,
>
> Markus Schwarzenberg
>
> [*] additional messages generated in kernel_execve
>
> --- linux-2.6.32-rc5.orig/arch/arm/kernel/sys_arm.c 2009-10-16 02:41:50.000000000 +0200
> +++ linux-2.6.32-rc5/arch/arm/kernel/sys_arm.c 2009-10-28 16:11:25.000000000 +0100
> @@ -265,6 +265,7 @@
> struct pt_regs regs;
> int ret;
>
> + printk("kernel_execve %s\n", filename);
> memset(®s, 0, sizeof(struct pt_regs));
> ret = do_execve((char *)filename, (char __user * __user *)argv,
> (char __user * __user *)envp, ®s);
> @@ -275,6 +276,7 @@
> * Save argc to the register structure for userspace.
> */
> regs.ARM_r0 = ret;
> + printk("kernel_execve calling asm\n");
>
> /*
> * We were successful. We won't be returning to our caller, but
> @@ -296,6 +298,7 @@
> : "r0", "r1", "r2", "r3", "ip", "lr", "memory");
>
> out:
> + printk("kernel_execve return\n");
> return ret;
> }
> EXPORT_SYMBOL(kernel_execve);
>
> [**] additional messages generated in do_execve
>
> --- linux-2.6.32-rc5.orig/fs/exec.c 2009-10-16 02:41:50.000000000 +0200
> +++ linux-2.6.32-rc5/fs/exec.c 2009-10-28 10:20:46.000000000 +0100
> @@ -1362,6 +1362,7 @@
> current->stack_start = current->mm->start_stack;
>
> /* execve succeeded */
> + printk("do_execve (%s) succeeded\n", filename);
> current->fs->in_exec = 0;
> current->in_execve = 0;
> acct_update_integrals(current);
> @@ -1392,6 +1393,7 @@
> if (displaced)
> reset_files_struct(displaced);
> out_ret:
> + printk("do_execve (%s) had errors\n", filename);
> return retval;
> }
>
>
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
--
Ben
Q: What's a light-year?
A: One-third less calories than a regular year.
^ permalink raw reply [flat|nested] 7+ messages in thread
* smdk6400/S3C6400 failure on execution of init process
2009-10-28 15:20 smdk6400/S3C6400 failure on execution of init process Markus Schwarzenberg
2009-10-28 15:30 ` Ben Dooks
@ 2009-10-28 15:39 ` Rabin Vincent
2009-10-28 15:59 ` Markus Schwarzenberg
1 sibling, 1 reply; 7+ messages in thread
From: Rabin Vincent @ 2009-10-28 15:39 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Oct 28, 2009 at 04:20:37PM +0100, Markus Schwarzenberg wrote:
>
> booting linux-2.6.32-rc5 on our smdk6400 (S3C6400) fails somewhere in/after
> the asm call in arch/arm/kernel/sys_arm.c:kernel_execve, when the init
> process is to be run.
>
> The preceding do_execve returned OK, which suggests that the /init file is
> found, executable etc. in rootfs.
>
> The failure happens for both booting from sd-card as well as from initramfs.
> I've tried several /init applications, from busybox to a simple wait(1); loop
> all with the same behavior.
>
> What's the best way to debug this?
As a first step, enable CONFIG_DEBUG_USER in your kernel and pass
"user_debug=31" on the kernel command line. You'll get more info about
why init's being killed.
Rabin
^ permalink raw reply [flat|nested] 7+ messages in thread
* smdk6400/S3C6400 failure on execution of init process
2009-10-28 15:30 ` Ben Dooks
@ 2009-10-28 15:49 ` Markus Schwarzenberg
0 siblings, 0 replies; 7+ messages in thread
From: Markus Schwarzenberg @ 2009-10-28 15:49 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, 28 Oct 2009 15:30:17 +0000 Ben Dooks <ben-linux@fluff.org> wrote:
> On Wed, Oct 28, 2009 at 04:20:37PM +0100, Markus Schwarzenberg wrote:
> >
> > booting linux-2.6.32-rc5 on our smdk6400 (S3C6400) fails somewhere in/after
> > the asm call in arch/arm/kernel/sys_arm.c:kernel_execve, when the init
> > process is to be run.
>
> Which is the last kernel version that ran this ok?
None. 2.6.32-rc5 is basically the first we try. (after no success with
2.6.31-rc6)
> Does the kernel have vfp support compiled in?
No.
--
Markus Schwarzenberg
^ permalink raw reply [flat|nested] 7+ messages in thread
* smdk6400/S3C6400 failure on execution of init process
2009-10-28 15:39 ` Rabin Vincent
@ 2009-10-28 15:59 ` Markus Schwarzenberg
2009-10-28 16:10 ` Rabin Vincent
0 siblings, 1 reply; 7+ messages in thread
From: Markus Schwarzenberg @ 2009-10-28 15:59 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, 28 Oct 2009 21:09:16 +0530 Rabin Vincent <rabin@rab.in> wrote:
> On Wed, Oct 28, 2009 at 04:20:37PM +0100, Markus Schwarzenberg wrote:
> >
> > booting linux-2.6.32-rc5 on our smdk6400 (S3C6400) fails somewhere in/after
> > the asm call in arch/arm/kernel/sys_arm.c:kernel_execve, when the init
> > process is to be run.
> >
> > The preceding do_execve returned OK, which suggests that the /init file is
> > found, executable etc. in rootfs.
> >
> > The failure happens for both booting from sd-card as well as from initramfs.
> > I've tried several /init applications, from busybox to a simple wait(1); loop
> > all with the same behavior.
> >
> > What's the best way to debug this?
>
> As a first step, enable CONFIG_DEBUG_USER in your kernel and pass
> "user_debug=31" on the kernel command line. You'll get more info about
> why init's being killed.
thanks, did this, the additional messages are (context see [*]):
[1] endless-loop-no: obsolete system call 00000000.
Code: e08f1001 e1a0c000 e3a0702d ef000000 (e3700a01)
Still have to investigate how to interpret this...
--
Markus Schwarzenberg
[*]
mmc0: (CMD12): 0: 00000b00 00000000 00000000 00000000
do_execve (/endless-loop-nonstatic-arm) succeeded
kernel_execve calling asm
mmc0: starting CMD18 arg 30868800 flags 000000b5
mmc0: blksz 512 blocks 72 flags 00000200 tsac 100 ms nsac 0
mmc0: CMD12 arg 00000000 flags 0000049d
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000
mmc0: 36864 bytes transferred: 0
mmc0: (CMD12): 0: 00000b00 00000000 00000000 00000000
[1] endless-loop-no: obsolete system call 00000000.
Code: e08f1001 e1a0c000 e3a0702d ef000000 (e3700a01)
Kernel panic - not syncing: Attempted to kill init!
Backtrace:
[<c002a9f0>] (dump_backtrace+0x0/0x114) from [<c0275358>] (dump_stack+0x18/0x1c)
r7:c781ff64 r6:c781d900 r5:c781d900 r4:c034201c
[<c0275340>] (dump_stack+0x0/0x1c) from [<c02753a8>] (panic+0x4c/0x11c)
[<c027535c>] (panic+0x0/0x11c) from [<c0048990>] (do_exit+0x74/0x5b4)
r3:c032a428 r2:c781d900 r1:c781fc28 r0:c02df366
[<c004891c>] (do_exit+0x0/0x5b4) from [<c0048f54>] (do_group_exit+0x84/0xb8)
[<c0048ed0>] (do_group_exit+0x0/0xb8) from [<c0052cc8>] (get_signal_to_deliver+0x2b8/0x2e8)
r4:00000004
[<c0052a10>] (get_signal_to_deliver+0x0/0x2e8) from [<c00291c0>] (do_notify_resume+0x64/0x5b8)
[<c002915c>] (do_notify_resume+0x0/0x5b8) from [<c0026f2c>] (work_pending+0x1c/0x20)
^ permalink raw reply [flat|nested] 7+ messages in thread
* smdk6400/S3C6400 failure on execution of init process
2009-10-28 15:59 ` Markus Schwarzenberg
@ 2009-10-28 16:10 ` Rabin Vincent
2009-10-28 16:26 ` Markus Schwarzenberg
0 siblings, 1 reply; 7+ messages in thread
From: Rabin Vincent @ 2009-10-28 16:10 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Oct 28, 2009 at 04:59:49PM +0100, Markus Schwarzenberg wrote:
> On Wed, 28 Oct 2009 21:09:16 +0530 Rabin Vincent <rabin@rab.in> wrote:
>
> > On Wed, Oct 28, 2009 at 04:20:37PM +0100, Markus Schwarzenberg wrote:
> > >
> > > booting linux-2.6.32-rc5 on our smdk6400 (S3C6400) fails somewhere in/after
> > > the asm call in arch/arm/kernel/sys_arm.c:kernel_execve, when the init
> > > process is to be run.
> >
> > As a first step, enable CONFIG_DEBUG_USER in your kernel and pass
> > "user_debug=31" on the kernel command line. You'll get more info about
> > why init's being killed.
>
> thanks, did this, the additional messages are (context see [*]):
>
> [1] endless-loop-no: obsolete system call 00000000.
> Code: e08f1001 e1a0c000 e3a0702d ef000000 (e3700a01)
EABI-OABI mismatch. Your userspace is EABI, but your kernel isn't.
Enable "Use the ARM EABI to compile the kernel" in "Kernel Features".
Also, re: your reply to Ben, you have to select one of the floating
point options, otherwise you'll have other such issues.
Rabin.
^ permalink raw reply [flat|nested] 7+ messages in thread
* smdk6400/S3C6400 failure on execution of init process
2009-10-28 16:10 ` Rabin Vincent
@ 2009-10-28 16:26 ` Markus Schwarzenberg
0 siblings, 0 replies; 7+ messages in thread
From: Markus Schwarzenberg @ 2009-10-28 16:26 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, 28 Oct 2009 21:40:28 +0530 Rabin Vincent <rabin@rab.in> wrote:
> > thanks, did this, the additional messages are (context see [*]):
> > > > [1] endless-loop-no: obsolete system call 00000000.
> > Code: e08f1001 e1a0c000 e3a0702d ef000000 (e3700a01)
>
> EABI-OABI mismatch. Your userspace is EABI, but your kernel isn't.
> Enable "Use the ARM EABI to compile the kernel" in "Kernel Features".
thanks. this was the problem.
--
Markus
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-10-28 16:26 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-28 15:20 smdk6400/S3C6400 failure on execution of init process Markus Schwarzenberg
2009-10-28 15:30 ` Ben Dooks
2009-10-28 15:49 ` Markus Schwarzenberg
2009-10-28 15:39 ` Rabin Vincent
2009-10-28 15:59 ` Markus Schwarzenberg
2009-10-28 16:10 ` Rabin Vincent
2009-10-28 16:26 ` Markus Schwarzenberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).