Technical Details on Excito’s Bubba3 NAS System

Having now worked a bit with the Bubba3 Server by Excito I came across several facts that I would like to provide in a summarized form again to the public world:

General

Internally, the Bubba3 server is an ARMEL architecture (byte-order little endian) based on the ORION plattform making use of the KIRKWOOD architecture. Best this corresponds to the following GNU Arch string when setting up cross-toolchains: arm-unknown-linux-gnueabi. Apparently, there is also an ARM cross toolchain package available at Excito’s FTP server — though I did not test it out yet. Generally speaking, the developers do not recommend to make use of cross-toolchains, but recommend to use the box’ native support for development.
Additionally technical information also be found at:

  • A wiki post on the general layout of the Bubba3 concept
  • The datasheet published by Excito

Hardware

CPU

The processor reports the following details via /proc/cpuinfo under a Linux kernel 2.6.38:

Processor	: Feroceon 88FR131 rev 1 (v5l)
BogoMIPS	: 1199.30
Features	: swp half thumb fastmult edsp 
CPU implementer	: 0x56
CPU architecture: 5TE
CPU variant	: 0x2
CPU part	: 0x131
CPU revision	: 1

Hardware	: BUBBA3 Kirkwood based miniserver
Revision	: 0000
Serial		: 0000000000000000

and thus is a ARMV5TE running around 1,2 GHz. Similar processors thus are ARM946E-S, ARM966E-S, ARM968E-S, ARM996HS, ARM926EJ-S

Wifi card

The optional WiFi card connected to the motherboard is a Mini-PCI-X card. Based on this post on the Excito Forum, it’s a Unex DXNA-92.

Network/LAN card

When starting up the following network drivers for the LAN cards are being booted:

mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4
mv643xx_eth_port mv643xx_eth_port.0: eth0: port 0 with MAC address [...]

Based on the specification the internal LAN cards may go up to 1 GBit/s of speed.

Special Hardware

The LED on the front side of the box is a special development. Thus, additional patches/drivers are necessary in the Linux kernel to allow accessing them. Details on this can also be found at this wiki post.

Layout of the Flash Memory

The Flash Memory partitions have the following layout:

root@b3:/proc# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 000c0000 00010000 "u-boot"
mtd1: 00020000 00010000 "env"
mtd2: 00120000 00010000 "data"

Though being interesting concerning the uboot information, this article on enabling a Bubba 2 server box for making also the system partition RAID-1-enabled does not fit for the Bubba 3. However, there is another forum post available on a similar topic which seems to be the basis for the Wiki article mentioned just a sentence before. The correct /etc/fw_env.config file seems to be:

# MTD definitrion for Bubba|3
# MTD device name       Device offset   Env. size       Flash sector size       Number of sectors
/dev/mtd1		0x000000	0x010000	0x010000 

UBoot content

With the fw_env.config file above, you can read the uboot configuration parameters which are:

root@b3:/proc# fw_printenv
bootdelay=1
baudrate=115200
preboot=
loadaddr=0x800000
console=ttyS0
bootfile=uImage
flashfile=u-boot.kwb
installfile=install.itb
setdiskargs=setenv bootargs root=$diskdev console=$console,$baudrate serial=${serial#} key=$key button=$button
setbootargs=setenv bootargs root=$rootdev rw console=$console,$baudrate $othbootargs
usbbootroot=/dev/sda1
usbbootdev=usb 0:1
usbboot=usb start; setenv diskdev $usbbootroot; run setdiskargs; ext2load $usbbootdev $loadaddr /boot/$bootfile; bootm
usbflashdev=usb 0:1
usbflash=fatload $usbflashdev $loadaddr /install/$flashfile && sf probe 0:0 && sf erase 0 80000; sf write $loadaddr 0 $filesize
satadev=sata 0:1
sataroot=/dev/sda1
sataboot=setenv diskdev $sataroot; run setdiskargs; ext2load $satadev $loadaddr /boot/$bootfile; bootm
usbinstallroot=/dev/ram0
usbinstalldev=usb 0:1
usbinstall=usb start; setenv diskdev $usbinstallroot; run setdiskargs; fatload $usbinstalldev $loadaddr /install/$installfile; bootm
bootalt1=run sataboot || reset
bootalt2=run usbinstall || run usbflash || run sataboot || reset
stdin=serial
stdout=serial
stderr=serial
button=0
bootcmd=run sataboot || reset
ethact=egiga0
ethaddr=00:22:02:xx:yy:zz
eth1addr=00:22:02:xx:yy:aa
serial#=1234
key=xyzabc1234567890123456789=

The manual of uboot can be found at DENX.

Software

Linux Distribution

The Bubba3 server makes use of Debian Release Squeeze (armel architecture). Standard packages fit also to the Bubba3 server. Excito also provides an additional Debian repository available at http://b3.update.excito.org. The Debian suite squeeze matches to the Bubba3 internal suite name elvin.

Linux Kernel

As the Bubba3 server has some special hardware, additional drivers are required to be available with the kernel. The source code of these were available via HTTP download from an Excito Download server (see also this wiki post for the source of this link). In the meantime it appears that there is a GIT repository available at GitHub. Apparently that one is used for newer kernel versions than 2.6.38.

Please remember that you do not need to get the source via the git repository if you just want to compile the Bubba3 kernel yourself. In most cases it is easier (and even more up-to-date) if you fetch the source code of your kernel that you are running on the Bubba3 server via

# apt-get source bubba3-kernel

For this, please note that you need the apt repository with the source code active in your source.list file. The corresponding apt line is:

deb-src http://b3.update.excito.org/ elvin main

Default IP-Address

By default the IP address of the Bubba3 box is 192.168.10.1 reachable via the LAN interface.

Standard HDD layout

A Bubba 3 box with a pre-shipped 500 GB disk uses a GPT disk layout and has the following details based on parted:

(parted) unit s
(parted) print                                                            
Model: ATA WDC WD5000AADS-0 (scsi)
Disk /dev/sda: 976773168s
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start       End         Size        File system     Name  Flags
 1      34s         20971520s   20971487s   ext3            root
 2      20973568s   974675967s  953702400s                  home  lvm
 3      974675968s  976773119s  2097152s    linux-swap(v1)  swap

This especially means that root partition is on ext3, and the /home mount point is running via lvm.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This blog is kept spam free by WP-SpamFree.