Date: Wed, 27 Mar 2013 11:16:52 -0600 From: Ian Lepore <ian@FreeBSD.org> To: Adrian Chadd <adrian@FreeBSD.org> Cc: freebsd-embedded@FreeBSD.org Subject: Re: FreeBSD on the AP121 (AR9330) Message-ID: <1364404612.36972.59.camel@revolution.hippie.lan> In-Reply-To: <CAJ-Vmom8sbMJvFn1ucGBSiptWtKPC0kE1Ss22Kj-WGVSkP_8ag@mail.gmail.com> References: <CAJ-Vmom8sbMJvFn1ucGBSiptWtKPC0kE1Ss22Kj-WGVSkP_8ag@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2013-03-27 at 09:48 -0700, Adrian Chadd wrote: > Hi, > > So I have FreeBSD mostly booting on the AR9330 based SoCs. > > The trouble? These ship with 16MB RAM and 4MB flash. > > CPU platform: Atheros AR9330 rev 1 > CPU Frequency=400 MHz > CPU DDR Frequency=400 MHz > CPU AHB Frequency=200 MHz > > ... > > Copyright (c) 1992-2013 The FreeBSD Project. > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > The Regents of the University of California. All rights reserved. > FreeBSD is a registered trademark of The FreeBSD Foundation. > FreeBSD 10.0-CURRENT #15 r248780:248782M: Tue Mar 26 22:31:51 PDT 2013 > adrian@marilyn:/home/adrian/work/freebsd/svn/obj/mipseb/mips.mips/usr/home/adrian/work/freebsd/svn/src/sys/AR9331 > mips > gcc version 4.2.1 20070831 patched [FreeBSD] > WARNING: WITNESS option enabled, expect reduced performance. > Preloaded elf kernel "kernel" at 0x80538074. > real memory = 16777216 (16384K bytes) > Physical memory chunk(s): > 0x005d2000 - 0x00f90fff, 10219520 bytes (2495 pages) > avail memory = 9768960 (9MB) > > The kernel is 4.5MB in size uncompressed and takes up ~ 2.5MB of RAM > just at startup. It's not going to be able to really do anything with > our current userland without killing processes. I know it won't even > be able to load the wlan/ath/bridge/switch modules. > > So at this point I'm really, really looking for some help with cutting > down both the kernel binary size and the kernel memory footprint. It's > a bit ridiculous at this point. > > The AR9330 is in a lot of the really cheap, really small APs that > companies like TP-Link make in ridiculous quantities. I'd love to > showcase FreeBSD + mesh on these, but there's just not enough space to > run things. > > So, who's up for it? I can send you hardware if you start making > progress. Lots and lots of embedded hardware. For starters you might try disabling WITNESS and other things you can't afford in a slimmed-down kernel. On the other hand, kernel bloat is ongoing; here's a random datapoint in the form of an 8.2 versus -current kernel built for an embedded arm using the same kernel config file (no debugging options enabled): 8.2 10.0 ---- ---- 3.4M 4M obj/arm.arm/usr/src/sys/TFLEX/kernel* 2.6M 3.1M obj/arm.arm/usr/src/sys/TFLEX/kernel.bin* 1.4M 1.6M obj/arm.arm/usr/src/sys/TFLEX/kernel.gz.tramp* If the system isn't doing heavy IO, try "option NBUF=128" to seriously slim down the amount of memory for buffers (by default it'll use 1/4 of total ram up to 64MB). It would be nice to know more about the implications of tweaking this number, but when I asked on a mailing list once I didn't get much useful info. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1364404612.36972.59.camel>