I'd like to request you all if you can point me to a walk-through for Linux kernel boot sequence so that I can understand the way control gets transferred through various assembler and C files and functions. I'd really appreciate this help.
Since I've already found a lot of documents pertaining to this subject, but none of them seem to be suitable for a newbie like me, I'm planning to start work on the document myself and build a consolidated document myself.
Thanks in advance for all the help.
Regards, Sushant
Am not sure but would pstree help??
It should help once Init process has been created.
However tracing that back to individual C files would be tough. I think it would require kernel in debugger with a kernel that has debug enables + has symbols loaded.
Sushant,
Have you worked with KDB ?
Google turns up these :
http://www.ibm.com/developerworks/linux/library/l-kdbug/ http://docs.blackfin.uclinux.org/doku.php?id=bootloaders:u-boot:debugging
BTW quite interesting project.
-Shamit
Hi Sushant,
Sushant Gulati wrote:
I'd like to request you all if you can point me to a walk-through for Linux kernel boot sequence so that I can understand the way control gets transferred through various assembler and C files and functions. I'd really appreciate this help.
Since I've already found a lot of documents pertaining to this subject, but none of them seem to be suitable for a newbie like me,
What documents have you already looked at ?
I should say that if you consider yourself a newbie, first try and understand the entire process from a high level perspective:
http://oldfield.wattle.id.au/luv/boot.html http://tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html
Once you understand that, you can dig deeper into the actual call sequence: http://www.ibm.com/developerworks/linux/library/l-linuxboot/ http://duartes.org/gustavo/blog/post/kernel-boot-process
...after which you can jump right into the source ! :)
Note that, you have to remember this: what is meant by the "boot process" often depends on the abstraction level at which the process is being discussed (for example: in certain context, boot could mean from powerup to start_kernel(), or to the point /sbin/init is called, or to the point where all filesystems are made available and the startup scripts being executing, or all the way to the point where you see the login screen).
So, depending on what you define as boot, the process may or may not be a single sequential series of events.
I'm planning to start work on the document myself and build a consolidated document myself.
Cool ! If you do that, please make it available for everyone to learn from.
regards, - steve
Hi,
--- On Sun, Jan 18, 2009 at 7:22 PM, Sushant Gulati sushant.g1@gmail.com wrote: | I'd like to request you all if you can point me to a walk-through for | Linux kernel boot sequence so that I can understand the way control | gets transferred through various assembler and C files and functions. --
http://tetraquark.jukie.net/bart/kernelwalkthrough/002-booting/
SK