FreeBSD 11-CURRENT on Raspberry Pi 512MB

Rui Paulo rpaulo at me.com
Wed Oct 29 06:49:44 UTC 2014


On Oct 28, 2014, at 18:20, Daisuke Aoyama <aoyama at peach.ne.jp> wrote:
> 
> I've created FreeBSD 11-CURRENT for RPi based on svn 273303.
> 
> The first version is released at my Japanese blog:
> 
> Download and tips
> http://shell.peach.ne.jp/aoyama/archives/2931
> Initial setup of FreeBSD 11 on RPi
> http://shell.peach.ne.jp/aoyama/archives/2946
> Package installation of Apache 2.4(event MPM), MySQL 5.6, PHP 5.6(ZTS) and phpMyAdmin.
> http://shell.peach.ne.jp/aoyama/archives/2951
> 
> The pre-build base images are available from my archives:
> http://www.peach.ne.jp/archives/rpi/
> (Latest version is FreeBSD-armv6-11.0-RPI-B-test20-r273303-20141026.img.gz)
> 
> Download and decompress it, then write it to an SD card of 8GB or more.
> This image is intended to use as a headless server. (No X11 and GPU 16MB)
> For quick playing, I provide some useful packages such as samba 4.1, AMP.
> 
> This version have cpufreq(4) based frequency contoller.
> Clock frequencies can be dynamically changed by hand or powerd.
> Also realtime raw values including temperature are stored in hw.cpufreq:
> 
> Example overclock at 1000MHz:
> 
> # sysctl hw.cpufreq
> hw.cpufreq.arm_freq: 1000000000
> hw.cpufreq.core_freq: 500000000
> hw.cpufreq.sdram_freq: 500000000
> hw.cpufreq.turbo: 1
> hw.cpufreq.voltage_core: 6
> hw.cpufreq.voltage_sdram_c: 1
> hw.cpufreq.voltage_sdram_i: 1
> hw.cpufreq.voltage_sdram_p: 1
> hw.cpufreq.temperature: 50843
> 
> # sysctl dev.cpu
> dev.cpu.%parent:
> dev.cpu.0.%desc: Open Firmware CPU
> dev.cpu.0.%driver: cpu
> dev.cpu.0.%location:
> dev.cpu.0.%pnpinfo: name=cpu at 0 compat=arm,1176jzf-s
> dev.cpu.0.%parent: cpulist0
> dev.cpu.0.freq: 300
> dev.cpu.0.freq_levels: 1000/-1 900/-1 800/-1 700/-1 600/-1 500/-1 400/-1 300/-1
> 
> 
> Note:
> Do not build kernel without patch to bcm2835_mbox.c, otherwise you get a panic in msleep.
> 
> Using config is here:
> http://www.peach.ne.jp/archives/rpi/config/RPI-B-test20
> 
> Source and pacth is here:
> http://www.peach.ne.jp/archives/rpi/patch/
> 
> Local packages is here:
> http://www.peach.ne.jp/archives/rpi/ports/packages/All/
> 
> 
> Pre-configured:
> 
> MEM 496MB/GPU 16MB/SWAP none
> Clock: ARM 800MHz/Core 400MHz/SDRAM 400MHz (overclock from 700/250/400)
> ntpdate: 0.freebsd.pool.ntp.org
> portsnap: fetch and extracted
> powerd: enabled (min 300MHz)
> 
> See also:
> http://www.peach.ne.jp/archives/rpi/00README.txt

This is pretty interesting.  Is anyone already helping you merge your code to FreeBSD?

Some questions:

- Did you measure the power consumption when using the different frequency values?
- Could you also export the temperature in dev.cpu.0.temperature like coretemp/amdtemp?  You'd need to perform a device lookup and then lookup its sysctl context.

One suggestion I have is to move the register definition structures to a header file like bcm2835_cpufreq.h.

There are some style issues with your patch, but I think it's pretty close to being ready.

--
Rui Paulo





More information about the freebsd-arm mailing list