From owner-freebsd-hackers@FreeBSD.ORG Wed Nov 7 16:01:11 2012 Return-Path: Delivered-To: hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BA651601 for ; Wed, 7 Nov 2012 16:01:11 +0000 (UTC) (envelope-from kientzle@freebsd.org) Received: from monday.kientzle.com (99-115-135-74.uvs.sntcca.sbcglobal.net [99.115.135.74]) by mx1.freebsd.org (Postfix) with ESMTP id 980E68FC14 for ; Wed, 7 Nov 2012 16:01:11 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.4/8.14.4) id qA7G1AiB020355 for hackers@freebsd.org; Wed, 7 Nov 2012 16:01:10 GMT (envelope-from kientzle@freebsd.org) Received: from [192.168.2.143] (CiscoE3000 [192.168.1.65]) by kientzle.com with SMTP id wdyhe74eshgh35dkdwkbvvr3bi; for hackers@freebsd.org; Wed, 07 Nov 2012 16:01:10 +0000 (UTC) (envelope-from kientzle@freebsd.org) From: Tim Kientzle Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: FreeBSD on RaspberryPi Date: Wed, 7 Nov 2012 08:01:08 -0800 Message-Id: <31C904E6-F230-4187-AE32-F9A7B1A7C38E@freebsd.org> To: FreeBSD Hackers Mime-Version: 1.0 (Apple Message framework v1283) X-Mailer: Apple Mail (2.1283) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Nov 2012 16:01:11 -0000 WARNING: This is still highly experimental and by no means ready for "production use", but some folks might find it interesting. To boot FreeBSD on your RaspberryPi, you'll need: 1) A RaspberryPi. 2) A serial cable similar to this one: www.adafruit.com/products/954 3) An SD card of 2GB or larger Download this 111MB file (~1.6G uncompressed): = http://people.freebsd.org/~kientzle/FreeBSD-RPI-B-r242362-2012-10-30.img.x= z Uncompress it, dd it onto your SD card, pop it in and apply power. (The serial cable above can also provide power; just leave the red lead disconnected until you get the SD card plugged in.) KNOWN BROKEN STUFF * There's no framebuffer/syscons yet. Hence the need for a serial = cable. * The memory is mis-probed (actually a boot loader problem, not a FreeBSD kernel issue), so you'll only get to use 128MB (you might be able to change this for a single boot by breaking into ubldr and editing the FDT by hand) * There has been NO attempt to reduce the footprint of this image. It's a completely stock build of FreeBSD-CURRENT. (Actually, I have turned off sendmail and a few other things in = rc.conf, but compensated by building world with full debug enabled.) * I've personally not tried USB or Ethernet and have no idea if they = work. HOW TO BUILD YOUR OWN IMAGE The script I used to build this image is at: github.com/kientzle/freebsd-beaglebone (It was originally developed for BeagleBone.) Enjoy! Boot message (edited for length): DRAM: 128 MiB WARNING: Caches not enabled MMC: bcm2835_sdh: 0 Using default environment In: serial Out: serial Err: serial Net: Net Initialization Skipped No ethernet found. Hit any key to stop autoboot: 0=20 reading uEnv.txt 74 bytes read Importing environment from mmc ... reading ubldr 728201 bytes read ## Starting application at 0x02000054 ... Consoles: U-Boot console =20 Compatible API signature found @7b75220 Number of U-Boot devices: 1 FreeBSD/armv6 U-Boot loader, Revision 1.2 (root@fci386.localdomain, Wed Nov 7 01:54:47 PST 2012) DRAM: 128MB Device: disk - /boot/kernel/kernel data=3D0x300238+0x1ec7c = syms=3D[0x4+0x70f80+0x4+0x56d3c] Hit [Enter] to boot immediately, or any other key for command prompt. Booting [/boot/kernel/kernel]... =20 fdt_start: 0x003DC138 fdt_reg_valid(): reg#0 (start: 0x0 size: 0x8000000) valid! Kernel entry at 0x100100... Kernel args: (null) =85 Copyright (c) 1992-2012 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 #3: Wed Nov 7 04:23:11 PST 2012 root@fci386.localdomain:/usr/obj/arm.armv6/usr/src/sys/RPI-B arm CPU: Sheeva 88SV581x rev 7 (Marvell core) Supported features: ARM_ISA THUMB2 JAZELLE ARMv4 Security_Ext WB enabled LABT branch prediction enabled 16KB/32B 4-way instruction cache 16KB/32B 4-way write-back-locking-C data cache real memory =3D 134217728 (128 MB) avail memory =3D 125685760 (119 MB) =85=20 FreeBSD/arm (raspberry-pi) (ttyu0) login: root FreeBSD 10.0-CURRENT (RPI-B) #3: Wed Nov 7 04:23:11 PST 2012 Welcome to FreeBSD! =85 root@raspberry-pi:/root # top last pid: 490; load averages: 0.63, 0.30, 0.12 up 0+00:01:32 = 12:47:50 7 processes: 1 running, 6 sleeping CPU: 0.4% user, 0.0% nice, 0.8% system, 2.3% interrupt, 96.5% idle Mem: 59M Active, 7312K Inact, 8136K Wired, 10M Buf, 47M Free Swap:=20 PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND 488 root 1 16 0 10808K 10280K pause 0:00 5.27% csh 490 root 1 41 0 10940K 10080K RUN 0:00 4.84% top 487 root 1 8 0 10980K 10164K wait 0:00 4.31% login 484 root 1 -8 0 9848K 9596K piperd 0:00 0.67% logger 452 root 1 42 0 14724K 2208K select 0:00 0.00% sshd 486 root 1 8 0 1656K 1396K nanslp 0:00 0.00% sleep 483 root 1 8 0 10416K 1128K wait 0:00 0.00% sh