6/06/2011

玄箱/玄箱HGにdebian 6.0.1 (Squeeze)をインストール

さらに、役に立たない内容。覚え書き。よっぽど、KVMのネタをのせた方がいいのかもしれないけど、今回はパス。

loader.oを使って、debian 6.0.1を作成
hda1には、デフォルト(玄人の)linuxも格納しておく。2GB


用意するもの
ディスクの入った玄箱/玄箱HG
ディスクは、kernelコンパイルも行う場合は、1GB以上必要。パッケージを追加することを考えると4GB以上。
(もろもろで最低6GB以上が望ましい。)
残りはユーザ用


 (付属のCD-ROMは不要)
ファイル
以下のファイルをダウンロードし、ftp で玄箱に転送して下さい。カーネルとカーネルモジュール以外のファイルは、玄箱と玄箱/HG とで共通で使えます。
kuroutoshikou web page
玄箱のファームウェア kuro_102.zip
http://www.kuroutoshikou.com/products/kuro-box/kuro_102.zip
   玄箱HGのファームウェア kurog101.zip
http://www.kuroutoshikou.com/products/kuro-box/kurog101.zip

    Revulo's Laboratory
        debian-lenny-installer-kuroBOX-20090317.tgz
http://download.revulo.com/kuro-box/debian-lenny-installer-kuroBOX-20090317.tgz

        debian-lenny-kuroBOX-20090317.tgz
http://cid-a95b9af71540ba41.skydrive.live.com/self.aspx/.Public/kuro-box/debian-lenny-kuroBOX-20090317.tgz

        kuro-bootsel2-debian.tgz
http://download.revulo.com/kuro-box/kuro-bootsel2-debian.tgz

    玄箱でNetBSDを動かす
        kuro-bootsel2.20080419.tar.gz (ミラー)
http://kurobsd.ki.nu/download/testing/powerpc/selector/bootsel2/kuro-bootsel2.20080419.tar.gz

    Genbako kernel collection (もしくはそのミラーサイト)
        loader.o (ミラー)
http://www.genbako.com/loader.o/loader.o

        玄箱 用
            kernelimage-2.6.25.1-kuroBOX.tgz (ミラー)
http://www.genbako.com/kernelimage-2.6.25.1-kuroBOX.tgz

            modules-2.6.25.1-kuroBOX.tgz (ミラー)
http://www.genbako.com/modules-2.6.25.1-kuroBOX.tgz

        玄箱/HG 用
            kernelimage-2.6.25.1-kuroHG.tgz (ミラー)
http://www.genbako.com/kernelimage-2.6.25.1-kuroHG.tgz

            modules-2.6.25.1-kuroHG.tgz (ミラー)
http://www.genbako.com/modules-2.6.25.1-kuroHG.tgz


1. 玄箱をEMモードに落とす。
カーネル2.4系の場合は
    # echo -n "NGNG" > /dev/fl3
カーネル2.6系の場合は
    # echo -n "NGNG" > /dev/mtdblock2


どうしてもダメな場合は
1.裏のリセットボタンを長押ししながら電源ボタン長押しで電源を落とす
2.裏のリセットボタンを押しながら電源ボタンを押して起動する
のいずれかで、EMモードに落ちるかも


2. EMモードが起動したらrootアカウント(パスワード kuroboxの場合:kuro/kuroboxhgの場合:kuroadmin)
telnet ip addr
# mfdisk -c /dev/hda
/dev/hda1      2 GB      MontaVista用
/dev/hda2      256 MB      スワップ領域
/dev/hda3      4 GB      Debian(lenny)用


# mkswap /dev/hda2
# mke2fs -j /dev/hda1
# mke2fs -j /dev/hda3
# mount -t ext3 /dev/hda1 /mnt


3.ファームウェアの展開
玄箱HGのファームウェア kurog101.zip をpc上で展開し、さらにimage.zipを展開し、出来たファイルのうち tmpimage.tgz だけを、FTPで玄箱HGの /mnt ディレクトリに転送する。

