2011年9月18日日曜日

PLANEX ちびファイ MZK-RP150N

PLANEX の超小型 Wi-Fi ルータ MZK-RP150N を購入。

こいつはいい~!
予想よりだいぶ小さかった。
大きさは、RJ-45 のコネクタ 6 個分程度といったところ。

この小ささで、一通りの機能が揃っている。
コンバータモードに設定すると、Wi-Fi -有線中継器にもなる。
いたれりつくせり。

USB 給電、11n/b/g 対応。
ちょっとルータ挟んで実験したい時に使えそう。

裏に MAC アドレスはもちろん、出荷時の設定値が全部書いてあるのがまた気が利いている。

● Wi-Fi, ルータ, router, PLANEX, プラネックス, PCI, 802.11n, 11n, 11b, 11a, USB 給電

2011年8月21日日曜日

ccache で再コンパイル時間を短縮

ccache を使うと、再コンパイルの時間を短縮できる。
Ubuntu で設定する場合のメモ。

1. ccache をインストール

# apt-get install ccache

2. 環境変数 PATH を設定

.bashrc に書いておくと良い。

export PATH=/usr/lib/ccache/:$PATH

3. あとは普通にコンパイルするだけ

キャッシュは ~/.ccache に作成される。

ccache -s統計情報を表示
ccache -z統計情報を削除
ccache -Cキャッシュを完全削除

● ccache, 再コンパイル, compile, 時間, 短縮, cache, キャッシュ, build, ビルド, make, gcc

Android ソースを http 経由で取得する ( corkscrew 無しで )

Android ソースを corkscrew 無しでダウンロードする方法。

1. repo をダウンロードして編集

$ mkdir mydroid
$ cd mydroid
$ curl http://android.git.kernel.org/repo > repo

$ grep "git://" repo
REPO_URL='git://android.git.kernel.org/tools/repo.git'

$ vi repo
(変更前)
REPO_URL='git://android.git.kernel.org/tools/repo.git'
(変更後)
REPO_URL='http://android.git.kernel.org/tools/repo.git'

2. manifest.git をダウンロード

通常 git:// のところを http:// に変える。

$ repo init -u http://android.git.kernel.org/platform/manifest.git -b froyo

3. .repo/maniefst.git を編集

$ grep "git://" .repo/manifest.xml
           fetch="git://android.git.kernel.org/"

$ vi .repo/manifest.xml
(変更前)
           fetch="git://android.git.kernel.org/"
(変更後)
           fetch="http://android.git.kernel.org/"

4. .repo/repo/repo を編集

$ grep "git://" .repo/repo/repo
REPO_URL='git://android.git.kernel.org/tools/repo.git'

$ vi .repo/repo/repo
(変更前)
REPO_URL='git://android.git.kernel.org/tools/repo.git'
(変更後)
REPO_URL='http://android.git.kernel.org/tools/repo.git'

5. repo sync を実行

$ repo sync

参考:
http://d.hatena.ne.jp/hotomaru/20110406/1302089347
まさおのブログ (表): proxy サーバ経由で git を使う方法

● corkscrew, 無し, http, 経由, git, android, source, ソース

2011年7月23日土曜日

cut コマンドメモ

"=" (イコール) とかで区切られた設定ファイルから設定値を抽出するときのメモ。
cut を使う。

設定ファイルサンプル

$ cat hogehoge.txt
AAA=100
BBB=200
CCC=300

この設定ファイルサンプルから、BBB の設定値 200 を抽出。
デリミタ "="、フィールド 2 番目

$ grep BBB hogehoge.txt | cut -d "=" -f 2
200

awk 使うより軽そうだ。

$ grep BBB hogehoge.txt | awk -F "=" '{ print $2 }'
200

● cut, awk, delimiter, field, 抽出

2011年5月11日水曜日

FHS ( Filesystem Hierarchy Standard )

組み込み系の開発で、ファイルの配置に迷ったら、これを読むべき。

Filesystem Hierarchy Standard

( 印刷して、風呂で読んどくか )

● ファイル, ディレクトリ, 配置, ファイルシステム, file, dhirectory, filesystem, hierarchy, standard, FHS,

Ubuntu syslog サーバを立てる

Ubuntu で syslog サーバを立てるときの設定。
リモートからのアクセス可にする設定。

Ubuntu 8.04 の場合

# vi /etc/default/syslogd
SYSLOGD="-r"

Ubuntu 10.04 の場合は、rsyslog になってるなぁ。
何もしなくてよいかも。
または /etc/default/rsyslog を設定すればいけそう (動作未確認)

■ 2014/05/05 追記

Ubuntu 12.04 (64bit) の場合は、/etc/rsyslog.conf を編集。

# vi /etc/rsyslog.conf

(下記のコメントを外す)
$ModLoad imudp
$UDPServerRun 514

