G400の最近のブログ記事

今日ふらっと本屋に立ち寄ったらこんな物を見つけました。

090514_ebdlnx_1.jpg
「組み込みプレス Vol14」

G400を弄っていたこともあり、「組み込みLinux」に反応してつい買ってしまいましたVery Happy


組み込みLinuxの有名な例としてこういうボードがあるようで、Embedded Linuxを調べていたときにもこのボードの情報が結構ありました。
090514_ebdlnx_2.jpg
CAT/CAT760 - Silicon Linuxというものらしいです。


そして一番欲しかったクロスコンパイラに関する記述もあります!

090514_ebdlnx_3.jpg

大半は以下サイトで既に説明されているのですが、やはり日本語での情報が欲しかったんです
playing with the EPC 700


また、ついでといっては何ですが覚書ついでにこのサイトを翻訳しておきました。

EPC 700で遊ぶ - 7MC.ORG

クロスコンパイルに関する部分はそれほどありませんので結構適当です汗


せっかくヒントを得ることができたのですから、これをきっかけに久しぶりにG400と3MXを触ってみましょうかね。

未だに手探り状態ですが、もし何か進展があれば続編が書けるかもしれません。

Jan RinzeのTrendtacなページ
21/07/08 更新:
400 Mhzのラップトップを買ったら...私が手にしたのは335 MHz MIPSのLinuxおもちゃ機だったのです。 
"学ぶこと、遊ぶこと、創造すること、そして働くことは全て同じ: つまりは脳を楽しませるということだ :-)"
03/08/08 更新:
Trendtacを壊してしまいましたが何とか復旧しました。そしてその過程でuBootについてとFlashイメージの復旧について分かりました。 
"壊れていないなら弄らない方がいい。だがどうしても弄りたいのなら、まずは壊すことだ ;-)"

イントロダクション
クロスコンパイリング
ネイティブコンパイラ
JFFS2イメージのマウント
Flash内のカーネルを復旧
イントロダクション:
私は最近IntertoysでTrendtac EPC 700 (MIPS linux UMPC)を229ユーロで入手しました。購入時はこれが何なのか知らなかったので驚きました。これは決して本当のラップトップではないし、馬力は控えめに言っても弱いです。
しかし、だからといってこのラップトップがつまらないということではありません。それどころかこれはれっきとしたLinuxが動くエレクトロニクス機なのです。そして少なくとも私に楽しいハッキングの時間を与えてくれるはずです。

trendtac1.JPG

www.trendtac.nlにて小技やリカバリ(壊れたとき用)の手順などの有用な情報が見つかります。また、このサイトではコンソールアクセスの方法についても記載されています。このプラットフォーム向けのLinuxに関する更なる情報はIngenic Semiconductor Co, Ltd Webページlinux-mipsWebサイトを参照してください。

以下はコンソールの写真です。

 mips_linux1.jpg

次のステップ...適切なクロスコンパイラ環境:

このラップトップはJZ4730 SOC MIPS プロセッサを使用します。このプロセッサは現在デスクトップPCなどで使用されているx86シリーズのプロセッサとは違います。ソフトウェアをコンパイルしたり新しいカーネルをビルドするには、クロスコンパイラと呼ばれるものが必要です。このプロセッサに対応したクロスコンパイラを探しているならこのリンクを参照してください。ftp://ftp.ingenic.cn/3sw/01linux/00toolchain/

適切なtoolchainを入れることで2.4.20カーネルと2.6.24カーネルの両方をビルドすることができるようになります。カーネル用のソースや他のものも同じFTPサイトに置いてあります。

クロスコンパイラを解凍したら有名な'Hello World'のテストを始めてみます。

/* Hello World application */
#include <stdio.h>
#include <stdlib.h>

int main( int argc , char ** argv)
{
        printf("Hello World\n");
        return 0;
}

これをデスクトップPCのクロスコンパイラでコンパイルするには:

$ mipsel-linux-gcc -o hello ./hello.c
これでMIPS上で動くHelloという実行可能ファイルが完成しました。SDカード経由でラップトップに転送してテストしてみてください。
~ $ cd /SD/SD_1/
/SD/SD_1 $ ./hello
Hello World
/SD/SD_1 $
これで今コンパイルしたプログラムがMIPSラップトップで動作することが分かります。

ネイティブコンパイリング:

'Etch'ディストリビューション用のDebianレポジトリ内にはmipselプラットフォーム用のバイナリがたくさんあります。このリポジトリはパッケージを探すことができるので、gccと関連したソフトウェアを検索しました。その結果以下のファイルが見つかりました:


Debianパッケージは中にcontrol.tar.gz と data.tar.gz を含むアーカイブです。control.tar.gz は通常インストール後の動作やアンインストール用で、 data.tar.gz にはインストール時にルートディレクトリにコピーされるファイルが格納されています。なので、これらをEPC 700にインストールしたいなら各.debファイルから data.tar.gz を探し出してEPC 700上に展開します。
これを簡単に行うためのシンプルスクリプトは:
(注意:これは EPC 700 上でのみ利用可能です。また、上に挙げた.debファイルのみテスト済みですが、他の.debファイルは問題があるかもしれません。)

全ての.debファイルをSDカードへコピーし、以下のコマンドを入力します

cd /SD/SD_1/
for package in $( ls *.deb ); do ar -x $package data.tar.gz ; tar xzf ./data.tar.gz -C / ; done
rm ./data.tar.gz

ln -s /usr/bin/gcc-4.1 /usr/bin/gcc
  
これで必要なファイルがEPC 700の適切な場所にコピーされます。ln 宣言で新しいgcc-4.1へのソフトリンクが作成され、gccと入力されるだけで gcc-4.1を呼び出すことができるようになります
しかし残念ながらこれだけではまだ足りません。コンパイラを使用しようとしても新しくインストールされたライブラリが見つかりません。EPC 700のディストリビューションには適切なld.so.confがないので作成する必要があるのです。(この例は上手く行きますが、これは適切な方法ではないと考える人もいるでしょう)


echo "# default libc configuration" >> /etc/ld.so.conf
echo "/lib" >> /etc/ld.so.conf
echo "/usr/lib" >> /etc/ld.so.conf
echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig

これでライブラリが検出され、コンパイラのテストを続行することができます。
ここで
先ほどのhello.cというファイルを使用し、SDカードへコピーしました。


/SD/SD_1 $ cat ./hello.c
/* Hello World application */
#include <stdio.h>
#include <stdlib.h>

int main( int argc , char ** argv)
{
        printf("Hello World\n");
        return 0;
}

/SD/SD_1 $ gcc -o test ./hello.c
/SD/SD_1 $ ./test
Hello World 
/SD/SD_1 $

結果は良好です。これでEPC 700用のネイティブコンパイラが用意できました。しかしまだカーネルヘッダファイルがありませんし、インストールしたlibc以外の開発ライブラリもありません。また、浮動小数点や最適化の問題もあります。FPを使う場合、-O2 -O3は使ってはいけません。
どうやら現在
Debian Sidレポジトリ内でgcc 4.3用のmultilibに対応しているようですが、gcc 4.3EPC 700で動くかどうかは分かりません。

ルートファイルシステムのハッキング:

www.trendtac.nl リカバリーイメージを入手することもできます。解凍するとminifs.img Recovery_EPC700.img の2つのファイルが出力されます。minifs.img はリカバリ処理で内蔵Flashパーティションに直接コピーされるJFFS2イメージです。Recovery_EPC700.img tar bzipで圧縮されたファイルでルートファイルシステムを含んでいます。

この操作をする前に、必ず/dev/mtd0が存在しないことを確認してください!存在した場合、システムファームウェアを上書きしてしまう可能性があります!
デスクトップにJFFS2イメージをマウントすることで以下のメソッドを完了することができます。

modprobe mtdcore
modprobe jffs2
modprobe mtdram
modprobe mtdchar
modprobe mtdblock