玄箱HGで /mnt ディレクトリに移動し、tmpimage.tgz を展開する。

    # cd /mnt
    # tar zxvf tmpimage.tgz

展開が完了したら、EMモードから抜ける。

    # echo -n "OKOK" > /dev/fl3
    # reboot

Lenny化用のファイルを用意する。

    debian-lenny-installer-kuroBOX-20090317.tgz
    debian-lenny-kuroBOX-20090317.tgz
    kuro-bootsel2-debian.tgz
    kuro-bootsel2.20080419.tar.gz
    loader.o
    kernelimage-2.6.25.1-kuroHG.tgz
    modules-2.6.25.1-kuroHG.tgz

以上7個のファイルを用意し、FTPで玄箱HGの /tmp ディレクトリに転送する。

/tmp ディレクトリに移動し、1番目の debian-lenny-installer-kuroBOX-20090317.tgz を展開する。そして展開されたファイルのうち、玄箱HG用のスクリプトを実行する。

    # cd /tmp
    # tar zxvf debian-lenny-installer-kuroBOX-20090317.tgz
    # sh debian-lenny-installer-kuroHG.sh

これで、MontaVistaモードの /mnt(/dev/hda3) に Debian(lenny) がインストールされ、Debianモードではこの /dev/hda3 がルートになる。

# vi /mnt/etc/fstab

hda4のエントリを削除 (hda4を作っている場合は不要)

③ネットワークの設定

自分の環境に合わせて、interfacesファイルのIPアドレス設定部分を書き直す。
addressのところに玄箱に設定したいIPアドレス、
netoworkのところに、対応するネットワークアドレス、
broadcastのところに、対応するブロードキャストアドレス、
gatewayのところにゲートウェイアドレス(ルーターのアドレス等)を設定する。

    # vi /mnt/etc/network/interfaces

# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.

iface eth0 inet static
address 192.168.10.10
network 192.168.10.0
netmask 255.255.255.0
broadcast 192.168.10.255
gateway 192.168.10.1

iface lo inet loopback
auto eth0 lo

DHCPにしたい場合は、

iface eth0 inet dhcp

     # vi /mnt/etc/hostname
     # vi /mnt/etc/hosts
     # vi /mnt/etc/resolve.conf

以上の設定が完了したら、rebootコマンドで再起動し、Debian Lennyが起動する。
起動したら、tmp-kun/tmp-kunでtelnetログインをして、su -をする。パスワードは、root
動作確認で、以下を実行

# ping `hostname`

5.Lennyでの設定

①パスワードの変更とユーザーの追加
Lennyが起動したらrootアカウント(パスワードはroot)でログインする。
最初にrootのパスワードを変更する。
    # passwd

初期状態でtmp-kun(パスワードもtmp-kun)というユーザーが登録されているが、必要であれば作業用のユーザーを追加する。

    # adduser hogehoge

②Squeeze用起動スクリプトの準備

Squeezeは起動スクリプトは、LSB(Linux Standard Base)に準拠している必要があるらしいので、ディストリビューション標準の起動スクリプト以外は、前もって変更しておく必要がある。

ここでは、kuroevtdとkuro_bootのファイルの先頭部分にLSB用の記述を挿入する。

" ### BEGIN INIT INFO"から"### END INIT INFO"までが挿入部分。

    # vi /etc/init.d/kuroevtd

#!/bin/sh
# Start/stop the KURO-BOX Event Daemon.
### BEGIN INIT INFO
# Provides:        kuroevtd
# Required-Start:  $network $remote_fs $syslog
# Required-Stop:   $network $remote_fs $syslog
# Default-Start:   2 4 5
# Default-Stop:    0 1 3 6
# Short-Description: Start/stop the KURO-BOX Event daemon
### END INIT INFO

test -f /usr/sbin/kuroevtd || exit 0
case "$1" in
start)  echo -n "Starting KURO-BOX event daemon: kuroevtd"
        start-stop-daemon --start --quiet --exec /usr/sbin/kuroevtd
        echo "."
        ;;
