raspberryPi_logo.gif

Raspberry Piとは 2012-11-05

”Raspberry Piとは、これからのIT開発者やプログラマのために開発したLinuxベースで動作する超低価格で名刺サイズのパソコンです。このパソコンは小型で安価であり、更にBROADCOM社製ARMCoreベースのプロセッサ、GPUを搭載しています。また、HDMIやUSB2.0などの基本的なインターフェースも一通り装備されているため、ディスプレイやキーボードなどを接続することも可能です。”

Raspberry Pi (model B)の主な機能 2012-11-05

Linuxで動作する 2012-11-05

http://www.raspberrypi.org/downloadsからイメージをダウンロードしてSDカードに書き込めば,電源とキーボード,マウス,モニタを用意すると素直に起動するLinuxBoxの出来上がり。

とりあえず,http://www.raspberrypi.org/downloadsからRaspbian “wheezy”をダウンロードしてddwinを使ってSDカードに書いてみた。SDカードは,SanDiskの8GBを使った。

電源投入。普通のLinuxとして起動する。あまりにあっさり動いた。X Windowも使えて,「おっ!意外に行けるかも」な感じ。本体も小さいし。

でも,X Windowはいらないんだけどね。

FreeBSDに置き換えてしまえ 2012-11-05

FREEBSD DEVELOPER'S NOTEBOOTFreeBSD - easiest way to install on my RPi?で既にFreeBSDが動作しているらしい。 ということで、FreeBSDが走るRaspberry PiはFreeBSD/piと呼ばれるらしい。
すでにcurrentにもマージが始まっているとのことなので,楽勝で行けそーな気がするー。

raspberryPi_logo.gif

FreeBSD/Pi setup HowTo by gonzo 2012-11-09

FreeBSD/Pi setup HowToのU-Bootとbuild_world, build_kernel,imgの作成までを自動化するスクリプトがあったので実行してみた。

スクリプトを実行する前にコメントを読んでみるとtarのところでエラーになるので,書式を変えた方がいいよというコメントがあったので事前に変更して実行した。

バイナリを作成するスクリプトとイメージを作成するスクリプトを分けてみた。

BUILD-SRC.sh

#!/bin/sh
set -e

export TARGET=arm
export TARGET_ARCH=arm
export SRCROOT=/usr/home/shinichi/bsdpi/freebsd-pi
export MAkEOBJDIRPREFIX=/usr/home/shinichi/Sources/obj
export KERNCONF=RPI-B
KERNEL_BIN=`realpath $MAKEOBJDIRPREFIX`/arm.arm`realpath  $SRCROOT`/sys/$KERNCONF/kernel.bin

make -C $SRCROOT kernel-toolchain
make -C $SRCROOT KERNCONF=$KERNCONF WITH_FDT=yes buildkernel
make -C $SRCROOT TARGET_CPUTYPE=armv6 MALLOC_PRODUCTION=yes buildworld

BUILD-IMG.sh

#!/bin/sh
set -e

export TARGET=arm
export TARGET_ARCH=arm
export SRCROOT=/usr/home/myaccount/bsdpi/freebsd-pi
export MAkEOBJDIRPREFIX=/usr/home/myaccount/Sources/obj
export KERNCONF=RPI-B
#KERNEL_BIN=`realpath $MAKEOBJDIRPREFIX`/arm.arm`realpath  $SRCROOT`/sys/$KERNCONF/kernel.bin
KERNEL_BIN=/usr/obj/arm.arm`realpath $SRCROOT`/sys/$KERNCONF/kernel.bin

IMG=bsd-pi.img
rm -f $IMG
dd if=/dev/zero of=$IMG bs=128M count=8
MDFILE=`mdconfig -a -f bsd-pi.img`
gpart create -s MBR ${MDFILE}
gpart add -s 32m -t '!12' ${MDFILE}
gpart add -s 896m -t '!12' ${MDFILE}
gpart set -a active -i 1 ${MDFILE}
newfs_msdos -L boot -F 16 /dev/${MDFILE}s1
newfs /dev/${MDFILE}s2
mount_msdosfs /dev/${MDFILE}s1 /mnt
tar -x -v -z --uname root -C /mnt -f freebsd-pi-uboot-20120806-sd.tar.gz
cp $KERNEL_BIN /mnt
umount /mnt