mkdir /mnt/mips_image
dd if=
minifs.img of=/dev/mtd0
mount /dev/mtdblock0 /mnt/mips_image

これでJFFS2復旧ファイルシステムイメージの検査や変更が可能になります。
# ls /mnt/mips_image
bin  dir_1  etc   lib      lost+found  man  opt   root  share  tmp  var
dev  dir_2  info  linuxrc  make_sys    mnt  proc  sbin  sys    usr  wkw_sh
#
次に何をするかは決まっていませんが、どう進めていくかは分かるでしょう。カーネルのアップデートについては、現時点ではショートカットはありません。また、現在SDカードからブートする'簡単な'方法を模索中です。

Flash内のカーネルを復旧:

Flashイメージを弄った結果、動かなくなったラップトップが手元に残りました。どうやらmtdblock1をマウントしようとするのはいい考えではないようです。JFFS2は即座にパーティションをフォーマットしなおし、結果としてFlashイメージには'lost+found'フォルダのみでした。幸運なことに mtdblock1のコピーが残っていて、また大量の半田付け(RS232コンバーター)の結果シリアル接続でPC上からuBootプロンプトが可能でした。

 

また、uBootブートローダーを含むmtdblock0のコピーも取っていたので、バイナリを覗くことでuimageへのおもしろい参照を見つけることができました。uimageの読み込みの説明は新設にもプレーンテキストです。
なので、SDカードからuBootでフラッシュするためにカーネルを再読み込みするには:

> mmcinit
> fatload mmc 0 0x80600000 uimage
> nand erase 0x100000 0x180000
> nand write 0x80600000 0x100000 0x180000
> reset

これでカーネルはmtdblock0に復旧され、ラップトップは再び正常にブートするようになりました。

 

Original page: playing with the EPC 700

今回はG400の話題を。
前に発見した新ディストロ「3MX」のインストール作業をしてみたいと思います。
フリーゆえ自由度が高いことを期待して・・・。


まずは「3MX」のファイルを取得します。

ファイルはこちらからダウンロードできます。
MEGAUPLOADERから168MBあるファイルをダウンロードする必要があります。


インストール方法は上記ページにも書いていますが、


1.ファイルをダウンロードし、解凍する。
2. 中身をSDカードへコピーし、ラップトップに挿入する(電源は切っておくこと)。
3. F3キーを押しながら電源を入れると自動的にアップデートが開始する。アップグレード中は決して電源を切らないこと。
4. デスクトップ画面が表示されればアップグレードは終了。


手順は分かりましたので、上の手順でインストールしようとしてみましたが...
F3を押しながら起動してもうんともすんとも言いません。

他のハードはメーカのーのサイトにリカバリイメージがアップされていて、「3MX」もこのリカバリイメージとして配布されているのですが...
G-notebookのサイトにはリカバリイメージやファームアップなどのファイルは一切ありません。
どうやら他のハードのファームウェアと違い、このファームにはリカバリ機能が無いようです。

とりあえず情報を集めるために、OEM製品であるCnMBookのサイトを見てみます。

ファームウェアアップのページとリカバリのページを見てみると、


ファームアップは「Shift + FN + F1」、リカバリは「F3」で行けるようです。
SDカードをFAT16でフォーマットして、そこに各種イメージを置けばいいようです。

ただ、そもそもリカバリ機能が無いファームにはどうしようもありません。


仕方がないので、上のCnMBookのファームウェアを無理やり突っ込んでみました。
ファームウェアファイルをSDに置き、「Shift + FN + F1」を押しながら電源ONでいけます。
ファームアップ自体は一瞬で終わったのですが、システムが違うのでLinuxが起動する直前で無限ループしてしまいます。

気にせず電源を一度切り、SDにリカバリイメージを入れて、今度こそF3を押しながら起動するとリカバリが作動しました。
リカバリを実行するか、とか全フォーマットするか、など聞かれますが、全てEnterで続行。しばらくすると無事CnMBookのシステムが起動しました。