stop)   echo -n "Stopping KURO-BOX event daemon: kuroevtd"
        start-stop-daemon --stop --quiet --exec /usr/sbin/kuroevtd
        echo "."


    # vi /etc/init.d/kuro_boot

#! /bin/sh
### BEGIN INIT INFO
# Provides:          kuro_boot
# Required-Start:    $remote_fs $all
# Required-Stop:
# Default-Start:     2 4 5
# Default-Stop:      0 1 3 6
# Short-Description: Initialize the KUROBOX AVAR
### END INIT INFO

case "$1" in
start|force-reload|restart|reload)
  echo -n "ttyS1 port init : "
stty -F /dev/ttyS1 10:1:9f0d:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
  echo -n "AVR init string send"
echo -n "AAAAFFFFJJJJ>>>>VVVV>>>>ZZZZVVVVKKKK" > /dev/ttyS1
  echo "."
  ;;
stop)
  ;;


6.squeezeへのアップグレード

まず、aptitudeが参照する、パッケージリストの取得先をlennyからsqueezeに変更する。

    # vi /etc/apt/sources.list

deb http://ftp.jp.debian.org/debian/ squeeze main
deb http://security.debian.org/ squeeze/updates main
#deb http://ftp.jp.debian.org/debian/ squeeze main contrib non-free
#deb-src http://ftp.jp.debian.org/debian/ squeeze main contrib non-free
#deb http://security.debian.org/ squeeze/updates main contrib non-free
#deb-src http://security.debian.org/ squeeze/updates main contrib non-free
#deb http://volatile.debian.org/debian-volatile squeeze/volatile main contrib non-free
#deb-src http://volatile.debian.org/debian-volatile squeeze/volatile main contrib non-free

後はaptitudeでパッケージリストを更新し、アップグレードを実行するだけ。基本的にYes/y/OKを選択する。

    # aptitude update
    # aptitude safe-upgrade
    # aptitude full-upgrade

# cd /usr/src

# wget http://www.genbako.com/kurobox-sources-2.6.25.patch; wget http://www.genbako.com/kurobox-section-mismatch2625.patch ; wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2
# aptitude install vim lv sudo less patch gcc ncurses-dev bzip2 make sysstat ntp locales openssh-server
# dpkg-reconfigure locales
en_us.utf-8とja_jp.utf-8を指定

# vi /etc/default/sysstat
ENABLED="true"
 falseからtrueに変更

# tar xfj linux-2.6.25.tar.bz2 ; cd linux-2.6.25 ; patch -Np1 < ../kurobox-sources-2.6.25.patch ; patch -Np1 < ../kurobox-section-mismatch2625.patch
# aptitude clean



デフォルトのセキュリティを解除

telnetを無効にするには、
# vi /etc/inetd.confのtelnetの行をコメントアウト
#:STANDARD: These are standard services.
telnet          stream  tcp     nowait  telnetd /usr/sbin/tcpd  /usr/sbin/in.telnetd

# kill -HUP `cat /var/run/inetd.pid`をするか再起動。

ユーザ追加

adduser username
su -
passwd username

作成したユーザでsshでログインができ、rootユーザになれることを確認したら以下を実行。
userdel -r tmp-kun
これで基本的には終わり。

問題点
ディストリビューションは、debian 6.0.1なのだが、kernelが古すぎる。デバイスをいろいろ
サポートさせたいのでなければ、問題はなさそうだが。
iptableを使いたい場合は、カーネルのリコンパイルが必要

カーネルのリコンパイル方法
# cd /usr/src/linux-2.6.2
以下は玄箱/HGの場合です。
# cp -p config_kuroboxhg .config[ENTER]
# export ARCH=ppc[ENTER]
# make menuconfig[ENTER]

iptablesを有効にしたりする。

# make oldconfig[ENTER]
# make vmlinux# objcopy -p -O binary vmlinux /boot/vmlinux.bin
# cp -pf System.map /boot/
# make modules
# make ARCH=ppc modules_install
# rm -rf 2.6.25.1-kuroboxHG


その他やった作業
groupadd wheel
自ユーザにwheelを追加
vi /etc/groups