あと、/dev/xconsole が必要。

# mkfifo /dev/xconsole

DNS の逆引きをさせないようにするには、/etc/default/rsyslog を編集して "-x" を追加すれば良い。

# vi /etc/default/rsyslog

("-x" を追加)
RSYSLOGD_OPTIONS="-c5 -x"

設定変更後、rsyslog をリスタートする。

# /etc/init.d/rsyslog restart

● syslog, 8.04, 12.04, server, サーバ, リモート, syslogd, remote, DNS, 逆引き, 重い, rsyslog

2011年5月3日火曜日

Ubuntu 10.04 で Canon PIXUS 850i を動かす

Ubuntu ってよくできてるなぁ。
「システム」→「システム管理」→「印刷」
「追加」 を選んで、
新規プリンタで 「Canon 850i」を選択して、
「Canon i850」を選べば OK 。
この組み合わせで使っている人は、あまりいないかもしれませんが…。

● Ubuntu, 10.04, Canon, PIXUS, 850i, キャノン, ピクサス, プリンタ, printer, ドライバ

2011年4月29日金曜日

scp コマンドのメモ

scp コマンドの使い方メモ

$ scp FILE_NAME USER@HOST_NAME:PATH

(例)

$ scp hogehoge.txt masao@192.168.0.10:/tmp/

● scp, ssh, copy, 転送, 使い方

svn: Can't convert string from native encoding to 'UTF-8'

Subversion を使っていて、このエラーが出るときがある。
svn: Can't convert string from native encoding to 'UTF-8'
ファイル名が SJIS のときに出る時がある。
LANG=ja_JP.UTF8 だけではだめで、
LC_ALL=ja_JP.UTF8 を設定すれば、とりあえず OK。
これで凌ぐか。

ファイル名の文字コードを調べるには kcc を使えば良い。
まさおのブログ (表): 日本語ファイル名の文字コードを変換 参照。

● Subversion, svn, convert, string, encoding, UTF8

2011年4月17日日曜日

任意サイズのファイルを作る

Linux で任意サイズのファイルを作る方法のメモ。

100MB のファイルを作る場合の例。

$ dd if=/dev/zero of=hogehoge bs=1M count=100

入力に、/dev/urandom を使うと中身がランダムなファイルができる。

$ dd if=/dev/urandom of=hogehoge bs=1M count=100

任意の 1 バイトのファイルを作る。(ファイルの中身を 0xff にしたい場合)

echo "010000: ff" | xxd -r -s -0x10000 > hogehoge

全データが 0x5A の 2112 バイトのファイルを作る。

for i in `seq 1 2112` ; do
    echo -en '\x5a'
done > All_0x5A_2112byte.bin

● 任意, バイト, サイズ, byte, size, 作る, 生成, 作成, dd, urandom, echo, バイナリ, binary

2011年4月10日日曜日

bootchart を手動で組み込む

bootchart を手動で組み込むときのメモ。

1. bootchart をダウンロード

ここからダウンロードする。
現在の最新バージョン Ver.0.9。
http://www.bootchart.org/

2. bootchart の準備

ダウンロードした tar.bz2 アーカイブを展開。

$ tar jxvf bootchart-0.9.tar.bz2

bootchartd, bootchartd.conf を対象システムのファイルシステムにコピー。

$ cd bootchart-0.9/script/
$ cp bootchartd TARGET_ROOT/sbin/bootchartd
$ cp bootchartd.conf TARGET_ROOT/etc/bootchartd.conf
  ( bootchartd.conf を編集し、ファイルの書き出し場所はシステムにあわせて変更する。 /tmp とか )

3. カーネルソースを編集 ( または、起動オプションを変更? )

TARGET_LINUX_SOURCE/init/main.c を編集し、/sbin/init を起動しているところを書き換え、
/sbin/bootchartd が起動するように変更する。

$ vi LINUXSOURCE/init/main.c
下記のように変更
(変更前) run_init_process("/sbin/init");
(変更後) run_init_process("/sbin/bootchartd");

4. ターゲットシステムを起動

bootchartd が init を呼びだすので、準備が整えば、起動するだけで OK。
ターゲットで /sbin/bootchartd stop を実行すると、/etc/bootchartd.conf 内の BOOTLOG_DEST で指定した場所に、bootchart.tgz が作成される。

# /sbin/bootchartd stop

5. bootchart.jar を生成

bootchart.tgz を /var/log/ ディレクトリにコピーしておく。

$ cp bootchart.tgz /var/log/bootchart.tgz

bootchart.tgz を PNG 形式に可視化する。

Java のソースをビルドしておく。

$ cd bootchart-0.9/
$ ant
  ( ant がインストールされていない場合は、apt-get install ant でインストール )

