From owner-freebsd-small@FreeBSD.ORG Tue May 30 07:47:05 2006 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 BEC2816A422 for ; Tue, 30 May 2006 07:47:05 +0000 (UTC) (envelope-from small@dino.sk) Received: from mail.netlab.sk (mail.netlab.sk [213.215.72.51]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3220643D46 for ; Tue, 30 May 2006 07:47:04 +0000 (GMT) (envelope-from small@dino.sk) Received: from [192.168.16.13] (home.dino.sk [213.215.74.194]) (AUTH: PLAIN milan@netlab.sk, TLS: TLSv1/SSLv3,256bits,AES256-SHA) by mail.netlab.sk with esmtp; Tue, 30 May 2006 09:53:49 +0200 id 00289C14.447BFA0F.00011C7F From: Milan Obuch To: freebsd-small@freebsd.org Date: Tue, 30 May 2006 09:41:49 +0200 User-Agent: KMail/1.9.1 References: <9f7850090605292201x570d93b4v8a7dd3ea0c70f841@mail.gmail.com> <20060530051455.GA60261@what-creek.com> In-Reply-To: <20060530051455.GA60261@what-creek.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200605300941.51523.small@dino.sk> Cc: Subject: Re: FreeBSD's embedded agenda 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, 30 May 2006 07:47:05 -0000 On Tuesday 30 May 2006 07:14, John Birrell wrote: > On Mon, May 29, 2006 at 10:01:37PM -0700, marty fouts wrote: > > On 5/29/06, John Birrell wrote: > > >The smallest embedded system using FreeBSD consists of just a kernel > > >and a threaded program which runs as 'init'. No other files are > > > required. > > > > Unfortunately, in my world, the smallest embedded system isn't of > > interest. We need something a bit larger. That threaded program needs > > a data store for persistant data. > > Yes, you write persistent data to the NAND disk. As I said, you remount > the file system as write enabled when you need to save data then leave > it read-only for the rest of the time. This doesn't take very long to do. > It's not like you have gigabytes of data buffered because you mount > the file system write enabled synchronously. > There is another tradeoff between smallest/minimalistic system and somewhat larger embedded system, based on ease of application development. It is sometimes much easier to develop system using already existing applications without need to compile everything into one program (routers need routing protocols etc.) [ snip ] > > The example that I gave uses NAND flash to boot the OS and save > persistent configuration data. The CF was only used because the MPEG > file for a race video was 1GB. If I wasn't writing such a large amount > of data, the CF would not have been required. At the time it was the > easiest way to get a large amount of storage in a small system which > had to stand the rigor race motorcycle vibrations. > > As I said, writing a NAND driver under geom on FreeBSD is a trivial matter. > That is what I did. The driver wasn't committed to FreeBSD because it > is hardware specific to the board due to the way the the processor I/O > is mapped. If you study the NAND implementations on embedded hardware, > you will see that making a general operating system support them all with > drivers is hard to do because of the different ways that the NAND chips > are mapped in I/O. It's not like they are on a general bus that makes > access to them the same. It would be interesting to see your implementation documented somewhere. I think the community could use it to study... Other than that I think there is no universal methodology for embedded system. That said, everything publicly documented is usefull. Regards, Milan -- No need to mail me directly. Just reply to mailing list, please.