ファームウェアこそCnMBookになってしまいましたが、これでリカバリ機能が有効だということが分かりました。


あとは前述の通り3MXをインストールすればOK。
CnMBookの時よりやたら時間が掛かりましたが、無事3MXのインストールが終わりました。

090329_3mxv2.jpg
こんな感じでワルっぽいペンギンの壁紙とともに3MXが表示されます。
まだベータ版ということで毎回「startx」を入力しないとグラフィカルインターフェイスでは起動できません。

ちなみに、3Mとは「Matt's Mipsel Minibook linuX」のことだそうです。Mattとは3MXの開発者のお名前です。


さて、これで自由度の高いLinuxをインストールすることができました。
後は色々と触りつつ、少しずつカスタマイズして行こうと思います。

こんばんは。急にネットに全然繋がらなくなってて憤慨していたtakeruです。
実はファイアウォールの設定が"Block All"になってたのでした。単なるドジですRazz


ちょっと間が開いてしまいましたが、久しぶりにEPC(G400)ネタといきましょうか。
というのも、ここのところ進展がなくて情報収集ばかり行っていたのであまり書くことがなかったのです。

今回面白いネタを仕入れたので早速書いていきたいと思います。


前回までは内蔵Linuxを弄る方向で試行錯誤していましたが、情報収集の結果まさかまさかOSの入れ替えという方向がありました。
というのも、有志が集まってこの本体専用のOSが作られているということです。

CPU「Ingenic JZ4730」の紹介をしてくださっていたこのページからWinCE版の動画へのリンクをたどると、最後の方にどうやら「皆で集まってLinuxディストリビューションを作ってる」と書いてあります。


たどってみると、ここに集まってるようです。ネーデルランドだからオランダのサイトかな?


色々と辿ってみると、このノート(とOEM)は結構いろいろな場所で流通しているようで、いろんな名前で知られているようです。(はじめに見つけたのはギリシャのサイトですしね)
名前を挙げるだけでこれだけあるようです。コイツ(G-NETBOOK G400)はまだ知られていないようですが...。


Trendtac 700 EPC, Elonex One T, Linux Netbook, Maplin Minibook, Silverstar, Yinlips Micro PC, Sub Notebook, 3k Razorbook, Bestlink Alpha 400, HiVision Mininote, JAY-tech Jee-PC 400S, Letux 400 Linux Minibook, CnMBook, CnM Minibook, Novatech Minibook.....

そういえばBestlink Alpha 400といえばITmediaでも紹介されていましたね。今思い出しました。


それはさておき、そのおかげか、すばらしい先達たちの努力により既にこの本体用のディストリビューションが完成しているようです。
それは「3MX」というディストリビューションで、「LittleLinuxLaptop」で配布されています。


スクリーンショットを見てみると...

3mx-rc2-desktop-alpha400.png

凄い!まともなLinuxっぽくなってる!

ということで、次回はVannov-Systemとはおさらばして早速「3MX」を試してみたいと思います。
有志の方々が作ったとのことで、拡張性の高さを期待したです。
内蔵Linuxでは限界が見えていたので、これをきっかけに何か進展すればいいのですが・・・Roling Eyes

ここいらでスペックでも(製品ページに全て書いてありますが・・・)。
実際に使ってみて微妙に相違等があるんで、そこを修正しつつ補足します。


スペック概要

モデル名 G-NetBook 400
カラー ブラック/ホワイト/複数色
液晶サイズ 7インチワイド液晶
液晶解像度 800 x 480 (WVGA)
液晶の種類 TFT
グラフィックチップ Integrated with 2D GPU
CPU Ingenic JZ4730 366MHz (MIPS32)
メモリ PC133 128MB SDRAM
ストレージ オンボード 1GB / 2GB SLC NANDフラッシュ
OS 組み込みLinux
オーディオ ステレオサウンド
マイク 内蔵マイクx1
スピーカー 内蔵ステレオスピーカーx2
オーディオジャック x1(3.5mm)
オーディオジャック x1(3.5mm)
LANポート 10/100 Mbps / RJ-45
USBポート USB 1.1 x 3
カードリーダー SD(SDHC)
無線LAN 802.11 a/b
Bluetooth 無し
入力機器 80英語キーボード / 容量性タッチパッド
バッテリ 7.4V/2100mAh リチウムポリマー充電池
バッテリ寿命 実稼動 3.5時間
ACアダプター(出力) 9V, 20W
ACアダプター(入力) 100-240 VAC, 50/60Hz universal
重量 680g
サイズ(W x D x H) 220mmx152mmx31mm
保障 1年 (バッテリは6ヶ月)

