All of lore.kernel.org
 help / color / mirror / Atom feed
From: rjy <rjy@angelltech.com>
To: Jan Engelhardt <jengelh@linux01.gwdg.de>, linux-kernel@vger.kernel.org
Subject: Re: init process freezed after run_init_process
Date: Tue, 19 Apr 2005 17:14:28 +0800	[thread overview]
Message-ID: <4264CBF4.7000706@angelltech.com> (raw)
In-Reply-To: <Pine.LNX.4.61.0504081944120.19971@yvahk01.tjqt.qr>

Jan Engelhardt wrote:
>>>Make your own initrd and put a bash into it. Then start that, e.g. (for
>>>our linux live cd), initrd=initrd.sqfs root=/dev/ram0 init=/bin/bash
>>
>>I have tried these kernel parameters:
>>init=/bin/bash
>>init=/linuxrc
>>init=/init
>>init=/sbin/init
>>None works.
> 
> 
> What's the error message?

No error message at all. System seems freezed after spit out this message:
	Freeing unused kernel memory: 136k freed
The console echos the keyboard inputs.

It seems that the init started successfully: I attached the output
of "info threads" and "backtrace" after the system freezing.

I am digging the source these days and try to find out if the init
process has really been started. I found some difference between
the normal init process and the freezed init process:
----------------------------------------------------------------
		| Normal init		| Freezed init
----------------------------------------------------------------
mm->total_vm	| 0x145			| 0x1e
mm->map_count	| 9			| 5
----------------------------------------------------------------

Maybe, init is not loaded completely? Or just loaded an invalid one?
I am trying to dump the text segment at user space 0x08040000 of the
init process. But I have not found the way to find the related kernel 
space address. Any clue? Thanks! :)

> 
> 
>>Also, after some google, I found that the format of initrd has changed.
>>I also tried a new initrd with cpio format. The kernel recognized it:
> 
> 
> cpio initrd's (aka initramfs) are new - the "old style" initrd where you
> `mksquasfs mydir initrd.sqfs` (see above) continues to work, though.
> 
> 
>>After the kernel start, I add breakpoints at cpu_idle and do_schedule.
>>cpu_idle never reached, only do_schedule did. Is that strange?
> 
> 
> Until pid 1 is started, the cpu should never be idle.
> 
> 
> Jan Engelhardt

It seems that the init process is started:
(gdb) info threads
   11 Thread 123 (kseriod)  0xc032d485 in do_schedule () at 
/kernel/via/kgdb/kernel/sched.c:923
   10 Thread 9 (aio/0)  0xc032d485 in do_schedule () at 
/kernel/via/kgdb/kernel/sched.c:923
   9 Thread 8 (kswapd0)  0xc032d485 in do_schedule () at 
/kernel/via/kgdb/kernel/sched.c:923
   8 Thread 7 (pdflush)  0xc032d485 in do_schedule () at 
/kernel/via/kgdb/kernel/sched.c:923
   7 Thread 6 (pdflush)  0xc032d485 in do_schedule () at 
/kernel/via/kgdb/kernel/sched.c:923
   6 Thread 5 (khelper)  0xc032d485 in do_schedule () at 
/kernel/via/kgdb/kernel/sched.c:923
   5 Thread 4 (kblockd/0)  0xc032d485 in do_schedule () at 
/kernel/via/kgdb/kernel/sched.c:923
   4 Thread 3 (events/0)  0xc032d485 in do_schedule () at 
/kernel/via/kgdb/kernel/sched.c:923
   3 Thread 2 (ksoftirqd/0)  0xc032d485 in do_schedule () at 
/kernel/via/kgdb/kernel/sched.c:923
* 2 Thread 1 (init)  breakpoint () at /kernel/via/kgdb/kernel/kgdb.c:1212
   1 Thread 32768 (Shadow task 0 for pid 0)  0xc032d485 in do_schedule 
() at /kernel/via/kgdb/kernel/sched.c:923

(gdb) bt
#0  breakpoint () at /kernel/via/kgdb/kernel/kgdb.c:1212
#1  0xc774fec4 in ?? ()
#2  0xc010893b in do_IRQ (regs=
       {ebx = -948641792, ecx = -948577792, edx = -944260388, esi = 0, 
edi = -948641792, ebp = -948633844, eax = -944260388, xds = 123, xes = 
123, orig_eax = -252, eip = -1072517263, xcs = 96, eflags = 646, esp = 
-948633660, xss = -948576428})
     at /kernel/via/kgdb/arch/i386/kernel/irq.c:574
#3  0xc0106888 in common_interrupt ()
#4  0xc01063f6 in do_signal (regs=0xc774e000, oldset=0x0) at 
/kernel/via/kgdb/arch/i386/kernel/signal.c:581
#5  0xc01064d9 in do_notify_resume (regs=0xc774ffc4, oldset=0x0, 
thread_info_flags=1)
     at /kernel/via/kgdb/arch/i386/kernel/signal.c:629

      reply	other threads:[~2005-04-19  9:11 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-31  4:20 init process freezed after run_init_process rjy
     [not found] ` <Pine.LNX.4.61.0503311113550.17113@yvahk01.tjqt.qr>
2005-04-07  3:39   ` rjy
2005-04-07 11:46     ` Jan Engelhardt
2005-04-08  2:40       ` rjy
2005-04-08 17:45         ` Jan Engelhardt
2005-04-19  9:14           ` rjy [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4264CBF4.7000706@angelltech.com \
    --to=rjy@angelltech.com \
    --cc=jengelh@linux01.gwdg.de \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.