On Thu, 2003-03-06 at 02:35, Bogdan Marinca wrote:
> Salut.
> Am fost curios sa vad cum se face procedura de initializare a kernelului
> dupa ce e incarcat de loader. (ma rog, pentru i386)
> M'am uitat prin /usr/src/linux/arch/i386/boot/setup.S, e chiar haios ce e 
> pe acolo :) dar la un moment dat mi s'a "rupt filmul" ... Mai precis la
> [...]
> (si e chiar interesant ca vad ca si Linus face wrap la 75 coloane :) )
> 
> E clar ca ".byte 0x66, 0xea" e un "jmp far" pe 32 biti si e necesar ca sa 
> incarce si registrul %cs. Dar de fapt unde sare kernelul aici? Sa inteleg
> ca intr'un modul compilat dintr'o sursa de C ? Dar care? 
> Din /usr/src/linux/init/main.c de ex. ? 
> 
> Stie cineva? :)

Sare la arch/386/boot/compressed/head.S:startup_32 care initializeaza
stiva si decomprima kernelul. apoi sare la adresa 0x100000
(arch/i386/kernel/head.S:startup_32), mai initializeaza cate ceva si
abia pe urma ajunge (in sfarsit) la init/main.c:start_kernel(). Mai
departe e usor de urmarit.

Pt informatii mai stufoase, vezi "Linux Kernel Internals" -
http://www.moses.uklinux.net/patches/lki.html.

-- 
Florin Malita      web:        http://www.malinux.net
                   public key: http://www.malinux.net/data/fmalita.gpg

-- Attached file included as plaintext by Listar --
-- File: signature.asc
-- Desc: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQA+aEr09npXhj/Ohf8RApyLAJ92Rvwx/ELIorIbnmQXWgQ0/W+fQQCgj0xA
mzLQIR16ZZbE8s32f6wvCYk=
=ewKx
-----END PGP SIGNATURE-----


--
Pentru dezabonare, trimiteti mail la 
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/


Raspunde prin e-mail lui