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