2013-07-30

tftpbootによるOSの起動方法 [AX3][A6]

前回、カーネルのカスタマイズ手順について説明しましたが、flashcfgコマンドによりカスタマイズしたファームウェア書き込む前に起動テストをしたい場合や、作成したファームウェアに何らかの問題があって起動しない場合のリカバリ方法として、ubootからのtftpbootによる起動方法について簡単な説明を行います。

OBDN技術ブログによる動作検証は、該当するソフトウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

1. tftpサーバのインストール


windowsの場合

TFTPD32 : an opensource IPv6 ready TFTP server/service for windows : TFTP server:

上記のアドレスより、tftpd32をダウンロードし、インストールします。
「Settings」ボタンを押し、TFTPタブより、tftpdのBase Directoryを指定、GLOBALタブのStart Services内のTFTP Serverにチェックを入れます。
指定したBase Directoryにtftpにより転送したいファイルを置きます。
AX3、A6のubootのターゲットファイル名はそれぞれ以下の通りになります。

AX3: uImage.initrd.obsax3
A6:   uImage.initrd.obsa6



また、必要に応じて、DHCP Serverを立ち上げる事も可能です。

Debian Linux (7.1 wheezy) を使用する場合

tftpdパッケージを利用します。

# aptitude install tftpd

debian wheezyのパッケージの場合、/etc/inetd.confへのデフォルトの設定で、/srv/tftpを指定しているため、ディレクトリを作成します。

# mkdir /srv/tftp

上記ディレクトリに、立ち上げたいファームウェアイメージファイルを転送して下さい。
AX3、A6のubootのターゲットファイル名はそれぞれ以下の通りになります。

AX3: uImage.initrd.obsax3
A6:   uImage.initrd.obsa6

tftpdサーバのアクセス制限の解除が必要な場合は、/etc/hosts.allowを編集し、以下の行を追加します。

in.tftpd: ALL (もしくは、許可するIPアドレスグループ)

2. ubootからのtftpboot


ubootプロンプトへの入り方

シリアルコンソールより、パワーオン->uboot起動すぐに、何らかのキーを入力することにより、コマンドプロンプトによる操作が可能になります。


IPアドレスの設定

先にネットワークのアドレスの取得もしくは設定を行います。

dhcpの場合
openblocks> dhcp

IPアドレスを指定する場合
openblocks>setenv ipaddr <IPアドレス>
openblocks>setenv gatewayip <ゲートウェイのIPアドレス>
openblocks>setenv netmask <ネットマスクの値>

tftpbootによるファームウェアの起動

起動する場合は、以下の操作を行います。ファームウェアの書き込みは行われません。

openblocks> setenv tftpserver <tftpサーバのIPアドレス>
openblocks> run os_load_boot

tftpbootによるファームウェアの本体への書き込み

ファームウェアを本体に直接書き込む場合は、以下の操作を行います。

openblocks> setenv tftpserver <tftpサーバのIPアドレス>
openblocks> run os_load_prog

3. さいごに


以上、特に補足することはありません。

2013-07-29

カーネルのカスタマイズ手順について(非公式版) [AX3][A6]

OpenBlocks Aファミリのカーネルのカスタマイズ手順に関しては、現状では当社サポート窓口よりご案内していますが、当blogの検証ではカーネルの再構築について触れることも少なくないため、非公式ながら、ここにまとめておきます。

OBDN技術ブログによる動作検証は、該当するソフトウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

 なお、本作業に関しては、作業内容をご理解の上、自己責任の元に慎重に行ってください。

1. 事前準備


カーネル再構築のためには、開発環境が必要になります。
ユーザマニュアルに書かれた、タイムゾーン等の最初の設定、標準ツールのインストールに加え、基本的な開発環境をインストールしてください。

# aptitude install build-essential

また、ファームウェア構築のために、ncursesのdev環境および、mkimageが必要となります。

# aptitude install uboot-mkimage libncurses5-dev

2. OpenBlocks AX3シリーズのカーネルカスタマイズ手順


AX3のカーネルカスタマイズを行う場合、wheezy向けの3.2.40系カーネルと、squeeze向けの3.0.6系カーネルにより、ファイルの入手先やファイル名が違います。

ファイルの入手

当社ftpサイトより、カーネルソースファイルと、対応したramdiskイメージを入手し、展開してください。
2014/4/22現在の最新のカーネルパッケージは、3.2.40-4 ( wheezy )および、3.0.6-14です。
これより最新のパッケージがリリースされた場合は、ディレクトリなどを変更してください。

