From owner-freebsd-emulation@FreeBSD.ORG Mon Apr 11 18:34:49 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 55B771065670; Mon, 11 Apr 2011 18:34:49 +0000 (UTC) (envelope-from eng.mufic@gmail.com) Received: from mail-pv0-f182.google.com (mail-pv0-f182.google.com [74.125.83.182]) by mx1.freebsd.org (Postfix) with ESMTP id 143B88FC15; Mon, 11 Apr 2011 18:34:48 +0000 (UTC) Received: by pvg11 with SMTP id 11so2800800pvg.13 for ; Mon, 11 Apr 2011 11:34:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=yj7OxTifM7Iso8t5iG69RTFyZz/hxRn/cFpLKqfGW4Y=; b=rxdosvUbXB1mt1trWP/ct/BEzvsXhWgsLNpBrsv/4myHxHxMWkWiOImot0F7MOIau7 vmqGUL9vpabGQ0np7zoupSIPA72JX3OAuXHZEUwnGp9zJpoWL3XgJum4tT6UHkUe0XuS 5nYAXeEQfdluGYtwgZDfT9E/PcFSJhIx1xKTo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=pYCVzm67ZKN10/4qjO8FqezmHQiiIZyPYh1WvJ7NHBeJND3mZ9RXSm0kuQgOhCgK6m Nc3f4rG4yg/LqWFuwAHIAMrcXVgoQsy9itFzRV6noD5rBiWkaBKhSCT9agiXxSFA++Kf mPKUpytWmsGv/jPiM7JIiPn8aZQ3sYNfGKDUQ= MIME-Version: 1.0 Received: by 10.142.150.32 with SMTP id x32mr5646118wfd.287.1302545300458; Mon, 11 Apr 2011 11:08:20 -0700 (PDT) Sender: eng.mufic@gmail.com Received: by 10.68.65.200 with HTTP; Mon, 11 Apr 2011 11:08:20 -0700 (PDT) In-Reply-To: References: <4DA13620.7060407@freebsd.org> Date: Mon, 11 Apr 2011 20:08:20 +0200 X-Google-Sender-Auth: MP6NfP0IpqboLpRddkefuhVOdGs Message-ID: From: Mohammed Farrag To: Devin Teske Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: "freebsd-hackers@freebsd.org" , "freebsd-current@freebsd.org" , Julian Elischer , "freebsd-emulation@freebsd.org" Subject: Re: Kernel Tracking Question.. regarding kernel and boot files X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Apr 2011 18:34:49 -0000 Hey All, Please check this. Check this to use Eclipse/Qemu for Kernel Debugging. http://issaris.blogspot.com/2007/12/download-linux-kernel-sourcecode-from.html It was designed to debug linux kernel. Regards, Mohammed On Sun, Apr 10, 2011 at 9:28 AM, Devin Teske wrote: > On Apr 9, 2011, at 9:46 PM, Julian Elischer wrote: > > > On 4/9/11 2:51 PM, Chris Richardson wrote: > >> On Sat, Apr 9, 2011 at 10:34 PM, Chuck Swiger wrote: > >> > >>> Hi, Chris-- > >>> > >>> [ ...Reply-to: set to direct towards the most appropriate list... ] > >>> > >>> 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. > >>> > >>>> 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, > etc) > >>> is > >>> more likely to be useful over the longer run. > >>> > >>> > >> What about if I wanna see the interaction between boot process and > kernel > >> loading. > > > > 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 > to 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 > "environment" (which are different depending whether you've booted via > pxeboot, cdboot, or other method). You can even do some limited device > poking and file-io (both read and write). > > The benefit of the forth modules is that you can use it to produce the > necessary 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 add something like 'echo "debug == $debug"' to loader.rc. Keeps the > loader small and the human fluff off to the interpreter. > > > > >> > >>>> 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 > it, > >>> 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 > handbook) for historical research as necessary. > > Just my "tuppence." > -- > Devin > > >>> > >>>> Does this method will provide us with someway to see how booting > process > >>> invokes > >>>> the kernel to memory ? Any help will be appreciated. > >>> You're asking about the process here: > >>> > >>> > >>> > http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/boot-blocks.html > >>> > >>> ...? Frankly, none of these are especially big, start by reviewing the > >>> source > >>> code for 'em. > >>> > >>> > >> 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 > boot0. > >> Do you have an idea about that ? > >> > >> Good Luck, > >> > >> > >>> Regards, > >>> -- > >>> -Chuck > >>> > >>> > >>> > >> _______________________________________________ > >> freebsd-current@freebsd.org mailing list > >> http://lists.freebsd.org/mailman/listinfo/freebsd-current > >> To unsubscribe, send any mail to " > freebsd-current-unsubscribe@freebsd.org" > >> > > > > _______________________________________________ > > 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 > confidential. If you are not the intended recipient, please: (i) delete the > message and all copies; (ii) do not disclose, distribute or use the message > in any manner; and (iii) notify the sender immediately. In addition, please > be aware that any message addressed to our domain is subject to archiving > and review by persons other than the intended recipient. Thank you. > _____________ > _______________________________________________ > 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" > -- *Mohammed Farrag* *FreeBSD Contributor*