FreeBSD 11-CURRENT on Raspberry Pi 512MB

Ian Lepore ian at FreeBSD.org
Wed Oct 29 14:53:37 UTC 2014


On Tue, 2014-10-28 at 23:49 -0700, Rui Paulo wrote:
> 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.
> 

Huh, and I would recommend just the opposite, including a need to clean
up many of our existing drivers.  If it's only used by one source file,
it doesn't need to be in a header file, which is implicitly for sharing
information between multiple source files.  The worst is when you have
foo_driverreg.h with like 4 #defines in it; that's so annoying.  (A
valid exception to the "only if it needs to be shared" concept might be
a file that #defines hundreds-to-thousands of values.)

-- Ian

> There are some style issues with your patch, but I think it's pretty close to being ready.
> 
> --
> Rui Paulo
> 
> 
> 
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"




More information about the freebsd-arm mailing list