vi /etc/pam.d/su

#
# The PAM configuration file for the Shadow `su' service
#

# This allows root to su without passwords (normal operation)
auth       sufficient pam_rootok.so
# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth       required   pam_wheel.so

# Uncomment this if you want wheel members to be able to
# su without a password.
auth       sufficient pam_wheel.so trust


vi /etc/profile.d/local.sh

#
# local environment
#

VISUAL=vi
EDITOR=vi
PAGER=vi
export VISUAL EDITOR PAGER


ちなみに、kuroboxとkuroboxHGは譲渡してしまったので、質問いただいても答えられないことがあります。

玄箱Proにdebian 6.0.1 (Squeeze)をインストール

技術的に仕事に役に立たないと思いつつ。覚え書き。

http://taidyff.seesaa.net/article/159144003.html
http://www.cyrius.com/debian/orion/buffalo/kuroboxpro/install.html

シリアルコンソールで接続。(telnetとかで接続できるかも。)

玄箱PROを起動して、
<>
Hit any key to stop autoboot:3
のカウントが0になる前にキーを押して中断。

Marvell>のプロンプトが出るので以下のコマンドを順に入れる。
長いけど1行ずつコピーしてTeraTermで右クリックで貼り付ければ簡単確実。

setenv bootargs_root root=/dev/mtdblock2 rw panic=5
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
setenv bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)'
setenv nand_boot yes
boot
これで玄箱PROのオリジナルファームで起動する。

root(デフォルトパスワードはkuroadmin)でログインする。

IPアドレスを確認する。
/etc/resolv.confを確認する。
nameserver ネームサーバーアドレス

/etc/nsswitch.confを確認する。
デフォルトはhostsのみを参照する設定。
hosts: files
これを
hosts: files dns
に書き換えておく。

rdate -s pool.ntp.org
hwclock -w

この時点で適当なアドレス(www.yahoo.co.jpでもなんでもいい)にpingを打てば返ってくるはず。
ここで名前解決できない、もしくはunreachableやtimeoutになるならおそらくどこかが足りないか間違っていて、インストール中にハマることになる…ので解決してから先に進むこと。


あとはこちらのサイトの通りにやればOK
fdisk /dev/sda
で、とりあえず1個パーティションを用意する。256MB
既にある場合は敢えて削除しなくてもOK
mkfs.ext2 /dev/sda1
でフォーマットし、
mount -t ext2 /dev/sda1 /mnt/disk1
cd /mnt/disk1
としてマウント~ディレクトリ移動する。

wget http://ftp.jp.debian.org/debian/dists/stable/main/installer-armel/current/images/orion5x/network-console/buffalo/kuroboxpro/config-debian
wget http://ftp.jp.debian.org/debian/dists/stable/main/installer-armel/current/images/orion5x/network-console/buffalo/kuroboxpro/initrd.buffalo
wget http://ftp.jp.debian.org/debian/dists/stable/main/installer-armel/current/images/orion5x/network-console/buffalo/kuroboxpro/uImage.buffalo

としてインストーラ一式をダウンロードする。

sh config-debian
とすると初期化が行われ、再起動するように求められる。
再起動して、5分くらいたった後、コンソールにsshでつなげというメッセージが表示される。
syslogからインストーラーまでの表示は本当に時間がかかる。


TeraTermを起動してsshで接続。
id:installer password:installとしてログインするとインストーラが走る。


パーティションの選択ではGuided - use entire diskでOK(どれでもいい)
構成はSeparate /home, /user,...にしたけどこれもなんでもいい。
追加機能もお好きに。とりあえず今回はどれもいらないので基本システムのみ入れておしまい。

# aptitude install vim lv sysstat ntp byobu ethtool
# dpkg-reconfigure locales
en_us.utf-8とja_jp.utf-8を指定
# vi /etc/default/sysstat
ENABLED="true"

失敗したら、あるいは、再インストールは、もう一度最初から行う。

ログインをしたら、ネットワークの設定を行う。
vi /etc/network/interfaces

