Date: Sun, 10 Apr 2011 00:28:51 -0700 From: Devin Teske <dteske@vicor.com> To: Julian Elischer <julian@freebsd.org> Cc: "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>, Chris Richardson <chris.richardson.bsd@gmail.com>, "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>, "freebsd-emulation@freebsd.org" <freebsd-emulation@freebsd.org> Subject: Re: Kernel Tracking Question.. regarding kernel and boot files Message-ID: <D43F8AD2-197E-48D2-A1F5-DED05BA9D137@vicor.com> In-Reply-To: <4DA13620.7060407@freebsd.org> References: <BANLkTik8KZ0wO2gq8E%2B2pCQVD399McbJ0g@mail.gmail.com> <F81598D9-D664-4B3E-AAD9-6BA8445EE748@mac.com> <BANLkTinrWWwx7HeMQZjnmGhux27W9Rztzg@mail.gmail.com> <4DA13620.7060407@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 9, 2011, at 9:46 PM, Julian Elischer <julian@freebsd.org> wrote: > On 4/9/11 2:51 PM, Chris Richardson wrote: >> On Sat, Apr 9, 2011 at 10:34 PM, Chuck Swiger<cswiger@mac.com> wrote: >>=20 >>> Hi, Chris-- >>>=20 >>> [ ...Reply-to: set to direct towards the most appropriate list... ] >>>=20 >>> On Apr 9, 2011, at 8:31 AM, Chris Richardson wrote: >>>> I am totally new to FreeBSD. I was involved within project which will >>>> trace the kernel. I used ktrace but I could not get appropriate results >>>> about the files being opened. I don't see any of the boot files boot0-1 >>> or 2 >>>> in the ktrace.out file. Where did they go? >>> The bootstrap loader stages are what loads and runs the kernel. >>> ktrace isn't available until afterwards, when the kernel is running. >>>=20 >>>> Is ktrace the best "trace suite" for freebsd kernel? >>> Kinda depends on what you are doing. Setting up good logging and making >>> userland >>> interfaces for getting to useful information (cf vmstat, ps, iostat, et= c) >>> is >>> more likely to be useful over the longer run. >>>=20 >>>=20 >> What about if I wanna see the interaction between boot process and kernel >> loading. >=20 > either you run it under an emulator that allows you to single step it. > or you just add a lot of printf() to the boot loader. > (some parts are required to fit in small code sizes to adding prints will= cause overflow..) > best to read the docs and then the sources. then it wil become apparent t= o you > what you want to find out. You also have the option of writing Forth modules for the boot-loader. Even= dropping to the "ok" prompt is enough to give you full access to the built= -in Forth interpreter. You can query the variables that are set in the "env= ironment" (which are different depending whether you've booted via pxeboot,= cdboot, or other method). You can even do some limited device poking and f= ile-io (both read and write). The benefit of the forth modules is that you can use it to produce the nece= ssary debug output whilst avoiding the overflow issue. That is to say, that= one technique I've used is to add code to the loader to export some string= or value of interest to a variable in the environment that I would then ad= d something like 'echo "debug =3D=3D $debug"' to loader.rc. Keeps the loade= r small and the human fluff off to the interpreter. >=20 >>=20 >>>> What about going through source code .. Is it better to >>>> use Combination of Ecllipse/Qemu and FreeBSD Source tree? >>> Eclipse is an editor. If you like it in particular, free free to use i= t, >>> otherwise pick something else you'd prefer to use for C code. I use a combination of vim (as my editor) and CVSweb (URL is in the handboo= k) for historical research as necessary. Just my "tuppence." --=20 Devin >>>=20 >>>> Does this method will provide us with someway to see how booting proce= ss >>> invokes >>>> the kernel to memory ? Any help will be appreciated. >>> You're asking about the process here: >>>=20 >>>=20 >>> http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/boot-blocks.h= tml >>>=20 >>> ...? Frankly, none of these are especially big, start by reviewing the >>> source >>> code for 'em. >>>=20 >>>=20 >> Yeah. this file provides me with the stages in theoretical way. How about >> implementing it using qemu to emulate livecd to see what is going on boo= t0. >> Do you have an idea about that ? >>=20 >> Good Luck, >>=20 >>=20 >>> Regards, >>> -- >>> -Chuck >>>=20 >>>=20 >>>=20 >> _______________________________________________ >> freebsd-current@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.or= g" >>=20 >=20 > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" _____________ The information contained in this message is proprietary and/or confidentia= l. If you are not the intended recipient, please: (i) delete the message an= d all copies; (ii) do not disclose, distribute or use the message in any ma= nner; and (iii) notify the sender immediately. In addition, please be aware= that any message addressed to our domain is subject to archiving and revie= w by persons other than the intended recipient. Thank you. _____________
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D43F8AD2-197E-48D2-A1F5-DED05BA9D137>