2009年10月28日水曜日

HT03-A android 1.6 update

会社帰りにふと見たらアップデートの通知が、
昼くらいまでは無かったからなぁ
夜中の1~3時にアップデートって話しはデマかw

2009年10月27日火曜日

New HDD

Seagateの320G 7200RPM を購入。
いつまでもつことやら、、、
とりあえずGentoo amd64再インストール。
OS Xはもう入れない。

と思って、grubを hd0,0 にインストールして
refitは入れなかったら... ダメなのね。
?マークのフォルダのアイコンがピカピカしてなんにも起動しねーやw

2009年10月26日月曜日

Hitachiの2.5inch HDDが死亡

突然ガリガリ音がして。
2008年7月13日購入なので、14ヶ月かぁ。。。もうHitachは(略
(HTS543232L9A300 5400RPM)
やっぱSeagate探しとけば良かった...orz

2009年9月1日火曜日

gentoo amd64 + android sdk

いちお。
eclipse (galileo-linux-gtk-x86_64)
android-sdk-linux_x86-1.5_r3
の組み合わせであっさり動いた。

app-emulation/emul-linux-x86-baselibs
とか、いつの間にか入ってたからイケてるのかなぁ。

2009年8月30日日曜日

Mac Book on Gentoo amd64 + JFS

なんか、Gentoo調子がイマイチなので、思い切って
インストールし直す。64bitで。悪くなりそうな気しかしないけど。

以下、Quick Install Guideから外れたとこをメモ.
- http://www.gentoo.org/doc/en/gentoo-x86-quickinstall.xml

尚、amd64 では lilo はサポートされていないみたいなので、grubで。

1. パーティションの作成
fdiskは WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
で、パーティションがマトモに読めない(cfdiskでも一緒)ので
livecd ~ # parted /dev/sda

(parted) print free
Model: ATA Hitachi HTS54323 (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
17.4kB 20.5kB 3072B Free Space
1 20.5kB 210MB 210MB fat32 EFI System Partition boot
2 210MB 53.8GB 53.6GB hfs+ Apple_HFS_Untitled_1
53.8GB 320GB 266GB Free Space

この状態から

※ print free で Error: /dev/sda: unrecognised disk label となる場合は
(parted) mklabel gpt
でラベルを作成してから以下を行う

(parted) mkpart primary ext3 53.8GB 54.3GB ※ /boot
(parted) toggle 3 boot
(parted) mkpart primary linux-swap 54.3GB 56.3GB ※ swap
(parted) mkpart primary jfs 56.3GB 61.3GB ※ /
(parted) mkpart primary jfs 61.3GB 66.3GB ※ /tmp
(parted) mkpart primary jfs 66.3GB 81.3GB ※ /var
(parted) mkpart primary jfs 81.3GB 161.3GB ※ /usr
(parted) mkpart primary jfs 161GB 320GB ※ /home

(parted) print
Model: ATA Hitachi HTS54323 (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
1 20.5kB 210MB 210MB fat32 EFI System Partition boot
2 210MB 53.8GB 53.6GB hfs+ Apple_HFS_Untitled_1
3 53.8GB 54.3GB 537MB jfs boot
4 54.3GB 56.3GB 2000MB
5 56.3GB 61.3GB 5000MB
6 61.3GB 66.3GB 5000MB
7 66.3GB 81.3GB 15.0GB
8 81.3GB 161GB 80.0GB
9 161GB 320GB 159GB


(parted) quit
reboot

2. フォーマット
livecd ~ # mkfs.ext3 /dev/sda3
livecd ~ # mkswap /dev/sda4
livecd ~ # swapon /dev/sda4
livecd ~ # mkfs.jfs /dev/sda5
livecd ~ # mkfs.jfs /dev/sda6
livecd ~ # mkfs.jfs /dev/sda7
livecd ~ # mkfs.jfs /dev/sda8
livecd ~ # mkfs.jfs /dev/sda9

3. マウント
livecd ~ # mount /dev/sda5 /mnt/gentoo
livecd ~ # mkdir /mnt/gentoo/boot
livecd ~ # mount /dev/sda3 /mnt/gentoo/boot
livecd ~ # mkdir /mnt/gentoo/tmp
livecd ~ # mount /dev/sda6 /mnt/gentoo/tmp
livecd ~ # mkdir /mnt/gentoo/var
livecd ~ # mount /dev/sda7 /mnt/gentoo/var
livecd ~ # mkdir /mnt/gentoo/usr
livecd ~ # mount /dev/sda8 /mnt/gentoo/usr
livecd ~ # mkdir /mnt/gentoo/home
livecd ~ # mount /dev/sda9 /mnt/gentoo/home


4. get stage3
- wget http://ftp.iij.ad.jp/pub/linux/gentoo/releases/amd64/current-stage3/stage3-amd64-20090827.tar.bz2
- wget http://ftp.iij.ad.jp/pub/linux/gentoo/snapshots/portage-latest.tar.bz2



gentoo-sources は jfs が有効になっていないので、チェックを忘れずに.
sys-apps/915resolutionが Masked なので、Frame Buffer関係も
外さないとダメ...orz


5. /etc/fstab
/dev/sda3 /boot ext3 noauto,noatime 1 2
/dev/sda5 / jfs noatime 0 1
/dev/sda4 none swap sw 0 0
/dev/sda6 /tmp jfs noatime 0 1
/dev/sda7 /var jfs noatime 0 1
/dev/sda8 /usr jfs noatime 0 1
/dev/sda9 /home jfs noatime 0 1

6. network
/etc/conf.d/net
config_eth0=( "dhcp" )

7. Install extra tools if required
emerge jfsutils
emerge dhcpcd
emerge grub

8. /boot/grub/menu.lst
default 0
timeout 30
#splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title Gentoo Linux
root (hd0,2)
kernel /boot/kernel root=/dev/sda5 ro

9. install grub

grub
grub> root (hd0,2)
grub> setup (hd0,0)
grub> quit

2009年8月20日木曜日

java に関するメモ

関数の引数がクラスや配列のようなリファレンスの場合には
参照渡し(Cのポインタ渡し)になる

Javaではポインタが隠蔽されていて、
shallow (浅い)コピー とかって、
arraycopy とか、代入演算子とかを配列に対して使うと
コピー先はポインタのイメージになる。

データの実体をコピーしたければ
deepコピー とかって呼ばれる
要素一個一個コピーする方法を使う必要がある。
Cだとmemcpyで済むとこだけど


- 変数にfinal を付けると...
変更できなくなって、定数扱いになる。
Cだと const 付けた感じ、#define の代わりにもなる

2009年8月6日木曜日

live-android on qemu

http://code.google.com/p/live-android/

networkがダメかと思ったら、なんだ、動くんじゃん。

http://code.google.com/p/live-android/issues/detail?id=26

と言う訳で、qemuでnetworkを使う場合には
-net nic,model=pcnet
を付ければ良い。

#!/bin/bash
set -x
User=$USER
TAP=$(sudo tunctl -b -u $User)
sudo /sbin/ifconfig $TAP 0.0.0.0 promisc up
sudo /sbin/brctl addif br0 $TAP
qemu -k en-us -m 256 -cdrom liveandroidv0.2.iso -boot d -net nic,model=pcnet -net tap,ifname=$TAP,script=no
sudo tunctl -d $TAP


Mac Bookだと
Alt + fn + F1 でコンソール
Alt + fn + F7 でGUI
ミドルクリックで Home戻る
が、menuキーがないっす。"~"も入力できないっす。
"~"はコンソールだと入力できるんだけどなぁ

=> Menuキーは
xmodmap -e "keycode 133=Menu"
として、左アップルキーを割り合てて解決♪

しっかし、DNS設定するのに
setprop net.eth0.dns1 yourDNS
って、なんですかコレ。

2009年8月4日火曜日

[Android SDK] Activityのライフサイクル

http://developer.android.com/reference/android/app/Activity.html

で、View の onSizeChanged() はどのタイミングで来るんだろ。
変った後のサイズ 知るのに困る。appletの時もハマってたっけ。。。
成長しないなぁw

button -> View の順番で Layout は上手くいくけど、
View -> button の順番だと Viewが全画面占領するのもどーにも。

2009年7月23日木曜日

cscope with java

*.java が、cscopeの検索対象にならない。。。
単に cscope.files に入ってないだけみたいで、

find . -name "*.java" > cscope.files

とすれば良い。

Android Development Tools (ADT)

Gentooのportageのeclipseだとダメなので、

Eclipse IDE for Java Developers (91 MB)
をダウンロードして、展開(tar zxvf)して、実行(./eclipse)。

GALILEO(3.5)ですが、、、


1. Help > Install New Software...
Add で
Name : Android Development Tools (ADT)
Location : https://dl-ssl.google.com/android/eclipse/

それだけ!!!

2. Window > Preferences.
の Android で SDK をインストールしたパス(toolsのいっこ上)を指定すればOK.

Projectに Android がやっと出た♪

初めの一歩はいつもここから...
http://developer.android.com/guide/tutorials/hello-world.html

動いた♪ すげー、けど、激重

2009年7月20日月曜日

android sdk のインストール

Gentooだと ports に入ってるので、/etc/portage/package.keywords に
dev-util/android-sdk ~x86
を書いて、emerge dev-util/android-sdk して、PATHに
/opt/android-sdk-1.5/tools を追加すれば OK.

以下、Eclipseで開発する為の..Android Development Tools (ADT)でハマる。

Gentoo の eclipse-3.2, eclipse-3.4 だと ダメ
- sdkはインストールできるが...
-- Window > Preferencesに android が出てこない.
-- File > New > Project にも出てこない。

結局、Eclipseのサイトから
Eclipse IDE for Java Developers (91 MB)
をダウンロードするのが吉。

以下、gentooで eclipse-3.4 にしたときのメモ

/etc/portage/package.keywords に

dev-util/eclipse-sdk ~x86

を書いて、3.4-r2 にする。で、eclipse-3.4 にしたら、Help->Software Updates で
Cannot launch the Update UI. This installation has not been configured
properly for Software Updates.

って言われるが、、、、
Window->Preferences->General->Capabilities->Classic Update.
をチェックすれば、eclipse-3.3 と同じ方法で update できるけども...

http://developer.android.com/sdk/1.5_r3/installing.html
の 3.3 の手順で基本は ok だけど...依存関係の嵐w

最初に、
Android Development Tools (0.9.1.v200905011822-1621) requires plug-in "org.eclipse.gef".
次は
Android Development Tools (0.9.1.v200905011822-1621) requires plug-in "org.eclipse.wst.sse.core".
コイツは
Dali Java Persistence Tools (2.2.0.v200906100220-7L7OAFFBBoPR9QNdMUt_f) requires feature "org.eclipse.datatools.enablement.feature (1.7.0)", or compatible.
と言われてしまう...ので

1. org.eclipse.gef

http://www.eclipse.org/gef/updates/ より、

Software Update の New Remote Site に
http://download.eclipse.org/tools/gef/updates/releases/
を追加して update


2. org.eclipse.wst.sse.core


http://www.eclipse.org/webtools/
http://download.eclipse.org/webtools/downloads/ より、

Software Update の New Remote Site に
http://download.eclipse.org/webtools/updates/
を追加して update.

Search Resultから
Web Tools Platform(WTP)
-> Eclipse XML Editor and Tools
だけを選択

以上で依存関係が解決して、android sdkはインストール完了するけど...Projectに出てこない...orz

eclipse起動時にsymbol lookup error

$ eclipse-3.2
/usr/lib/jvm/sun-jdk-1.6/bin/java: symbol lookup error: /home/hoge/.eclipse/org\
.eclipse.platform_3.2.0/configuration/org.eclipse.osgi/bundles/8/1/.cp/libswt-m\
ozilla-gtk-3235.so: undefined symbol: _ZN4nsID5ParseEPKc

で、落るのだが、MOZILLA_FIVE_HOME の環境変数を設定すると解決する。

$ MOZILLA_FIVE_HOME="/usr/bin/firefox" eclipse-3.2
or
$ MOZILLA_FIVE_HOME="" eclipse-3.2

eclipse-3.4 にしたら、emergeに以下が表示されてたけど、
何も設定しなくてもいけるみたい。

You built swt with xulrunner support. For your custom applications please set
MOZILLA_FIVE_HOME environment variable to /usr/lib/xulrunner-1.9

2009年7月19日日曜日

Android (HT-03A)購入

一週間遅れの7/18に。

- 入力慣れるのに時間かかりそうだ
=> 7/21 文字キー長押しで qwerty配列にしたら、すっごくマシになりました。
個人的にコッチの方が simeji よりイイ

- Android Market のDoom...インストールしたけど
キ―入力必須じゃん

- Terminal Emulatorインストールしたけど...
キーでてこないじゃんさ
=> Better Terminal Emulator で、入力方法を androidキーボード にしたら入力できる。けどまぁ、、、何もできないのと一緒w

--- 動作確認H/W ---
- SanDisk microSDHC 16GB (class 2)
=> 普通に認識

- Logitec LBT-AR100C2 Bluetooth オーディオレシーバ
=> ペアリング完了

--- 参考 ---
- Google Projects for Android
- Android Developers

2009年7月8日水曜日

dpkg-reconfigure debconf

aptitude とか apt-get とかで、
パッケージインストールするときに問い合せを
どうやって表示する 決めるヤツ

1. Dialog 2. Readline

とか、以前はしょっちゅう聞かれて 気がするけど、
最近問い合せ 無くなってたんで、忘れてたよ...

2009年6月12日金曜日

Gentoo freeze unloading alsa module

gentoo-sources-2.6.29-r5
alsa-utils-1.0.17
の組み合わせで、shutdown すると
unloading alsa module
以降進まなくなる。

http://bugs.gentoo.org/232875
System hangs at shutdown after message "Killing processes using ALSA"

らしい、とりあえず
emerge --unmerge alsa-utils
でもいいけど、音 出なくなるのもアレなので、

/etc/init.d/alsasound に UNLOAD_ON_STOP="no" を書いて回避

2009年6月7日日曜日

initrd.gz をマウントするには ...

kernelが cramfs に対応してる必要がある
- File systems --->
- Miscellaneous filesystems --->
- Compressed ROM file system support (cramfs)
- ROM file system support

その上で、gunzip initrd.gz
mount -o loop initrd /mnt

2009年6月4日木曜日

Debian GNU/Linuxでクロスコンパイル環境を作る(mipsel)

1. aptitude install apt-cross
クロスコンパイル用ライブラリを簡単に作ってくれる

2. サポートしてるアーキテクチャは
dpkg-architecture -L
で確認できる。今回は mipsel

3. アップデート
apt-cross -a mipsel --update

4. gccに必要なライブラリをインストール
apt-cross -a mipsel --install gcc

5. クロスコンパイラの作成に必要なパッケージをインストール
apt-get build-dep binutils
apt-get build-dep gcc-4.3

6. apt-get source binutils
cd binutils-2.18.1
./configure --target=mipsel-linux-gnu --prefix=/usr/mipsel-linux-gnu
make
make install

export PATH=/usr/mipsel-linux-gnu/bin:$PATH

7. gcc
http://ftp.gnu.org/gnu/gcc/gcc-4.3.3/

cd gcc-4.3.3/
./configure --target=mipsel-linux-gnu --prefix=/usr/mipsel-linux-gnu \
--disable-nls --disable-shared --without-headers \
--with-newlib --enable-languages=c
make all-gcc install-gcc


X.
http://www.kernel.org/pub/linux/kernel/v2.6/
tar jxvf linux-2.6.27.24.tar.bz2
make ARCH=mips menuconfig
make ARCH=mips CROSS_COMPILE=mipsel-linux-gnu- vmlinux

qemu-system-mips で動かすなら Machine selection は Malta board を選択する
debian kernelなら Machine selection に qemu が選択できる(2.6.18)

Y. build result
linux-2.6.27 + gcc-4.3.3 + binutils-2.18.1 : ok
linux-2.6.18 + gcc-4.3.3 + binutils-2.18.1 : failed
linux-2.6.18 + gcc-4.3.1 + binutils-2.17.50 : failed

mips in qemu

qemu-system-mips を使ってみる。
を使ってみる。

と言っても、クロスコンパイラ用意できてないし、
とりあえず、test imageで...
http://www.nongnu.org/qemu/download.html
mips-test-0.2.tar.gz の run-qemu にある通り

qemu-system-mips -kernel vmlinux-2.6.18-3-qemu -initrd initrd.gz -append "console=ttyS0 init=/bin/sh" -nographic -m 128 -hda ../hda.img

で、あっさり起動。

qemu: Warning, could not load MIPS bios '/usr/share/qemu/mips_bios.bin'
Linux version 2.6.18-3-qemu (Debian 2.6.18-8) (waldi@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-20)) #1 Mon Dec 11 02:18:57 UTC 2006
CPU revision is: 00019300
FPU revision is: 00739300
Determined physical RAM map:
memory: 08000000 @ 00000000 (usable)
Initial ramdisk at: 0x802d7000 (2663940 bytes)
Built 1 zonelists. Total pages: 32768
Kernel command line: rd_start=0x802d7000 rd_size=2663940 console=ttyS0 init=/bin/sh
...

やっぱり、mips_bios.bin が無いって言われてるなぁ。
u-boot をコンパイルすればいいのかな...

2009年5月26日火曜日

What Emacs Commands Do You Use Most and Find Most Useful

http://www.reddit.com/r/programming/comments/8lfx7/what_emacs_commands_do_you_use_most_and_find_most/

M-x align
コードを揃える努力は好きじゃないし、必要もないと思うけど、
回りのコードが揃ってたりすると、見た目を気にして揃えちゃうからなぁ

M-x align

and

M-x align-regexp

Select a bunch of lines like:

int a=1;
float b=2;
char *c="hello";

"M-x align" will turn it into

int    a = 1;
float b = 2;
char *c = "hello";
M-x eshell
M-x shell は常用してるけど、eshellなんてのもあるんだ、vi動くんだw
M-x term なんてのもあったっけ...

emacs22 default日本語環境

OpenBSDにskkを入れるほど根性無いし、
emacs22だと set-input-method "japanese" で kcc 使って日本語入力出来ちゃうので
kccをskkっぽくして、しのぐことにする...中途半端だけどw


(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8-unix)
(set-keyboard-coding-system 'utf-8-unix)
(set-buffer-file-coding-system 'utf-8-unix)

;; change quail + kkc keybind like skk
(global-set-key "\C-xj" `toggle-input-method)

(defun my-kcc-mode-act-hook ()
;; nn を ん に変換する。
(setq quail-japanese-use-double-n t)

;; 変換中のCtrl-gで変換をキャンセル
(define-key kkc-keymap "\C-g" 'kkc-cancel)

(defun my-kanji-mode ()
(interactive)
(set-input-method "japanese")
)
(defun my-ascii-mode ()
(interactive)
(set-input-method "japanese-ascii")
)
(defun my-katakana-mode ()
(interactive)
(set-input-method "japanese-katakana")
)
(local-set-key "\C-l" 'my-ascii-mode)
(local-set-key "\C-q" 'my-katakana-mode)
(local-set-key "\C-j" 'my-kanji-mode)
)

(defun my-kcc-mode-inact-hook ()
(local-unset-key "\C-l")
(local-unset-key "\C-q")
(local-unset-key "\C-j")
)

(add-hook 'input-method-activate-hook 'my-kcc-mode-act-hook)
(add-hook 'input-method-inactivate-hook 'my-kcc-mode-inact-hook)

2009年5月17日日曜日

Gentoo sys-fs/fuse

emerge --update --deep world したら、

>>> Failed to emerge sys-fs/fuse-2.7.4, Log file:

>>> '/var/tmp/portage/sys-fs/fuse-2.7.4/temp/build.log'

* Messages for package sys-fs/fuse-2.7.4:

* You need to build the FUSE module from the kernel source, because your kernel is too new
* Please check to make sure these options are set correctly.
* Failure to do so may cause unexpected problems.
* Once you have satisfied these options, please try merging
* this package again.

kernelのオプションで、
File systems -> FUSE (Filesystem in Userspace) support
を有効にしないといけないみたい。

make menuconfig でオプション付けて
make && make modules_install
make install
して、再起動してやり直し

2009年5月3日日曜日

OpenBSD 4.5

エミュレータの中だけど、
qemu + kqemu な環境で問題無く動作(4.4以前はダメだった気がする)

1. Xorg 使うなら
/etc/sysctl.conf の machdep.allowaperture を
machdep.allowaperture=2
にする。

2. locale
~/.profile に
export LANG=en_US.UTF-8
これで、emacs の view-hello-file の日本語が見えるようになった

3. Ports
3.1 検索
cd /usr/ports
make search key=HOGEHOGE
make search name=HOGEHOGE

3.2 flavor
検索すると no_x11 とか表示されるヤツは
make show=FLAVORS
で表示して、以下でオプション付けてコンパイル
sudo sh -c "LANG=C FLAVOR=no_x11 make install"

2009年4月21日火曜日

apache2 + mod-auth-pam

apacheの認証を PAM にしたら Unix のパスワードと一致して
便利かと思ったのだけど、やってみたらちょっと微妙だw
以下、Debian 5.0 lenny.

1. libapache2-mod-auth-pam をインストール
aptitude install libapache2-mod-auth-pam

2. apacheの設定で AllowOverride AuthConfig
/etc/apache2/sites-enabled/000-default とか、
認証する Directory の設定を AuthConfig にする

3. .htaccess
AuthType Basic
AuthName "secure area"
require group hoge
require user foobar
AuthBasicAuthoritative Off

※ AuthBasicAuthoritative Off は
[error] Internal error: pcfg_openfile() called with NULL filename
を回避する為に必要

4. apache が /etc/shadow 読めるように
vigr -s で www-data を shadow グループに追加

5. その他
/etc/apache2/mods-enabled とか、
/etc/pam.d/apache2 とかは、defaultのままで ok.

認証が Basic だとダ 漏れなのと、apacheがshadow読めるのはなんとも...

2009年4月7日火曜日

gentoo xorg-server-1.5-upgrade

ハマった。
http://www.gentoo.org/proj/en/desktop/x/x11/xorg-server-1.5-upgrade-guide.xml

症状.0 i810のドライバがロードできない(そんなものない)
=> Driver "i810" -> "intel" に変更して解決(xorg.conf)

症状.1 synapticsのmoduleがロードできない(undefined imPointerGetMotion)
=> /etc/hal/fdi/policy/ に 11-x11-synaptics.fdi をコピーして解決

症状.2 keyboadが認識されない(AllowEmptyInput on で removeされる)
=> /etc/hal/fdi/policy/ に x11-input.fdi を 10-xinput-configuration.fdi にしてコピーしたあと、、、/etc/init.d/hald restart を実行して解決
(rc-update add hald default)

メモ
1. F1〜F12 は
=> fnキーと一緒 押せば ok.

課題
1. カーソルキーが効いてない
=> xmodmap のせいだった。。。。.xinitrc から xmodmapを外したら ok になった。。。
2. キーボードの配置の変更 Alt とか


1. synapticsは hald が動いてなくても動くが、keyboard はダメ