From owner-freebsd-small@FreeBSD.ORG Tue Sep 13 21:15:11 2005 Return-Path: X-Original-To: freebsd-small@freebsd.org Delivered-To: freebsd-small@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6BB1016A42A for ; Tue, 13 Sep 2005 21:15:11 +0000 (GMT) (envelope-from snoel@gestosoft.com) Received: from tomts5-srv.bellnexxia.net (tomts5.bellnexxia.net [209.226.175.25]) by mx1.FreeBSD.org (Postfix) with ESMTP id 84D2543D48 for ; Tue, 13 Sep 2005 21:15:10 +0000 (GMT) (envelope-from snoel@gestosoft.com) Received: from [10.0.5.52] ([69.156.84.58]) by tomts5-srv.bellnexxia.net (InterMail vM.5.01.06.10 201-253-122-130-110-20040306) with ESMTP id <20050913211509.ILKN26967.tomts5-srv.bellnexxia.net@[10.0.5.52]>; Tue, 13 Sep 2005 17:15:09 -0400 In-Reply-To: References: <20050908165951.GE31354@odin.ac.hmc.edu> Mime-Version: 1.0 (Apple Message framework v734) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <7CA0DCC7-542A-4A9C-9C3B-F50903E282C4@gestosoft.com> Content-Transfer-Encoding: 7bit From: Sandro Noel Date: Tue, 13 Sep 2005 17:15:08 -0400 To: gnn@neville-neil.com X-Mailer: Apple Mail (2.734) Cc: freebsd-small@freebsd.org Subject: Re: System Tree essentials UNDERSTANDING the system X-BeenThere: freebsd-small@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Sep 2005 21:15:11 -0000 the second tool is PTXDist it's quite nice, and it works 80% of the time On Sep 08, 2005, at 10:11 PM, gnn@neville-neil.com wrote: > At Thu, 8 Sep 2005 18:00:45 -0400, > Sandro Noel wrote: > >> I've just had a look at it quickly, and i was going to propose >> building a database to organize the information but this seems >> right. >> > > It's not original to me, I have seen whole RTOSs shipped with the > kernel APIs and docs in the code and then extracted by a similar > method. > > >> I was thinking of - let me know if you share this vue - organizing >> the base system into features, something like >> > > Yes, that's correct approach. > > BTW You should use global and cscope to look around the kernel for the > module declarations to get an idea of the system startup order. This > is what I did to write the chapter on system startup in the latest > "Design and Implementation" book. > > To find those tools just start at www.codespelunking.org > > Using the parts of the tools that allow you to "find all functions > calling X" look for: > > SYSINIT > > which will get you lines like this: > > SYSINIT(domain_ ## name, SI_SUB_PROTO_DOMAIN, SI_ORDER_SECOND, > net_add_domain, & name ## domain) > > This lets you know what is being started, the protocol domains, where > it should go (SECOND), how it is started (net_add_domain()) etc. > > Until you understand the startup sequence you have very little chance > of understanding the dependencies in the system. It is not perfect > but it is a good overall start, at least in my opinion. > > We ought to generate a map somehow... Hmmm. Have to think about > that. > > >> now, i guess this brings a question, is it possible to devide the >> system into smaller blocks like that, while still keeping it >> functional. as an example. is it possible to boot the system to a >> shell without any user files on the system. or any groups for that >> matter. >> > > It is hard but not impossible. It requires something most of us hate, > work ;-) Of course work is easier when shared. > > Later, > George > > > > Sandro Noel snoel@gestosoft.com