Java プログラムを実行する。
/var/log/bootchart.tgz の内容がパースされ、bootchart.png ファイルが生成される。

$ java -jar bootchart.jar

6. PNG ファイルを表示する。

$ display bootchart.png

● bootchart, 組み込み, Linux, ターゲット, target

2011年3月31日木曜日

date コマンド メモ

date コマンドの書式をメモ。

# date 033122152011
または
# date -s "2011/03/31 22:15:00"

busybox の date は、ちょっと違って下記。
ピリオドとハイフンで区切る。

# date -s "2015.01.30-11:39:00"

● date, コマンド, 書式, 設定, 日時, busybox, 時刻

2011年3月12日土曜日

32bit 版 Ubuntu で PAE を有効にして 3GB 以上のメモリを使う

32bit 版 Ubuntu で 3GB 以上のメモリを使用したい場合、kernel ビルド時に PAE オプションを有効にする必要があります。

1. CPU が PAE に対応しているか確認

# cat /proc/cpuinfo | grep pae

flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush
 dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc
 arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl
 vmx smx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority

2. kernel のコンフィグで PAE を有効にする

Processor type and features  --->
  High Memory Support (64GB)  --->
    -*- PAE (Physical Address Extension) Support

3. kernel をビルドして、再起動。

# cat /proc/meminfo

(PAE 無効の場合)
MemTotal:        3354200 kB
MemFree:          117236 kB
Buffers:          115572 kB
Cached:          2385400 kB
SwapCached:            0 kB
Active:          1807556 kB
Inactive:        1251840 kB
…

(PAE 有効の場合)
MemTotal:        4120476 kB
MemFree:         3674100 kB
Buffers:           36324 kB
Cached:           170856 kB
SwapCached:            0 kB
Active:           240784 kB
Inactive:         164056 kB
…

■ メモ
自宅の PC 環境 ( DELL Inspiron 530 + Ubuntu 10.04 ) で試したとき、
PAE 対応カーネルで起動しても 3GB までしか認識されず。
調べてみると、BIOS が Memory Remapping に対応してないと認識されないとのこと。
早速 BIOS をアップデート (1.0.3 → 1.0.18) してみたら、認識されました。

● kernel, PAE, 3GB, memory, 認識, 4GB, 32bit, BIOS, remapping, リマッピング

2011年2月28日月曜日

RAM speed と type をチェックする方法

Ubuntu で RAM speed と type をチェックする方法。

# dmidecode --type 17

出力例。

# dmidecode 2.9
SMBIOS 2.5 present.

Handle 0x0025, DMI type 17, 27 bytes
Memory Device
    Array Handle: 0x0024
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM1
    Bank Locator:
    Type: DDR2
    Type Detail: Synchronous
    Speed: 667 MHz (1.5 ns)
    Manufacturer: 7F7F7F0B00000000
    Serial Number: EA0D2F3D
    Asset Tag: 0D0739
    Part Number: NT1GT64U8HB0BY-3C

Handle 0x0026, DMI type 17, 27 bytes
Memory Device
    Array Handle: 0x0024
    Error Information Handle: Not Provided
    Total Width: Unknown
    Data Width: Unknown
    Size: No Module Installed
    Form Factor: DIMM
    Set: None
    Locator: DIMM2
    Bank Locator:
    Type: Unknown
    Type Detail: Unknown
    Speed: Unknown
    Manufacturer: 7F7F7F7F7F510000
    Serial Number: 010AE026
    Asset Tag: 440725
    Part Number: 64T64000HU25FB

Handle 0x0027, DMI type 17, 27 bytes
Memory Device
    Array Handle: 0x0024
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM3
    Bank Locator:
    Type: DDR2
    Type Detail: Synchronous
    Speed: 667 MHz (1.5 ns)
    Manufacturer: 7F7F7F0B00000000
    Serial Number: 200D2F3B
    Asset Tag: 0D0739
    Part Number: NT1GT64U8HB0BY-3C

Handle 0x0028, DMI type 17, 27 bytes
Memory Device
    Array Handle: 0x0024
    Error Information Handle: Not Provided
    Total Width: Unknown
    Data Width: Unknown
    Size: No Module Installed
    Form Factor: DIMM
    Set: None
    Locator: DIMM4
    Bank Locator:
    Type: Unknown
    Type Detail: Unknown
    Speed: Unknown
    Manufacturer: CE00000000000000
    Serial Number: 7311D115
    Asset Tag: 010636
    Part Number: M3 78T6553CZ3-CE7

● RAM, speed, type, DDR2, DDR3, スピード, タイプ, 種類, メモリ, memory

2011年2月20日日曜日

bash 補完機能を無効化 (有効化)

Ubuntu で bash の補完機能を無効化する (有効化するばあいはこの逆)。

# vi ~/.bashrc