iface eth0 inet static
address 192.168.10.10
network 192.168.10.0
netmask 255.255.255.0
broadcast 192.168.10.255
gateway 192.168.10.1

ホスト名の変更
vi /etc/hostname
vi /etc/hosts
再起動後にping `hostname`でちゃんとpingが返ってくる事を確認のこと。

fw_printenvのインストール
aptitude install uboot-envtools
cp /usr/share/doc/uboot-envtools/examples/kurobox_pro.config /etc/fw_env.config

vi /etc/micro_evtd/micro_evtd.conf
設定を適宜行う。


その他やった作業
echo "cgroup /cgroup cgroup defaults 0 0" >>/etc/fstab

groupadd wheel
自ユーザにwheelを追加
vi /etc/groups

vi /etc/pam.d/su
## The PAM configuration file for the Shadow `su' service
#

# This allows root to su without passwords (normal operation)
auth       sufficient pam_rootok.so

# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth       required   pam_wheel.so

# Uncomment this if you want wheel members to be able to
# su without a password.
auth       sufficient pam_wheel.so trust


vi /etc/profile.d/local.sh
#
# local environment
#

VISUAL=vi
EDITOR=vi
PAGER=vi

export VISUAL EDITOR PAGER
 

ブラウザの検索窓

個人事業主となってしまった私は、現在でも正社員で雇用してくれる会社を探している。正社員といっても、日本だけではなく、海外の正社員でも構わない。その場合、日本国内では、今のままの状況には代わりはないのだが。。。
ただ、正社員という身分は、物事に対して1つをやり遂げるという任務があるので、生活が直結している個人事業主に比べると、仕事に専念できると私は思う。周りの求職中のエンジニアも仕事に専念をしたいという点でそれ以外が自動的に保証されているという正社員の仕事を求めている。

閑話休題。
会社を調べてみると、ブラウザの検索窓がキーワードを補完してくれる。そうすると、その会社の動きが何となくわかる。
会社名を入れるとその後ろに、いきなり「ブラック」と出てくるとちょっとびっくりする。そのキーワードで検索しても大した情報が出てこないときもあるのだが、多分、検索結果よりも検索されちゃうキーワードの上位を表示しているのであろう。まして、最初に出てくるから、常に検索されて、そのキーワードが上位になってしまう。iTunesで最も再生した25曲ばかり聞いていると、スマートプレイリストにしたとしても、実質、固定されたプレイリストになってしまうものである。定番というのはなかなか壊れにくい。一度付いた評判を崩すのは大変である。

新卒の時に教わったのは、人間関係を3年かけてつくっても壊わすのは3秒も要らないということ。悪い情報は、直ぐ上位にくるが、いい情報、特に悪い情報を覆す情報はなかなか上位に来ない。

就職活動をしている学生さんにいいたいことは、2chを信じるのはほどほどに、検索窓の補完は、結構参考になる。良いことも悪いことも。
でも、企業名いれただけで、補完で表示されるキーワードが本業と関係ないキーワードだと企業側も結構大変ある。

ちなみに、こんなエントリをwikipediaで見つけた。スタンフォード監獄実験。もともとは、Law & Order クリミナル・インテント』 シーズン4 エピソード13のエピソードで言われていた話で、まともな人でも環境によっては、その環境にはまってしまうということらしい。私は大丈夫だと思っていても十中八九、この実験の通りになってしまう。以前、ある団体にこの話をしたら、よくこの実験を知っていて、回答は、「この実験をやってみないとわからないだろう」と。やって得られるものは何だろうと思った。そのような形で当事者として引き込んでしまう。

自ら進んで悪い評判を出そうと思っている組織はない、必ず善かれと思っている。ただし、実際のところは、こんな感じなのかもしれない。決して当事者たちは気づく事はない。

6/05/2011

iOS4.3.3 Jailbreak

jailbreakして、見栄えを変えると不安定になるから、一見普通につかっているように
見せかけることをモットーにしてみる。

私の設定はこんな感じ。