ソフトSPEC G-NetBook 400 V0
OS 組み込みLinux (Kernel 2.6.xx w/ GTK+GUI)
対応言語 英語、簡体中国語、繁体中国語
インターネット ブラウザ Firefoxベース(旧α版 Firefox: Bon Echo)
メッセンジャー Pidgin (AOL,Yahoo Massenger,Google Talk,MSN,ICQ,QQ)
Webメール Hotmail,Yahoo,Google (https対応)
メールクライアント Sylpheed 2.4.8
ワーク ワード  Abiword 2.6.4
エクセル Gnumeric 1.8.2
PDFビューア ePDFVIEW 0.1.6
ファイルマネージャ PCMan File Manager 0.3.2.2
電卓 gCalculator
辞書 StarDict 3.0.1
カレンダー 内蔵ソフト
エンターテイメント メディアプレーヤー 内蔵ソフト
Flashプレーヤー 内蔵ソフト
フォトビューア GQView
ペイント 内蔵ソフト
システム設定 ネットワーク設定 Vannov NetworkManager
ワイヤレス設定 Vannov WlanKit
日付の設定 gpe-confベース(組み込みLinux標準ソフト)
サウンド設定 gpe-confベース(組み込みLinux標準ソフト)
アップデート Vannov SoftwareManager
テーマ&ロケール Vannov ThemeBox
対応画像フォーマット .gif .jpg .bmp .tiff .swf .jpeg .png .pcx .psd
対応音楽フォーマット MP3, WMA ,WAV, AAC, AC3
対応動画フォーマット .avi .mpeg .mp4 .asf .swf .wmv .3gp .amr .divx .ogg .mov
フラッシュ ADOBE Flash 6.0互換
Webフォーマット .htm .html .php

メーカーサイトの製品ページを参照(一部修正)

Firefoxは旧式ですが普通のブラウジングはそれなりにできます。
ただFlashのプラグインが無い(古い?)ためYoutubeなどは閲覧できないようです。
(スペックを考えると、再生できても追いつかない気もしますが)

その他の文書やマルチメディアも一通り対応しているので使えないことも無いですね。
使い勝手に関してはスペック相応のものに過ぎないかもしれませんが。

内蔵のSDリーダーはSDHCにも対応しています。
ただしファイルマネージャーが古いので3.5GBまでしか認識されません...。
これはソフト側の問題なのでやり様によっては解決できる問題でしょう。

あと、USB 1.1ってことが少し気になるかもしれませんが、そもそもSoC(CPU)が1.1にしか対応していないってことで仕方がありませんねConfused

そして大きな問題が、英語/中国語にしか対応していないことです。これが一番大きな障壁です。
これさえ何とかなればかなりマシになるのではないかと思うのですが...。
全体的に日本語を対象としていないソフトしか入っていないので厳しいところです。

文字入力システムとしてSCIMと中国語入力モジュールが入っているので、そこに日本語モジュールを追加できれば文字入力が可能になるはずです。
きちんとした日本語フォントを追加すれば日本語の表示も可能でしょう。

バッテリの駆動時間は3.5時間となっていますが、実測値での時間は不明です。
海外のレビューでもテストされていなかったので、今度簡単に測ってみたいと思います。

PlayAsia.com

Play-Asia.com - コンソール、PC対応ビデオゲームを購入-日本、韓国、その他の地域へ発送!

Amazon