さらに、役に立たない内容。覚え書き。よっぽど、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は譲渡してしまったので、質問いただいても答えられないことがあります。