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が全画面占領するのもどーにも。