2013/05/18(土)ubunto12.01TLS install

メインマシンのWin7が不調になってきたのと、buildまわすのに仮想マシンがきついので
思い切ってメインマシンにLinux OSを持ってきた。
本家から64bit版のinstall diskを持ってきてインストール。GUIでサクサク…。
$ uname -a
Linux UD02Ubuntu 3.5.0-30-generic #51~precise1-Ubuntu SMP Wed May 15 08:48:19 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
winとちがって、64bitの恩恵が受けられるのはprocess空間のメモリサイズのようで、
物理メモリは4GBを越えても認識。利用される模様。

まぁ時代の流れってことで、64bit環境になれておきましょう、ということにしましょう(ぉ

日常利用ソフトの用意

chromeインストール

sudo apt-get install libxss1
sudo dpkg -i google-chrome-stable_current_amd64.deb

普段使いのコマンド

よもやtreeが無いとは思わなかった.. orz
sudo apt-get install tree

mikutter

twitter clientとして。Ruby + ruby-gtk2が必要なので、Ubuntu11ではソースインストールが必要ぽい。
サイトから付ぃアルを拾ってきて、展開する。Ruby-gtk2入れておけば実行される。

usr/local/bin/mikutter/

ruby

http://jurakudai.blog92.fc2.com/blog-entry-19.html
http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz/
$ wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
$ ./configure -prefix=/usr/local
$ make
$ make install
$ sudo make install
$ tar xf ruby-2.0.0-p195.tar.bz2 
$ cd ruby-2.0.0-p195/

$ ./configure --prefix=/home/yuichi/vroot
$ make
$ make test
$ make install


http://ruby-gnome2.sourceforge.jp/ja/

ほか

これからvimになれていきましょう
sudo apt-get install vim


cross compiler

$ sudo apt-get install ia32-libs ia32-libs-gtk
$ sh arm-2011.03-41-arm-none-linux-gnueabi.bin
っと、インストール前に環境がアカン言われますね。
The installer has detected that your system uses the dash shell
as /bin/sh.  This shell is not supported by the installer.
You can work around this problem by changing /bin/sh to be a
symbolic link to a supported shell such as bash.
For example, on Ubuntu systems, execute this shell command:
   % sudo dpkg-reconfigure -plow dash
   Install as /bin/sh? No
Please refer to the Getting Started guide for more information,
or contact CodeSourcery Support for assistance.
$ ./CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc --version
arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2011.03-41) 4.5.2
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
最新は、以下の版になる模様。環境混在も厄介だけど、どうするかな-。
少し様子見してみるか。Coretex-A9をターゲットと考えると、新しいほうが初期の不具合が落ちてるかな...?
Sourcery CodeBench Lite 2013.05-24
This release was made on 7 May 2013.

git

最新版に追いついていないけれども、とりあえず手を抜いてapt-getしておく。
不都合が出はじめたら移行を考えます(こればっかりかよ)
sudo apt-get install git
[b:git-completion]は、関連パッケージでinstallされる模様。
入らなければ、以下のように個別に追加...
sudo apt-get install bash-completion

$HOME/.profile に、次の行を追加
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi
参考:
https://github.com/bobthecow/git-flow-completion/wiki/Install-Bash-git-completion

2013/04/21(日)TLブクマ

ブックマーク

ジャンル小分けしてblog書いていくのはキツいですね...
linux/VM系のネタなのでこちらへ.

uARM

TLで楽しそうなことがあったので回収.
8bitマイコンでARM emulateして Linuxうごかそうぜ、というcoolなネタ.
Linux on an 8-bit micro?

経歴を見てみると納得というか、VMwareに関わっていてgoogleに雇用してもらえるようなsoftware developperですな.
VM作る参考ネタにもなるので、エンジョイしましょう(ぉ

昔、ワンパスのZ80ディスアセンブラ作ったのと似たようなかんじですね。
淡々とバイナリを拾って、命令を解釈して、内部レジスタやペリフェラルに埋め込んでいく。
コプロやペリフェラルの挙動をエミュレートするのがキモになるでしょうし、
ハードウェアとの協調設計を考慮すると、絶妙な割り込みタイミングとか、クリティカルな挙動を
どこまでエミュレートできるか、ですね。インプリマターな部分もあるので、
チップベンダがOK出してこないと、コンパチにはならないのかもしれませんが。

まぁ、そんなこと気になるような実装するなよと云う気がするのですが…

2013/04/19(金)2013-04-19

memory leakの調査がしたい.

http://blog.thewebsitepeople.org/2011/03/linux-memory-leak-detection/
http://elinux.org/Runtime_Memory_Measurement

proc配下の情報

https://www.kernel.org/doc/Documentation/filesystems/proc.txt

kernel versionやarchitectureによって、有効無効があるみたい。
互換性は維持するようにはしているようだけれど、
確実なのは使用しているkernel sourceを読むこと。

2013/04/05(金)環境

httpでpushできない

git push remote-name branch-name
fatal: git-push is not available for http/https repository when not compiled with USE_CURL_MULTI
fatal: git-http-push failed
ソースビルドしたgitだったので、build-optionに抜けがあったみたい.
USE_CURL_MULTIを指定しなければならなかった模様。
これ名前からして、curlコマンドがいりそうね.