(下記をコメントアウト)
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi

これで、tar zxvf を打ってしまったあとで、*.tar.bz を補完してくれなくて困る。
(補完したあとで、z を j に変える癖がついているので)
ということはなくなる。

● bash, 補完, completion, 有効, 無効, 効く

2011年2月11日金曜日

Ubuntu で Planex GW-USNano2-G を動かす

Ubuntu で Planex GW-USNano2-G を ndiswrapper を使わずに動かした時のメモ。
調べたところ、これには RealTek RTL8192CU が載っています。
無線の親機は Buffalo WZR-HP-AG300H で試しましたが、ステータスを見る限りでは、11n でつながっていました。

1. Realtek から RTL8192CU の Linux ドライバをダウンロード。

ここからダウンロード (将来、URL は変わる可能性あり)。
そのときは Realtek のサイトからたどるしかないです。
RTL8192CU ドライバ Ver.2.0.1324 (2011/1/28)
Realtek ホームページ

2. ダウンロードしたファイルを展開してインストール。

install.sh が用意されているので楽ちんです。

$ unzip RTL8192CU_linux_v2.0.1324.zip
$ cd RTL8192CU_8188CUS_8188CE-VAU_linux_v2.0.1324.20110126/
$ sudo sh install.sh

● Ubuntu, 802.11n, 11n, Planex, プラネックス, GW-USNano2-G, Realtek, リアルテック, RTL8192CU, 8192cu, ndiswrapper, 使わない, 使用しない, 無し, Linux

2011年2月7日月曜日

htop - interactive process viewer

Linux で、プロセスが使用している CPU やメモリを確認するときには top を使います。
htop は、それを拡張した感じで、top の表示を対話的に切り替えたりできます。
カーソルでプロセスを選んで、kill (Send SIGTERM) したりできます。
他のシグナルも送れるな。
なかなか便利そう。

■ インストール方法 (Ubuntu の場合)

# apt-get install htop

● top, htop, interactive process viewer, kill, signal

2011年1月23日日曜日

Hugin で複数の写真からパノラマ写真を作る

複数の写真をつなぎ合わせてパノラマ写真を合成する時には、Hugin がおすすめ。
ほぼ自動で、簡単にパノラマ写真を合成できます。
細かい調整もいろいろできるみたい。

■ Hugin のインストール

Hugin は、以下のサイトからダウンロードできます。
http://hugin.sourceforge.net/
Windows, Linux, Mac で使えます。

■ 画像の合成例 ( Windows )

Hugin を起動すると、下記のような画面が出てきます。
そのウィンドウに合成したい写真をドラッグ。

あとは、「 ② 配置... 」、「 ③ パノラマを作成... 」 の順にクリックするだけ。

切り抜き箇所を調整。

できた画像がこれ。
動いた人の切れ目も、うまくぼかしてくれます。

● Hugin, 写真, パノラマ, 合成, 簡単, 綺麗, Windows, Linux

2011年1月19日水曜日

grep -r のかわりに ack-grep を使う

Ubuntu では、ack が ack-grep に変わったようだ。

■ ack-grep のインストール

# apt-get install ack-grep

あとは grep と同じように使えば良い。
man には下記のように書いてある。
Ack-Grep is designed as a replacement for 99% of the uses of grep.
.svn とか .o とかを自動的に検索対象から外してくれるので便利。

● ack, ack-grep, perl, grep -r

Ubuntu で EXIF 情報を表示するコマンド jhead

jhead を使うと、デジカメ写真の EXIF 情報をコマンドラインで表示することができる。
いつか使うこともあるだろう。

1. jhead のインストール

# apt-get install jhead

2. jhead の使用例

$ jhead IMG_0031.JPG
File name    : IMG_0031.JPG
File size    : 2167004 bytes
File date    : 2011:01:16 16:29:28
Camera make  : Canon
Camera model : Canon EOS 30D
Date/Time    : 2011:01:16 16:14:44
Resolution   : 3504 x 2336
Flash used   : No
Focal length : 95.0mm  (35mm equivalent: 152mm)
CCD width    : 22.48mm
Exposure time: 0.050 s  (1/20)
Aperture     : f/4.0
ISO equiv.   : 400
Whitebalance : Auto
Metering Mode: spot
Exposure     : Manual
Exposure Mode: Manual

● jhead, EXIF, command, コマンド, shell, シェル

2011年1月3日月曜日

subversion を proxy 経由で使う

subversion を proxy 経由で使用する設定。

~/.subversion/servers を編集

$ vi ~/.subversion/servers
(下記を設定)
[global]
http-proxy-host:HOST_NAME
http-proxy-port:PORT_NUMBER

環境変数 http_proxy では設定できない。

● subversion, proxy, svn, サブバージョン, プロキシ, 経由, 使用