3.2.40の場合 (Debian 7.1 wheezy )
# cd /usr/src
# wget ftp://ftp.plathome.co.jp/pub/OBSAX3/wheezy/3.2.40-4/linux-3.2.40-20140220.tar.gz
# wget ftp://ftp.plathome.co.jp/pub/OBSAX3/wheezy/3.2.40-4/ramdisk-wheezy.obsax3.img.lzma
# tar xvzf  linux-3.2.40-20140220.tar.gz

2.6.31の場合 (Debian 6.0 squeeze )
# cd /usr/src
# wget ftp://ftp.plathome.co.jp//pub/OBSAX3/squeeze/3.0.6-14/source/linux-3.0.6-14.tar.gz
# wget ftp://ftp.plathome.co.jp//pub/OBSAX3/squeeze/3.0.6-14/ramdisk-squeeze.obsax3.img.lzma
# tar xvzf  linux-3.0.6-14.tar.gz

構成情報の編集

3.2.40の場合 (Debian 7.1 wheezy )
# cd /usr/src/linux-3.2.40
# cp arch/arm/configs/obsax3_defconfig .config
# make menuconfig

もしくは直接configファイルを編集する方法もあります。
# cd /usr/src/linux-3.2.40
# cp  arch/arm/obsax3_defconfig arch/arm/obsax3_defconfig.orig
# vi arch/arm/obsax3_defconfig
# make obsax3_defconfig arch=ARM oldconfig

3.0.6の場合 (Debian 6.0 squeeze )
# cd /usr/src/linux-3.0.6
# cp arch/arm/configs/obsax3_defconfig .config
# make menuconfig

zImageおよび、ドライバモジュールの作成とインストール

# make zImage modules
# make modules_install

ファームウェアイメージの作成

3.2.40の場合 (Debian 7.1 wheezy )
# cd /usr/src
# gzip -9 < linux-3.2.40/arch/arm/boot/zImage > zImage.gz
# mkimage -n "OBSAX3_xxx 3.2.40" -A arm -O linux -T multi -C gzip -a 0x8000 -e 0x8000 -d zImage.gz:ramdisk-wheezy.obsax3.img.lzma uImage.initrd.obsax3

3.0.6の場合 (Debian 6.0 squeeze )
# cd /usr/src
# gzip -9 < linux-3.0.6/arch/arm/boot/zImage > zImage.gz
# mkimage -n "OBSAX3_xxx 3.0.6" -A arm -O linux -T multi -C gzip -a 0x8000 -e 0x8000 -d zImage.gz:ramdisk-squeeze.obsax3.img.lzma uImage.initrd.obsax3

ファームウェアのFlashROMへの書き込み

# flashcfg -y -f uImage.initrd.obsax3

3. OpenBlocks A6のカーネルカスタマイズ手順


A6のカーネルカスタマイズを行う場合、wheezy向けの3.2.40系カーネルと、squeeze向けの2.6.31系カーネルでは、パッケージの構成手順が若干異なります。

また、squeeze版をご利用の場合、2.6.31系カーネル向けに用意されたramdiskパッケージをlzmaファイルにする際に、メモリ不足となるため、swapを追加設定してください。
標準状態では、swapは未使用の状態になっています。
設定方法に関しては、

OpenBlocks A6 FAQ: SWAPを設定するには、どのようにすれば良いですか

を参照してください。

ファイルの入手

当社ftpサイトより、カーネルソースファイルと、対応したramdiskイメージを入手し、展開してください。
2014/4/22現在の最新のカーネルパッケージは、3.2.40-3 ( wheezy )および、2.6.31-8です。
これより最新のパッケージがリリースされた場合は、ディレクトリなどを変更してください。

3.2.40の場合 (Debian 7.1 wheezy )
# cd /usr/src
# wget ftp://ftp.plathome.co.jp/pub/OBSA6/wheezy/3.2.40-3/linux-3.2.40-20140220.tar.gz
# wget ftp://ftp.plathome.co.jp/pub/OBSA6/wheezy/3.2.40-3/ramdisk-wheezy.obsa6.img.lzma
# tar xvzf  linux-3.2.40-20130710-2.tar.gz

2.6.31の場合 (Debian 6.0 squeeze )
# cd /usr/src
# wget ftp://ftp.plathome.co.jp//pub/OBSA6/squeeze/2.6.31-8/source/linux-2.6.31-obs-20130131.tar.gz
# wget  ftp://ftp.plathome.co.jp//pub/OBSA6/squeeze/2.6.31-8/ramdisk-squeeze.obsa6.img
# tar xvzf  linux-2.6.31-obs-20130131.tar.gz

