sheevaplugをfedora14にしてみた。

まずは、fedora14を入れるSDカードを用意。今回はamazonで安く仕入れた東芝の8GBを利用。

パーティションは

/boot ext3 300MiB

/   ext4 (ジャーナルなし) 残り全部

swap      500MiB

で切ってみた。

swapなんていらないよな〜なんて話もあるし、あまり使って無かった気がするけど、まぁ一応切っておく。SDカードも使い切らないから。

ジャーナルなしext4は、gpartedでパーティションを切ってから設定したので

tune2fs -O ^has_journal /dev/mmcblk0p2 した。

前はきっとjournalに書きまくったせいでSDカードが壊れたに違いないということです。はい。

このとき、fstabを書くときに楽をするため?、パーティションにラベルを設定。

tune2fs -L rootfs /dev/mmcblk0p2 みたいな感じ。

これをしておくと、fstabのデバイスのところに、LABEL=”rootfs” とかかける。

man tune2fs とか、 man fstab 参照。
fedora14のrootfsは、http://lists.fedoraproject.org/pipermail/arm/2011-December/002386.htmlで入手できるものを使用。まぁ多分使えてる。デフォルトのrootのパスワードは、fedoraarm

fstabは適当に編集。 /tmp /var/lock/subsysはtmpfsにした。

試しにtftpでカーネルを読み込んで、nfsで起動させようとしたが、うまくいかないので、こちらは断念。

SDカードからなら起動できた。(/bootに、最新のkernelをおいときました。 いつもの、http://sheeva.with-linux.com/sheevaから拾えるものです。)

次に、uImageからの起動時に、/のデバイスをfsckしに行って待ってしまうのを解消するために、uinitrdを作成する。

http://www.mulsys.net/blog/archives/2010/02/864.html (Wayback Machine経由) http://legacyos.homeip.net/sheeva/ (リンク切れ) を参考にして、まずはsheevaplugでfedora14に入ってから、

# cd /boot

mkinitrd ./initrd-3.2.5 3.2.5

mkimage -A arm -O linux -T ramdisk -C gzip -a 0x0 -e 0x0 -n "3.2.5 ramdisk" -d ./initrd-3.2.5 /boot/uInitrd-3.2.5

ln -s uInitrd-3.2.5 uInitrd

reboot

u-bootの設定に入って

>> setenv bootargs_mmc 'console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootdelay=3'

> setenv sd_prepare 'mmc init ; ext2load mmc 0:1 0x800000 /uImage; ext2load mmc 0:1 0x1100000 /uInitrd'
> setenv bootcmd_sd 'setenv bootargs $(bootargs_mmc); run sd_prepare; bootm 0x800000 0x1100000'
> setenv bootcmd 'run bootcmd_sd; run bootcmd_nand'
> saveenv
> reset

(bootcmd_nandには、以前設定した、nandフラッシュから立ち上げるためのコマンドが入っています。

u-bootを更新したので、mmc initとなっていることに注意。)

これで無事に起動できたので、早速いろいろインストール

yum install emacs mtd-utils* openssh-clients lzop nano git-all etckeeper w3m

ここらで、sheeva.with-linux.comから拾ったREADME-SHEEVA-UPDATE.sh をもう一度やって、一応アップデートしておく。

yum install httpd mysql ruby php ruby-irb rubygems php-mbstring php-mysql ruby-sqlite3

zabbix があったので、あとで遊んでみようと入れてみる。

yum install zabbix zabbix-web-sqlite3 zabbix-server-sqlite3 zabbix-agent zabbix-docs

以前使っていたものを思い出しながら入れていく。まずはプリンタ設定とntp。

yum install cups ntpdate ntp

ntp設定は不要なようだ。デフォルトで動く。

タイムゾーンをJSTに変えておく、、、。

cp /usr/share/zoneinfo/Japan /etc/localtime

ハードウェアクロックをUTCで保存するように、/etc/adjtime のLOCALをUTCに書き換え。(趣味)

hostname が、デフォルトで、fedora-armというのになっているので、 いつものやつに変える。

/etc/sysconfig/network の編集

作業は明日以降ということにしてここらで寝ます。

=====

続き

yum install screen nkf mysql-server sane xinetd sdparm

cupsの設定

以前同様 http://honana.com/system/cups.html に従って、、、

・/etc/cups/cupsd.confの編集

Listen 631 を追記

<Location /> <Location /admin > <Location /admin/conf>の中に allow 192.168.0.0/24を追記

・openssl req -new -nodes -x509 -keyout /etc/cups/ssl/server.key -out /etc/cups/ssl/server.crt -days 3650

・/etc/init.d/cups/restart

・https://192.168.0.2:631/admin でプリンタ追加。rawドライバを選択。(=sheevaplugのIPアドレスです。)
そろそろ疲れてきたので、etckeeperのgitで、バックアップのetcから、設定ファイルのへんこうになっているところを探してみる。

cd /etc

git remote add f12 /path/to/back/up/etc # パスは嘘です!

git fetch f12

git diff --summary f12/master master

うーん、多い。とりあえず、httpd/conf.dと、手で書いたanacronのシェルは復旧しておく。

# cd /etc/httpd/conf.d

git checkout f12/master -- .

これで一応  git diff を見て、変更を確認。 うーん。便利。

====

sambaの設定。sambaのパスワードをどうやって移すのか調べた。

まずは yum install samba

とりあえず、バックアップしてあった以前の環境にchrootして、

# pdbedit -i tdbsam -e smbpasswd:aaa

してから、chrootから抜けて、aaaファイルを適当な場所に移して

# pdbedit -i smbpasswd:aaa -e tdbsam

してユーザアカウントを移す。

次に、またetckeeperのgitを見ながらsmb.confを移して、

/etc/init.d/smb start && chkconfig smb on
/etc/init.d/nmb start && chkconfig nmb on

====

スキャナも使えるようにする。

yum install sane xinetd

設定はhttps://ttandai.info/archives/734で以前やった通り。だけど、まぁ、etckeeperでcheckoutするだけ。

/etc/xinetd.d/saned はこんな感じ

# default: off

description: The sane server accepts requests

for network access to a local scanner via the

network. copied from manpage of sane.

service sane-port
{
port = 6566
socket_type = stream
wait = no
user = root

user = saned

group = saned

server = /usr/sbin/saned
}

====

php、mysqlも、設定をetckeeperから引いて、走らせるだけで終わり。

====

メールはまたeximに入れる。いい加減postfixとかにするべきかとも思うが、以前設定したものをそのまま使うので、、。

====

anacronジョブでやっていたバックアップものを復旧。

====

pukiwikiもちゃんと動いた。でもそろそろdokuwikiにしようかな。

====

バックアップ用のハードディスクに、メインのものと同じ容量のハードディスクを用意したので、そこに移して、おしまい。
全体的に、etckeeper便利ってことでした。

コメントを残す