有償アプリ
TetherMe
公式tetheringを有効(tetheringとAPNの変更ができる。)しかし、今は入れていない。
3G Unrestrictor
3G回線接続中でもWi-Fiで接続と誤魔化す$3.99
Resupported4 1.4-1 
古いドックでもビデオ出力ができるようにする$3.99
Recent/CallLog Delete
電話の履歴画面に編集ボタンが加わり個別に削除可能になる。$1.49

無償アプリ
CyDelete
Cydiaアプリを正式アプリのように削除できるようにする
ultrasn0w
ご存知SIMアンロック(SIM FreeなiPhoneなので入れていない)
AskToCall 0.9.3-1
電話をする前にかけるかどうかワンクッション入れる。間違えて発信することが無くて便利。

そのほか解説、注意書きなど
3G Unrestrictor
普通はWi-Fiでしか使えないアプリの制限を外します。(YouTubeを高画質で見るとか。iTunesで音楽をdownloadしたりとか。)
VoIpover3G のUI付きバージョン
無料で使いたい人は、VoIp ovet3G をCydia からインストールしi-funboxなどiPhoneの中身を覗ける物を用意して、plist に3G でも使いたいアプリを書き込むか、直接plistを削除すれば自動的に全てのアプリが3G 環境下で制限を受けることなく使うことができます。

iKeyHoleTVでテレビ視聴
iPhone単体にない機能の一つとしてワンセグ機能が挙げられます。それを実現するのがiKeyHoleTV。ただし、アナログ放送のようです。感謝
インストール方法
リポジトリを追加 http://top.freespace.jp/ips4hack/
追加したら、iKeyHoleTV(Fix) で検索、インストール。

ちなみに3GSの人は、
HDR Enabler を入れるとHDRの撮影ができるようになってしまうらしいが、不安定との報告もある。

ちなみに3Gの人は、vertual memory liteを入れると仮想メモリが使える。(要 http://top.freespace.jp/ips4hack/ レポ)

tethermeを使わない場合は、以下を行うとtetheringができる。ただし、SIMを頻繁に入れ替える人は、tethermeを買った方が便利かも。

CommCenter Patch for 4...
インストール方法
レポジトリを追加
http://cydia.iphonemod.com.br/

3GSの場合は、tetheringになり、iPhone4の場合は、personal hotspotになる。
3Gの場合は、wortel's CommCenter patchを入れる。
/System/Library/Carrier Bundles/iPhone/Softbank_jp.bundle/carrier.plistを開く。
iFileのテキストエディタでも編集可能。ただし、iPhone Explorerで抜き出して、修正して戻した方が楽。
以下をcarrier.plistに以下を加えます。
type-maskを55にして
AllowEDGEEditing Boolean YES にします。
以下、mac os xのエディタ表示




まぁ、せっかくjailbreakしたならば、tinyunbrellaでshshを保存しておくと完璧か。
どうやら、iOS4.3.3が一番まとものような気がする。

6/01/2011

本日より

昨日付けでついにサラリーマンで無くなってしまった。
余りくだくだ話したくないが、
「自分の意思」ではないことを言っておこう。

悪い経験は、「悪い」と片付けてしまうのは簡単だが、こうした事を相手にさせてはいけないという事が身を持って感じることは良い経験ではないかと考える。
私は幸い身軽であるが、家庭やローンを抱えている人には切実な問題である。身軽、身重に関わらず、このような事が「意思」という事は決して無いのである。ましてそれを簡単に伝えられてしまってとても困惑してしまった。言ったほうは「覚えてない」もしくは「そのような事は言っていない」と言うだろうが、受け手がそう理解してしまうような言い方をしていれば事実上言っているのと同じである。

人間常にウソつかず、本音で語りたい。

本音が伝わらなかった菅総理に先ほど不信任決議案が提出された。民主主義なので仕方はない。独裁政権であれば決して無い事である。この不信任が良い悪いは抜きにしても自由な意見が言えるこの国はまだまともなのかもしれない。

ある意味世間のレールから外れ、自由になったので、悪い経験の「良い経験」だけ残して前職の会社だけはきれいさっぱり忘れようと思う。

- Posted using BlogPress from my mobile.