構成情報の編集

3.2.40の場合 (Debian 7.1 wheezy )
# cd /usr/src/linux-3.2.40
# cp arch/arm/configs/obsa6_defconfig .config
# make menuconfig

もしくは直接configファイルを編集する方法もあります。
# cd /usr/src/linux-3.2.40
# cp  arch/arm/obsa6_defconfig arch/arm/obsa6_defconfig.orig
# vi arch/arm/obsa6_defconfig
# make obsa6_defconfig arch=ARM oldconfig



2.6.31の場合 (Debian 6.0 squeeze )
# cd /usr/src/linux-2.6.31
# cp arch/arm/configs/obsa6_defconfig .config
# make menuconfig

zImageおよび、ドライバモジュールの作成とインストール

# make zImage modules
# make modules_install

ファームウェアイメージの作成

3.2.40の場合 (Debian 7.1 wheezy )
# cd /usr/src
# gzip -9 < linux-3.2.40/arch/arm/boot/zImage > zImage.gz
# mkimage -n "OBSA6LXC 3.2.40" -A arm -O linux -T multi -C gzip -a 0x8000 -e 0x8000 -d zImage.gz:ramdisk-wheezy.obsa6.img.lzma uImage.initrd.obsa6

2.6.31の場合 (Debian 6.0 squeeze )
# cd /usr/src
# gzip -9 < linux-3.2.40/arch/arm/boot/zImage > zImage.gz
# lzma -3 < ramdisk-squeeze.obsa6.img > ramdisk-squeeze.obsa6.img.lzma
# mkimage -n "OBSA6LXC 3.2.40" -A arm -O linux -T multi -C gzip -a 0x8000 -e 0x8000 -d zImage.ramdisk-squeeze.obsa6.img.lzma uImage.initrd.obsa6

ファームウェアのFlashROMへの書き込み

# flashcfg -y -f uImage.initrd.obsa6

4.さいごに


ファームウェアを書き込む前に、ftpサイトからダウンロード出来る、標準構成のuImage.initrd.xxxファイルと、出来上がったファイルのサイズを比較することをおすすめします。


2013-07-25

[.tested] LXC 0.8.0-rc1 [Debian Wheezy][AX3][A6]



LXCはOSレベル仮想化ソフトウェアであり、VTを持たないOpenBlocks Aシリーズにおいても導入が可能です。 仮想化環境はクラウド環境を支える技術ですが、OpenBlocksのようなマイクロサーバ環境においても、コンテナ上で開発環境を構築することにより、開発環境の初期化や複製が簡単に行え、ミドルウェアのバージョンの違いによる環境の再構築などの作業も軽減出来ます。

このパッケージに関しては、、Debian 6.0 (Squeeze) 環境では、以下の記事においてlxc-0.7.5をビルドして評価を行っています。

 OpenBlocks AX3でLXCによる仮想化を試してみる

今回は、Debian 7.1環境ににおいてパッケージ提供される、lxc-0.8.0-rc1の導入について、その手順を報告します。

( 7/23 追記 )
Debian 7.1正式版が公開されましたので、再度検証しました。
Debian 7.1環境でlxcパッケージを試される方は、 上記リンクより、リリース版のファームウェアをご利用下さい。

OBDN技術ブログによる動作検証は、該当するソフトウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
Debian 7.1 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6 kernel: 3.2.40

<使用機器>
OpenBlocks AX3 DPパッケージ (もしくは、SSD搭載モデル)
OpenBlocks A6 DPパッケージ (もしくは、SSD搭載モデル)

1. カーネルの再構築


AX3の場合はカーネルの再構築は必要ありません。
A6の場合は、devptsが組み込まれていないため、再構築の必要があります。

A6のカーネル再構築のためには、開発環境が必要になります。
ユーザマニュアルに書かれた、タイムゾーン等の最初の設定、標準ツールのインストールに加え、基本的な開発環境をインストールしてください。

# aptitude install build-essential

また、ファームウェア構築のためには、mkimageが必要となります。

# aptitude install uboot-mkimage

当社ftpサイトより、カーネルソースファイルと、A6に対応したramdiskイメージを入手し、展開してください。

# cd /usr/src
# wget ftp://ftp.plathome.co.jp//pub/OBSA6/wheezy/3.2.40-0/linux-3.2.40-20130710-2.tar.gz

