2017-08

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Mini-102MGプリントサーバーを小型のLinuxボックスに改造 その2

前回に引き続きMini-102MGにOpenWRTを導入する方法を紹介します。
今回の内容はOpenWRTのファームウェア構成用の開発環境導入についてです。

通常のルーターであれば、自前でファームウェアをコンパイルする必要がないのですが、
Mini102MGの場合はブートローダであるCFEが特殊なことと、
ファームウェアに使用できるフラッシュの容量が1.7M程度しかないため自前で必要な機能を追加してコンパイルをします。

環境構築にはLinuxが必要になるのでVirtualBox上にUbuntuをインストールして開発環境を構築しています。
では、詳しく説明していきます。

最初にOpenWRTのソースコードをsubversionを使って取得します。
svn co svn://svn.openwrt.org/openwrt/trunk

以下のURLから
https://dev.openwrt.org/ticket/7672

bcm47xx-flash.c.patch
PS-1208MFG.mk
toolsmakefile.patch
lzmaloaderps1208mfg.patch
makefiletools.patch
trx2edips.c
ps1208mfgdetection.patch
をダウンロードします。

これらのダウンロードしたパッチをpatchコマンドを使ってOpenWRTのソースコードに適応していきます。
以下のシェルスクリプトを使用してパッチを実行します。
TARGETにsvnで取得したOpenWRTのディレクトリを設定します。


#!/bin/sh
TARGET=
patch $TARGET/target/linux/brcm47xx/files-2.6.34/drivers/mtd/maps/bcm47xx-flash.c bcm47xx-flash.c.patch
cp PS-1208MFG.mk $TARGET/target/linux/brcm47xx/profiles/
patch $TARGET/target/linux/brcm47xx/image/lzma-loader/src/decompress.c lzmaloaderps1208mfg.patch
patch $TARGET/target/linux/brcm47xx/image/Makefile makefiletools.patch
cp trx2edips.c $TARGET/tools/firmware-utils/src/
patch $TARGET/package/broadcom-diag/src/diag.c ps1208mfgdetection.patch


trunk版を使用しているため、パッチファイルを適応できない場合があります。
その場合はパッチファイルの中身を参照してソースコードを変更してください。

その後svnで取得したフォルダへ移動し、
make menuconfig

以下のように設定を変更します。
とりあえず、これは私が使っている構成です。
必要ならば各自で追加してください。


Target Profile => Edimax PS-1208MFG
Advance configuration option (for developers) => *
Build the OpenWrt Image Builder => *
Build the OpenWrt SDK => *
Build the OpenWrt based Toolchain => *

Base System
dnsmasp => M
dropbear => M
libpthread => M
libstdcpp => M
wireless-tools => M

Network
crda => M
hostapd => M
hostapd-utils => M
iw => M
uhttpd => M
wpa-supplicant => M

Libraries
libiw => M

Kernel modules
=> I2C support -> kmod-i2c-core => M
=> I2C support -> kmod-i2c-algo-pcf => M
=> I2C support -> kmod-i2c-algo-pca => M
=> I2C support -> kmod-i2c-algo-gpio => M

Other modules
=> kmod-bluetooth => M

Proprietary BCM43xx Wifi driver
=> kmod-brcm-wl => M

USB Support
=> kmod-usb-serial => M
=> kmod-usb-video => M

Video Support
=> kmod-video-uvc => M

Wireless Support
=> kmod-b43 => M



Makeします。
make V=99

数時間ほどかかりますのでゆっくりと待ちましょう。

今回は以上です。
一部おぼろげな記憶で書いたので、エラーが出るかもしれません。

次回からはルーターへのプログラム書き込みです。


● COMMENT FORM ●

ようつべからきました。
OpenWRTでいいならfoneraでもロボット動かせるのかしら?
ハード系はさっぱりだったのですが、凄く興味がわきました。

Re: タイトルなし

> ようつべからきました。
> OpenWRTでいいならfoneraでもロボット動かせるのかしら?
> ハード系はさっぱりだったのですが、凄く興味がわきました。

ありがとうございます。
このロボットの回路はシリアルポート経由で動かせるように作ってあるので
foneraでもロボットを動かすことができます。
USB付きのfonera2.0でないとWebカメラは付けれませんが…。


管理者にだけ表示を許可する

トラックバック

http://chicklab.blog84.fc2.com/tb.php/19-5ee5c803
この記事にトラックバックする(FC2ブログユーザー)

NEW ENTRY «  | BLOG TOP |  » OLD ENTRY

カレンダー

07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

FC2カウンター

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

未分類 (7)
日記 (7)
wiiremote (1)
google (1)
回路 (3)
psp (1)
programing (15)
linux (0)
OpenWRT (3)
kinect (1)
Raspberry Pi (8)

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

google adsense

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。