mount /dev/${MDFILE}s2 /mnt
make -C $SRCROOT DESTDIR=/mnt installworld
make -C $SRCROOT DESTDIR=/mnt distribution

# Minimal config
echo 'hostname="freebsd-pi"' > /mnt/etc/rc.conf
echo '/dev/mmcsd0s2 / ufs rw 1 1' > /mnt/etc/fstab

umount /mnt
mdconfig -d -u $MDFILE

memo

ERROR: Required auditdistd user is missing, see /usr/src/UPDATING.

/etc/passwd

auditdistd:*:78:77::0:0:Auditdistd unprivileged user:/var/empty:/usr/sbin/nologin

/etc/group

audit:*:77:

memo - 2

imgをマウントする。 mdを使ってイメージをデバイスに変換してマウントする。

# mdconfig -a -t vnode -f /usr/obj-bpi/bpi.img
md0
# ls /dev/md*
/dev/md0        /dev/md0s1      /dev/md0s2      /dev/mdctl
# mount /dev/md0s2 /mnt
#

使い終わったmdファイルは,ちゃんとお片付けしましょう。

mdconfig -d -u /dev/md0
# ls /dev/md*
/dev/mdctl
#
raspberryPi_logo.gif

Currentを追いかけて 2013-03-16

しばらくRasberry Piに触れない日が続いていたんだけど,最近,少しずつ触っている。 FREEBSD DEVELOPER'S NOTEBOOTのスクリプトもアップデート版が出ていたので,Currentを更新してビルドした。

今のCurrentだとHDMIにメッセージを出すようで,シリアルコンソール側はしばらく何も表示されなくなるようになったのね。

HDMIのモニタは普段は使わないので途中がまるで見えないのはちょっと不安がある。
シリアルコンソールにメッセージを出すために以下の設定を/boot/loader.rcに書いておく

set console=comconsole
raspberryPi_logo.gif

今度パッチを当てる予定。

> Hi
> 
> I decide to test RRI-B as simple router (without NAT): [Host A] ---
> [RPI-B] --- [Host B]
> 
> I've created two vlans on RPI (if_vlan.ko was load as module) and run
> iperf between Host A and Host B:
> 
> [Host A~]# iperf -c 192.168.0.249 -P 5 -i 5 -t 300 | grep SUM
> [SUM]  0.0- 5.0 sec  4.62 MBytes  7.76 Mbits/sec
> [SUM]  5.0-10.0 sec  4.75 MBytes  7.97 Mbits/sec
> [SUM] 10.0-15.0 sec  4.25 MBytes  7.13 Mbits/sec
> 
> So RPI-B network's throughput was around 20Mbit/sec of full-duplex traffic:

The problem is that USB works in PIO mode. With DMA mode enabled 
it's somewhat faster. Here is my half-baked patch:

http://people.freebsd.org/~gonzo/patches/dwc_otg-dma-nosplit.diff

Network interface should work, although USB keyboards will not work 
with this patch. 
raspberryPi_logo.gif

patchをあててみた

headをチェックアウトして件のパッチをあててみた。

# svn co svn://svn.freebsd.org/base/head head
# cd head/sys/dev/usb/controle
# patch < dwc_otg-dma-nosplit.diff
# cd ../../../../
# sh build.sh

パッチをあてる前と後でpingしたときのラウンドタイムの変化を見てみた

パッチをあてる前は、onboardのNICを10としたとき、USB-NICであるLUA3-U2-ATXは20だった。
パッチ後は、おそよ同じ速度となっていた。

しかし、暫くするとNetworkの通信ができなくなるなぁ。
なんでだろ。

BSD-PIにシリアル接続したとき、viの画面が...

/etc/ttysを見てみるとターミナルタイプがdialupとなっていた。

ttyu0 "/usr/libexec/getty 3wire.115200" dialup on secure

ターミナルタイプをxtermに変更した

ttyu0 "/usr/libexec/getty 3wire.115200" xterm on secure

build.shで書き込んでいるので、スクリプトを変更しておいた。


添付ファイル: fileraspberryPi_logo.gif 1248件 [詳細]

Last-modified: 2022-05-05 (木) 22:27:10