# tar xvzf  linux-3.2.40-20130710-2.tar.gz

A6のramdiskイメージ
# wget  ftp://ftp.plathome.co.jp//pub/OBSA6/wheezy/3.2.40-0/ramdisk-wheezy.obsa6.img.lzma

/usr/src/linux-3.2.40/arch/arm/configs/obsa6_defconfig
を編集します。

# diff -u obsa6_defconfig.org obsa6_defconfig
--- obsa6_defconfig.org 2013-07-23 13:55:33.000000000 +0900
+++ obsa6_defconfig     2013-07-23 13:56:47.000000000 +0900
@@ -1764,7 +1764,7 @@
 CONFIG_HW_CONSOLE=y
 # CONFIG_VT_HW_CONSOLE_BINDING is not set
 CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
 CONFIG_LEGACY_PTYS=y
 CONFIG_LEGACY_PTY_COUNT=16
 # CONFIG_SERIAL_NONSTANDARD is not set

上記のconfig情報を元に、カーネルの再構築を行います。

# cd /usr/src/linux-3.2.40
# make obsa6_defconfig arch=ARM oldconfig
# make zImage modules
# make modules_install

上記作業が終了したら、ファームウェアイメージを作成します。

# cd /usr/src
# gzip -9 < linux-3.2.40/arch/arm/boot/zImage > zImage.gz
# mkimage -n "OBSA6LXC 3.2.40" -A arm -O linux -T multi -C gzip -a 0x8000 -e 0x8000 -d zImage.gz:ramdisk-wheezy.obsa6.img.lzma uImage.initrd.obsa6

ファームウェアをFlashROMへ書き込みます。

# flashcfg -y -f uImage.initrd.obsa6

上記の作業に関しては、作業内容をご理解の上、自己責任の元に慎重に行ってください。
なお、現行ファームウェアと同様、正式なリリース時には上記変更を行ったカーネルへのアップデートが行われる場合もあります。

2. lxc-0.8.0-rc1およびオプションパッケージのインストール


debian 7.0 Wheezyにて提供される、lxcのバージョンは、0.8.0-rc1であり、今回はこのパッケージを導入します。
また、ネットワーク設定において、bridge-utilsが必要になります。

# aptitude install lxc bridge-utils

3. cgroupのマウント設定


/etc/fstabへ以下の行を追加します。

cgroup  /sys/fs/cgroup  cgroup  defaults  0   0

rebootするか、mount -aにてマウントを行ってください。

4. カーネルの構成チェック


カーネルがlxcを実行するために問題ない構成になっているかを、チェックします。
先にカーネルの構成情報をアップデートします。

# modprobe configs

# lxc-checkconfig
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled
Multiple /dev/pts instances: enabled

--- Control groups ---
Cgroup: enabled
Cgroup namespace: CONFIG_CGROUP_NSmissing
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: enabled
Cgroup cpuset: enabled

--- Misc ---
Veth pair device: enabled
Macvlan: enabled
Vlan: enabled
File capabilities: enabled

Note : Before booting a new kernel, you can check its configuration
usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig

Cgroup namespaceはCONFIG_CGROUP_NSのようですが、Linux Kernel 3.0以降では削除されているようなので無視します。

5. ネットワーク設定


/etc/network/interfaces より、eth0の記述を削除し、以下の記述を追加します。
固定アドレスにする場合は、dhcpではなく、staticに書き換え、必要な設定を追加してください。

auto br0
iface br0 inet dhcp
bridge_ports eth0

6. コンテナの作成


以下のコマンドでコンテナを対話的に作成することが出来ます。

# lxc-create -n test -t debian

ただし、そのままではうまく動作しません。
/var/lib/lxc/<コンテナ名>/configに以下の行を追加し、

lxc.devttydir                           = lxc

/var/lib/lxc/<コンテナ名>/rootfs/etc/securettyの以下の記述を変更してくささい。

lxc/console
lxc/tty1
lxc/tty2
lxc/tty3

また、別の方法としては、ここを参考にして、コンテナを作成する方法もあります。
この場合は、修正は特に必要ありません。

Usage: lxc-debian.sh <distribution> <container-name> <container-number>

# wget https://gist.github.com/raw/3008518/e3b87deb423ace3c67628fe501af79d46d9de04c/lxc-debian.sh
# chmod +x lxc-debian.sh
# ./lxc-debian.sh wheezy test 2

後述しますが、どちらの方法で作成したコンテナにおいても、inittabにおいて、consoleにgettyを割り付けることにより、起動+オペレーションが可能になります。


