デビアンな生活 2012年10月

デビアンな生活

日本語コンソールベースのDebianTIPS集として始めたが、結局LXDEになってしまった。

VirtualBox

LXDEのセットアップができたので、いよいよVirtualBoxをインストール。XP modeのVHDをVDIに変換したものセットして起動。あとは、以下を参考に、hexeditで、/usr/lib/virtualbox/VBoxDD2.soを書き換えて、BIOSの0x0f9146からSLC文字列が入れば、認証が省略できる。
http://aves-ramphastos.blogspot.jp/2012/08/xpmodevirtualbox-2nd-season.html
Windows XPのセットアップが無事終わったら、Guest Addisionsをインストールして、BeckyのフォルダをShared Foldersに設定した。
最後に、Windows XPにBeckyをインストールして、既存フォルダを選択した。
Pentium M 2.0Gの1Gメモリで、Beckyが問題なく使用できて、感激。
スポンサーサイト

LXDE使用開始

電気代も節約したいし、メインのWindowsをわざわざ立ち上げるのも面倒になってきた。でも、メーラーにBeckyさんを共有して使っているので、sylpheedに直ぐに移行するわけにいかず迷っていたが、VirtualBoxでWindows XPが快適に動けば解決することに気がついた。
そこでまず軽量のLXDEを入れてみた。いままで、コンソール+rootでやっていたが、ubuntu風にLXDEは標準ユーザを使うことになした。
まず、aptitudeでLXDEをインストール。次に、パッケージ管理用にsynapticをインストールして、移行する。日本語は、ibusibus+anthyをインストール。
Web Browserはepiphanyがあるが、なぜかgoogel adsenseが表示できないのでiceweaselもインストール。flash playerは、ダウンロードしたlibflashplayer.soを/usr/lib/.mozilla/pluginsに入れておけば、epiphanyはOKだが、iceweaselがクラッシュする。原因がわからないので、とりあえずiceweaselでは、pluginsをdisableにする。
PDFビューワーにはevince、アーカイバーにはxarchiverがインストール済みなので、pcmanfmに登録しておくと便利。
login windowのsecurityでautomatic loginをセットしておけば、標準ユーザでLXDEが立ち上がるので、CTRL+ALT+F1とALT+F7で、いままでのrootコンソールと切り替えることができる。
もっとも、大画面が不要ならRoot Terminalで用が済んでしまうし、rootでログインしていると、LXDEからshutdownできない。
とうとう、コンソールで頑張るポリシーが終わってしまったで、カーネル再構成も不要で、デフォルトに戻してしまった。結構快適に使えて、楽しい。

STM32F4 Discoveryも買いました

H8-3069Fが面白かったので、ついSTM32F4 Discoveryも買ってしまいました。Floatユニットがあるなんて、PC9801に8087を載せた時以来の感激です。
でも、使い古された3069Fと違って、ハードルが高そう。
とりあえず、audio_playback_and_recordのsampleをEWARMでコンパイルして、ST-LINKで書き込んでみた。イヤホンを差し込むとちゃんとループの音楽が聞こえて感激。
次はOSだ。サンプルにもFreeRTOSが含まれているが、組込み目的のミニマルセットで面白くない。OSにはシェルがなければ。BeRTOSはいろいろ揃っていて面白そうだが、まだF4用はなさそう。ChibiOS/RTはFreeRTOSと同じようだし。
といううわけで、探しているとnuttxが面白そう。STM32F4 Discoveryに対応しているし、nshというシェルも載っている。FreeRTOSより必要なリソースが多そうだが、STM32F4 Discoveryでは気にならない。
コンパイルするには、UNIX環境が必要そうなので、気は進まなかったが、Cygwinをインストールしてみた。何とか、努力したがnuttxのコンパイルができず、STM32F4 DiscoveryについてのREADMEを読むと、Cygwin環境はお勧めではなさそう。
結局、VirtualBoxをインストールして、実績のあるubuntu 11.04をセットアップした。debianと環境はほとんど同じだが、rootでないので、sudoがうっとおしい。
まず、arm-gccのセットアップからだが、以下の必要なパッケージをインストール。
git zlib1g-dev libtool flex bison libgmp3-dev libmpfr-dev 
libncurses5-dev libmpc-dev texinfo libftdi-dev autoconf
gperf

よく引用されているhttps://github.com/MikeSmith/summon-arm-toolchain.gitのレポジトリーはもうないようなので、以下からダウンロードしてコンパイル。
git clone git://github.com/esden/summon-arm-toolchain
cd summon-arm-toolchain
./summon-arm-toolchain

newlibのダウンロードに失敗するので、別にダウンロードしたnewlib-1.19.0.tar.gzをあらかじめsourcesディレクトリに置き、stampsディレクトリにnewlib-1.19.0.fetchファイルを作っておく。
かなり時間はかかったが、親ディレクトリーにsatができるので、.profileを編集して、PATH=$PATH:$HOME/sat/binでPATHを通しておく。
次に、nuttxの設定メニューを使うために、kconfig-frontendsをダウンロードする。最新は、kconfig-*にコマンド名が変わっているので、nuttxのレポジトリーから、kconfig-frontends-3.3.0-1.tar.gzをダウンロードしてインストール。
cd kconfig-frontends-3.3.0-1
./configure
sudo make install
ldconfig

最後に、本体nuttx-6.22.tar.gzとapps-6.22.tar.gzをダウンロードして、コンパイル。
tar xvf nuttx*
tar xvf apps*
ln -s nuttx-6.22 nuttx
ln -s apps-6.22 spps
cd nuttx
cd tools
./configure.sh stm32f4discovery/nsh
cd ..
make menuconfig
. ./setenv.sh
make

これで、nuttx.binができるので、windows7に移してボードに書き込み。
USART2がコンソールになるので、冗長になるが、下記の回路でレベル変換して、シリアル接続したのちUSB変換ケーブルでwindows7に接続。材料は秋月電子通商でICセットI-03030の300円とDサブ9ピンK-05406の150円。
USART2レベル変換
teraterm-4.75でシリアル接続(115200bps8n1)して、リセットするとnshが動いた。
NuttShell (NSH) NuttX-6.22
nsh> help
help usage: help [-v] []

[ dd help mkfifo set usleep
? echo kill mh sh xd
cat exec losetup mw sleep
cd exit ls ps test
cp free mb pwd unset

Builtin Apps:
nsh> ls
/:
dev/
nsh> ls dev
/dev:
console
null
ttyS0
nsh> free
total used free largest
Mem: 193312 6688 186624 126288
nsh>

とりあえず、何もできないが、nshはアプリの追加ができるし、nuttx本体はいろいろ周辺のコンフィグレーションができそうで楽しみ。

FC2Ad