OpenWrt Git
There's a new git repository which combines the OpenWrt build with the emulator. It also removes all the target platforms other than RDC/Bifferboard.
git clone git://github.com/bifferos/bb.git
cd bb
make
It has the following features:
- Uses 2.6.37.6 kernel
- Realtime extensions have been added via RTAI patches
- Realtime example programs
- Biffconfig package for setting bootloader parameters from inside the operating system
- Biffprop package for programming a Propeller chip
- Kernel command-line is supplied by the bootloader, not embedded
- Kernel patch has been applied to correct the PIT TICK RATE, giving better time keeping
- Kexec support has been fixed
- PWM support added
- Selectable kmax value in the openwrt menu, means you can fine-tune where JFFS starts (you still need to change Biffboot settings)
- No longer generates 128k block size image.
- Incorporates the standard package feeds: one single git clone gives > 1000 packages.
- Updated to uclibc 0.9.32 and GCC 4.5.
Building (Updated Oct 2019)
Build with Slackware 13.37. You will find that the git supplied with Slack 13.37 refuses to clone from github. Pull it with a more modern git on another machine, and copy it across.
You will also need to download the linux kernel 2.6.37.6 from kernel.org and copy it to the openwrt/dl directory because the openwrt site no longer has it.
Finally, remember to set your kernel command-line and kernelmax:
console=uart,io,0x3f8 rootfstype=squashfs,jffs2
kernelmax: 0x0010
Build Tips for Slackware 13.37 64-bit
13.37 builds this stuff out of the box with one exception. Again you need to upgrade binutils from 'current' to compile SeaBIOS.
wget http://www.mirrorservice.org/sites/ftp.slackware.com/pub/slackware/slackware64-current/slackware64/d/binutils-2.21.53.0.2-x86_64-1.txz
upgradepkg binutils-2.21.53.0.2-x86_64-1.txz
Problematic packages
Not all packages compile. Here are some giving problems:
fwknop fwknopd, apache, libdlna, libnetsnmp, xmpp4r, freeradius, mako, mgen, twisted, perf
Obviously those packages which depend on the above packages won't compile either. The following packages are available from the RDC repository: http://downloads.openwrt.org/snapshots/trunk/rdc/packages/
apache, libnetsnmp, freeradious, mgen
Below are the old Git instructions.
OpenWrt has been forked at revision r23226, to better serve the needs of Bifferboard users. The fork can be found at Github.
Bootloader settings
Before attempting to use firmware from this repository you should check your bootloader settings. These values should work fine:
BIFFBOOT> showconfig
Configuration values:
bootsource: on-board flash
console: enabled
nic: enabled
boottype: Linux 2.6 parameter block
loadaddress: 0x00400000
cmndline: console=uart,io,0x3f8 rootfstype=squashfs,jffs2
kernelmax: 0x0010
There are quite a few changes over OpenWrt, but here are the main ones:
- Uses 2.6.32.20 & 2.6.37.6 kernel
- Realtime extensions have been added via RTAI patches
- Kernel command-line is supplied by the bootloader, not embedded
- GZIP compression is used instead of LZMA to speed up boot times
- Kernel patch has been applied to correct the PIT TICK RATE, giving better time keeping
- Kexec support has been fixed
- Biffconfig utility for changing Biffboot parameters from within OpenWrt
- PWM support added
Build instructions
You can get the repository with:
git clone git://github.com/bifferos/openwrt.git
For compilation instructions please see the README.
Silent serial port
Many people need to use the serial port for something other than the Linux console. You can silence Biffboot by setting the 'console' parameter to 'disabled'. You can also silence the kernel boot chatter by setting cmndline 'console' option to just 'console='.
Use 2.6.37.6 kernel :
Edit file target/linux/rdc/Makefile and set LINUX_VERSION to 2.6.37.6
FAQs
Q: I installed package XXX with opkg (or through the web interface) and it doesn't work
A: That's because the default referenced repositories are nothing to do with the Bifferboard fork. Many packages may work, but if they don't please build from source.