7. ゲストOSの起動、コンソール操作、停止、コピー


・ゲストOSの起動

# lxc-start -d -n test

起動のテストをする場合は、-dオプションを外して起動すると、エラー等の確認が出来ます。
そのままコンソールを出してオペレーションしたい場合は、 コンテナ内の/etc/inittabに、以下の行を追加してください。
立ち上げ前に作業する場合は、/var/liv/lxc/<コンテナ名>/rootfs/etc/inittabを編集します。

c0:2345:respawn:/sbin/getty 38400 console

上記の設定を行なわない場合は、別のコンソールからはlxc-consoleコマンドでログインします。

・コンソールへの接続

# lxc-console -n test

Ctrl+a q でコンソール操作を停止します。

・ゲストOSの停止

# lxc-stop -n test

・ゲストOSのコピー
 環境によっては、rsyncをインストールする必要があります。

# lxc-clone -o test -n test2

このコマンドは、環境をコピーしますが、新たに作成されたconfigが元の環境の設定そのままであるため、新たにコピーされたrootfsが指定されていません。
そのため、config内のコンテナ名を全て新しいコンテナ名に書き換える必要があります。

8.さいごに


今回、Debian 7.1(wheezy)環境でのインストール、起動の確認を行いました。
今後、上記環境を利用した、ソフトウェア検証等を行っていく予定です。

2013-07-24

【.tested】RATOC REX-USBDVI2 ディスプレイアダプタ [Debian Wheezy][AX3][A6]



RATOC REX-USBDVI2は、USBディスプレイアダプタです。
今回は、先日リリースされたDebian 7.1環境ににおいて本アダプタを使用したX環境の構築についての検証を行います。

( 7/24 追記 )
Debian 7.1正式版が公開されましたので、再度検証しました。
本デバイスを使用される方は、 上記リンクより、リリース版のファームウェアをご利用下さい。


OBDN技術ブログによる動作検証は、該当するハードウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
Debian 7.1 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6 kernel: 3.2.40

<使用機器>
OpenBlocks AX3 DPパッケージ (もしくは、SSD搭載モデル)
OpenBlocks A6 DPパッケージ (もしくは、SSD搭載モデル)
REX-USBDVI2 USBディスプレイアダプタ
OKI Minikeyboard Pro ポインティングデバイス付きミニキーボード

1. ドライバの準備


Debian Wheezyパッケージにより提供される3.2.40カーネルに標準で組み込まれたFrame Buffer用ドライバudlfbを使用します。
また、Debian Wheezyにより提供されるX環境は本ディスプレイアダプタに対応しているため、前回の評価で行ったような、ドライバの構築作業は必要ありません。

dmesgでは以下の様に表示されます。

udlfb: DisplayLink REX-USBDVI2 - serial #240450
udlfb: vid_17e9&pid_0129&rev_0001 driver's dlfb_data struct at eed33800
udlfb: console enable=1
udlfb: fb_defio enable=1
udlfb: shadow enable=1
udlfb: vendor descriptor length:29 data:29 5f 01 0027 00 04 04 01 00 03
udlfb: DL chip limited to 2360000 pixel modes
udlfb: allocated 4 65024 byte urbs
mousedev: PS/2 mouse device common for all mice
udlfb: 1280x1024 valid mode
udlfb: 720x400 valid mode
udlfb: 640x480 valid mode
udlfb: 640x480 valid mode
udlfb: 640x480 valid mode
udlfb: 640x480 valid mode
udlfb: 800x600 valid mode
udlfb: 800x600 valid mode
udlfb: 800x600 valid mode
udlfb: 800x600 valid mode
udlfb: 832x624 valid mode
udlfb: 1024x768 valid mode
udlfb: 1024x768 valid mode
udlfb: 1024x768 valid mode
udlfb: 1280x1024 valid mode
udlfb: 1152x864 valid mode
udlfb: 1280x1024 valid mode
udlfb: 1280x960 valid mode
udlfb: 1152x864 valid mode
udlfb: Reallocating framebuffer. Addresses will change!
udlfb: 1280x1024 valid mode
udlfb: set_par mode 1280x1024
udlfb: DisplayLink USB device /dev/fb0 attached. 1280x1024 resolution. Using 5120K framebuffer memory
usbcore: registered new interface driver udlfb

17inch液晶モニタに接続した状態で、fbsetは以下の値を返します。

# fbset -i

mode "1280x1024-60"
    # D: 108.003 MHz, H: 63.983 kHz, V: 60.021 Hz
    geometry 1280 1024 1280 1024 16
    timings 9259 248 48 38 1 112 3
    hsync high
    vsync high
    rgba 5/11,6/5,5/0,0/0
endmode

Frame buffer device information:
    Name        : udlfb
    Address     : 0xfa402000
    Size        : 2621440
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 0
    YPanStep    : 0
    YWrapStep   : 0
    LineLength  : 2560
    Accelerator : No


2. X環境のインストールと設定


・X11パッケージの導入

まずは、X11の環境をインストールします。

# aptitude install xorg

その他、ウィンドウマネージャ等、X11関連のパッケージリストは以下にありますので、環境整備に必要と思われるものをインストールしてください。

Debian リファレンス / 第7章 X Window システム

・Xorgの設定

特に設定の必要はありません。

3. Xの起動のテストと、ウィンドウマネージャの導入


起動の前に、A6の場合はswapを追加設定することをおすすめします。
標準状態では、swapは未使用の状態になっています。
設定方法に関しては、

OpenBlocks A6 FAQ: SWAPを設定するには、どのようにすれば良いですか

を参照してください。

# xinit

として、xを起動し、画面表示、入力デバイスの入力を確認してください。

Gnome環境の導入

今回のテストでは、以下の様にgnomeのパッケージをインストールしgdmによりログインが可能な状態としました。

# aptitude install gnome-desktop-environment


Debian Wheezyにはarmhf/armel版のLibreOfficeパッケージもあり、gnomeを入れると合わせて導入されるようです。


dpkg-reconfigure localesでja.UTF8を選択しておけば、環境は自動的に日本語表示環境となります。
日本語入力には、ibus-anthyを使用しています。( インストール後、システムツール-設定-iBusの設定で、インプットメソッドにAnthyを追加する必要がありました)

LXDEを使用した軽量な環境の導入

比較的軽い環境を導入したい場合は、LXDEなどがおすすめです。
必要最低限のものと、軽量なブラウザだけをインストールする場合は、以下の構成を試してみてください。

# aptitude install --without-recommends lxde
# aptitude install --without-recommends ttf-vlgothic
# aptitude install ibus-anthy
# aptitude install --without-recommends midori

ディスプレイマネージャとしては、lightdmなどがあります。

# aptitude install lightdm


dpkg-reconfigure localesでja.UTF8を選択しておけば、環境は自動的に日本語表示環境となります。
ibus-anthyは、起動後にiBusの設定によりインプットメソッドとしてanthyを追加して下さい。

4.さいごに


新しいDebian Wheezy環境にてREX-USBDVI2およびOKI Minikeyboard ProによるX環境の評価をしてみましたが、前回の様な作業が一切必要なく、非常に簡単に環境構築が行えました。
また、新ファームウェアおよびwheezy環境移行後は、本デバイスを用いたXの環境は安定して利用出来ています。



2013-07-23

OpenBlocks Aファミリ用 Debian7ベース ファームウェアの正式版を公開しました

こんにちは。OpenBlocksファミリの開発・技術担当の木村です。

かねてよりβ版として公開しておりましたOpenBlocks Aファミリ用の、Debian7ベースファームウェアの正式版を公開しました。

ご利用いただいた方々からの不具合の指摘の反映、カーネルの更新の他、細々とした修正を行っております。主な修正内容を以下に記します。

  • [共通] カーネルバージョンの更新 (3.2.36→3.2.40)
  • [共通] cronの動作が、UTC時刻に基づいていたのをJST時刻に変更した
  • [共通] ホスト名の変更が反映されない現象を修正
  • [AX3] flashcfgコマンドがsegmentation faultとなる現象の修正
  • [A6] GPIOが利用出来ない現象の修正
  • その他軽微な修正


ファームウェアの入手は以下サイトよりお願いします、


ご利用に際して、お困りの事、不具合等ありました場合には、サポート窓口までお問い合わせ下さい。

2013-07-16

[.tested] Net Commons [AX3][A6]

NetCommonsはCMS(Contents Management System)とLMS(Learning Management System)とグループウェアを統合したコミュニティウェアです。
学校や大学等教育機関をターゲットとして開発されてきましたが、多種多様なWebサイトを短時間で構築できることが認識され、それ以外のウェブサイトの構築でも利用が広がっています。


Net Commonsは以下の環境が推奨環境であり、Debian 6.0によりパッケージ提供されるapache、mysql、php環境での動作の確認を行いました。

Webサーバ :           Apache 1.3 もしくは 2 以降
PHP :                    PHP5.1.6 以降
データベース:          MySQL 5.0 以降
OS :                       Linux, Windows Server
推奨の組み合わせ: Linux, PHP 5.1.6, MySQL 5.0.22, Apache 2.2.3

OBDN技術ブログによる動作検証は、該当するソフトウェアの動作の保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
OpenBlocks AX3/4 Debian 6.0 kernel: 3.0.6
OpenBlocks A6 Debian 6.0 kernel: 2.6.31

2. 導入方法


A6の場合、swapを別途設定することをおすすめします。設定方法に関しては、

OpenBlocks A6 FAQ: SWAPを設定するには、どのようにすれば良いですか

を参照してください。

NetCommons 最新版の入手

NetCommonsの公式サイトより、最新版、2.4.1.0 Linux版を入手します。

ダウンロード - NetCommons2公式サイト:

apache2パッケージのインストール

# aptitude install apache2

php5パッケージのインストール

# aptitude install php5 php5-gd php-pear php5-mysql php5-curl php5-intl php5-xmlrpc

mysqlのインストール

Moodleパッケージををインストールする前に、mysqlをインストールし、データベースを作成します。

# aptitude install mysql-server

インストール時に、管理者(root)のパスワードを入力してください。

データベースの作成

# mysql -u root -p

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
+--------------------+
2 rows in set (0.00 sec)

mysql> CREATE DATABASE netcommons CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql>grant all on netcommons.* to netcommons@localhost identified by 'nc';
mysql> quit

データベース名: netcommons
データベースユーザ名: netcommons パスワード: nc
で設定しています。(環境に合わせて変更してください)

 netcommonsプログラムパッケージの展開

# tar xvzf NetCommons-2.4.1.0.tar.gz
# cp -R NetCommons-2.4.1.0/html /var/www
# mv /var/www/html /var/www/nc
# chown -R www-data /var/www/nc

WebインストーラによるNetCommonsのインストール/設定

Webブラウザより、

http://ホスト名orIPアドレス/nc

にアクセスし、インストールを開始します。

言語に日本語を指定します。


確認後、次へ、を押します。


サイト名称、データベース名、データベースユーザおよびパスワードを入力します。


確認をして、次へ、を押します。







管理者のハンドル、ログインID、パスワードを入力します。


確認して、次へ、を押します。



インストールを完了します。


 サイトのURLを入力し、動作を確認します。


今回は、http:/ホスト名/ncとしましたが、virtualホストなどを使用する場合は、apacheの設定などを変更して下さい。

3.さいごに


Debian 7.1 (wheezy)ベースファームウェアを使用する場合、導入されるphp5のバージョンが5.4になっており、net commonsでは5.4以降のバージョンの場合、不具合が確認されています。
インストール自体は、一部修正で回避することが出来ましたが、他にも細かい修正が必要なため、wheezyで使用する場合は、php5.3以前のバージョンを導入する方が現実的ですが、より現実的な解としては、Debian 6.0ベースのファームウェアを利用することをお勧めします。

(*)2014/05/15 追記
NetCommons 2.4.2.0において、PHP 5.4への暫定対応がされています。
AX3にて導入を行ってみましたが、 インストールなどでは特に問題はありませんでした。
ただし、公式ページにも書かれている通り、一通りの動作確認はした状態であり、基本的には、2.4系まではPHP5.3、先のリリースとなる2.5系ではPHP5.4への対応となっていますので、2.4系では暫定対応のみとなるようです。

--
2013/09/09

- メニューでプルダウンテンプレートを追加
- メニューでパンくずリストテンプレートを追加
- ルーム管理で参加会員エクスポート、インポート機能を追加
- 施設予約で時間枠機能を追加
- アンケートでキーフレーズ機能を追加
- アンケートで回答非表示機能を追加
- Todoにブロックコピー機能を追加
- PHP5.4暫定対応
- GitHub無視ファイルの定義を追加
- Thumbs.dbファイルを削除
- ソースコードのインデントを一部修正
- 会員登録で択一選択の必須入力エラーメッセージが正しく表示されるように修正
- カレンダーでセンターカラム以外に配置した時のデフォルトルームを表示しているルームになるように修正
- フォトアルバムがIE10で動作しない不具合を修正
--

なお、net commonsは、A6においても、規模によっては実用になる速度で動作します。
moodleと同じく、、実際に使用されている方が居られましたら、稼動の規模や使用感などをお聞かせ下さい。

2013-07-11

[.tested] Moodle [debian Wheezy/Squeeze][AX3][A6]

ムードル (Moodle) は、オープンソースのeラーニングプラットフォームです。
同種のシステムの中では比較的多くのユーザ数を獲得しており、国内でも多くのユーザに利用されています。
Moodleは多くのLinuxディストリビューションによりパッケージ提供されており、Debianにおいても、容易にパッケージインストールをすることが出来ます。


今回は、OpenBlocks AX3にて、データベースとしてMySQLを利用した場合のインストール手順について、最新パッケージである、2.5.1の導入方法について紹介します。

2013/8/1 更新
 Debian 7.1(wheezy)での検証も行いました。
 検証するパッケージは最新版の記事のみとしました。
 インストール時に、最初から日本語設定を行うように変更しました。

OBDN技術ブログによる動作検証は、該当するソフトウェアの動作の保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
Debian 6.0 squeeze
OpenBlocks AX3/4 kernel: 3.0.6
OpenBlocks AX6 kernel: 2.6.31
Debian 7.1 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6 kernel: 3.2.40

1. A6を使用する場合


A6に搭載されているメモリサイズでは、out of memoryが出るため、swapを別途設定する必要があります。設定方法に関しては、

OpenBlocks A6 FAQ: SWAPを設定するには、どのようにすれば良いですか

を参照してください。

2. 最新版 Ver2.5.1の導入方法


debianパッケージによる導入も可能ですが、今回は最新版のパッケージを導入します。

Moodle最新版の入手

Moodleのサイトより、Ver 2.5.1-latestパッケージを入手します。

Moodle.org: open-source community-based tools for learning:

wgetを使用する場合の例は以下の通りです。(2013/7/13現在)

# wget http://sourceforge.net/projects/moodle/files/Moodle/stable25/moodle-latest-25.tgz/download
# mv download moodle-latest-25.tgz

apache2パッケージのインストール

# aptitude install apache2

php5パッケージのインストール

# aptitude install php5 php5-gd php-pear php5-mysql php5-curl php5-intl php5-xmlrpc

mysqlのインストール

Moodleパッケージををインストールする前に、mysqlをインストールし、データベースを作成します。

# aptitude install mysql-server

インストール時に、管理者(root)のパスワードを入力してください。

データベースの作成

# mysql -u root -p

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
+--------------------+
2 rows in set (0.00 sec)

mysql> CREATE DATABASE moodle;
mysql> ALTER DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO moodleuser@localhost IDENTIFIED BY 'moodle';
mysql> quit

 moodleプログラムパッケージの展開

# tar xvzf moodle-latest-25.tgz
# mv moodle /var/www
# chown www-data /var/www/moodle

moodledataディレクトリの作成

# mkdir /usr/share/moodledata
# chmod 0777 /usr/share/moodledata

今回は、documetroot下にmoodledataを置いていませんが、置く場合は、.htaccessに、以下の様に記述して下さい。

order deny,allow
deny from all

WebインストーラによるMoodleインストール/設定

Webブラウザより、

http://ホスト名orIPアドレス/moodle

にアクセスし、インストールを開始します。

言語を選択します。jaにすれば、その後全て日本語でオペレーションされ、言語パックもjaに設定されます。


 moodledataのpathを入力します。


 データベースとしては、今回MySQLを選択します。


上記で作成したデータベース名および、ユーザ、パスワードを入力します。


 インストールをする場合は、了承して継続します。


インストールされているモジュールの確認画面。問題なければ継続します。


上記の継続操作から内部の処理のため、しばらく時間がかかります。
ただし、AX3 ( Debian 6.0 )、A6 (Debian 6.0/7.1)の場合、、max_execution_timeを超えてしまい、タイムアウトエラーにより導入途中で止まります。
この問題の回避方法はいくつか考えられますが、ひとつは、/etc/php5/apache2/php.iniの、
max_execution_timeの値を30から変更する方法があります。
(この評価では、240まで上げて、インストールが可能なことを確認しました)


 管理者についての情報を入力します。


サイトの情報を入力します。


ホーム画面が表示されます。


3.さいごに


moodleによるeラーニングシステムをOpenBlocks上で利用することにより、設置環境を選ばず、様々な教育現場でシステムを利用出来るのではないかと思います。
なお、A6に関しては実用的と言える速度にはなりませんでした。

AX3で実際に使用されている方が居られましたら、稼動の規模や使用感などをお聞かせ下さい。