FileSystemが購入当初のまま(ではダメ/HDD12:ext3,/HDD3:win95)(/HDD4:EXT2)
である必要あり。
qpe_terminal.ipkをinstall
openbsd44_arm.ipkをzaurusへ
su
cd /hdd3/Documents
/home/QtPalmtop/bin/ipkg install openbsd44_arm.ipk
ミラーサイトよりzbsdmod.o,zboot,bsd.rdをdownload
insmod zbsdmod.o
cp bsd.rd /proc/zboot
boot>が出たらrで再起動
install OpenBSDアイコンをclick
電池を抜きACアダプタをはずす
30秒待つ
電池とACアダプタを装着
[OK]キーを押した状態で、電源をONしてメンテナンスメニューを表示
HDD領域の変更の仕方を理解しておらず破壊
CFによるupdateもNG
microdriveを物理的に取り出す
母艦でLinux ext2 or OpenBSD(本来は4.2BSD),swapに
fdisk /dev/sda4,mke2fs /dev/sda4
bsd,bsd.rd,base44.tgz等をwget
microdriveを組立て
can't read disk label
fdisk /dev/hdc ,d,w
fdiskでHDD領域削除,CFにhoge.tgzをcopy,C3200に再install→NANDでHDD1 ERROR失敗
メンテナンスカーネルにて,zaurusでlogin:NG,passwd,rootでlogin
cp zboot&/bsd&&zbsdmod.o;&bsd.rd; ~/,cd ~,su容量オーバー
insmod,reboot時cf取る→HDD1 ERROR!
rc.rofilesys閲覧・修正:HDDをmountする記述,これがないとしばらくお待ちください...
でstopして起動しない,cfにcpして修正
mountの意味検索:/dev/mtdblock2はNAND flash
OpenBSDでinit 2;chvt 1...:run levelが2になるだけ。起動しない
スペシャルカーネルのpertition検索,HDD1.2.3必要。
cfにipkより得たbsd.rd,zboot,zbsdmod.o,bsd.zboot,hoge.tgzを入れてcfよりinsmod zbsdmod.o;cp bsd.rd /proc/zboot
bsd.boot.sh読み,ipkよりbin/bsdboot,copyして実行:起動せず(多分HDD1 ERROR)
HDD1 ERRORが出た,NANDをが原因.rc.rofilesysでコントロール
(/root/README.txt保存しても消える?)
HDD1,HDD2(EXT3),HDD3(WIN32),HDD4(EXT2)作成する事にする
いじりまくっていたrc.rofilesysを元に戻すmount /dev/mtdblock2 /mnt/NAND
cp /mnt/NAND/home/etc/rc.d/rc.rofilesys.ext2 /mnt/NAND/home/etc/rc.d/rc.rofilesys
/*fdisk_2.11g-5z_arm.ipkをDLうまくdできない,あやしい*/
fdisk /dev/hdc
n,p,1,1-204,83,n,p,2,205-1020,83,n,p,3,1021-4000,t,c,p,w
/sbin/mkfs.vfat /dev/hdc3
ext3へmke2fs -j /dev/hdc1;mke2fs -j /dev/hdc2
cd /mnt/cf
insmod zbsdmod.o
cp bsd.rd /proc/zboot
cfから空き領域にOpenBSDを対話的にinstall,せっかく作ったHDD123を消さないように
Error! HDD is not initialized!
SLC3200SYSPARTをDLして中身を/HDD1/.sys,/HDD2/.sysにcopy
Qtに再起動成功
PCリンク確立
qpe_terminal.ipkをinstall
openbsd44_arm.ipkをzaurusへ
su
cd /hdd3/Documents
/home/QtPalmtop/bin/ipkg install openbsd44_arm.ipk
Error:rc.rdfilesys.openbsd:No space on this device.
File system Full.
メンテナンスカーネルでNANDをmountしていじった所を掃除
再度/home/QtPalmtop/bin/ipkg install openbsd44_arm.ipk
/usr/QtPalmtop.rom/etc/speech: No space left on device
debugfs: Done.
Install OpenBSDのiconをクリック:起動失敗,リセット
rc.rofilesys書き換え確認
login:
gcc,Hello,world!も動く(Fn+u={,Fn+i=},\が見つからない,Fn+d=`)
startx
mount /dev/rwd1c /mnt/cf:Block device required,Device not configured
mount /dev/wd1i /mnt/cf
/usrに移動してports.tar.gzを展開
df
gmakeをcompile失敗
verilogをcompile失敗
今回の件で学んだ事:世の中そう簡単には出来ない。悪意を感じる。想像力の低下。
最悪の場合の想定の必要性(高価な文鎮になる可能性)。
泥縄式であったと反省。
再発防止策:初心者は危ない事には手を出さない。
--- rc.rofilesys.openbsd ---
#!/bin/bash
#export PATH=$PATH:/usr/sbin.rom:/usr/bin.rom
#LINUXFMT=ext2
LINUXFMT=ext3
MKE2FSOPT=
if [ "$LINUXFMT" = "ext3" ]; then
MKE2FSOPT=-j
fi
#
# get device pcmcia_slot
# format: get_dev_pcmcia_slot [slot number]
# slot number: 0, 1
# output: device name (hda or hdc)
#
get_dev_pcmcia()
{
while read SOCKET CLASS DRIVER INSTANCE DEVS MAJOR MINOR;
do
echo $DEVS
done
}
get_dev_pcmcia_slot()
{
grep "^$1" /var/lib/pcmcia/stab | get_dev_pcmcia
}
RW_MTD_LINE=`cat /proc/mtd | grep "home" | tail -n 1`
if [ "$RW_MTD_LINE" = "" ]; then
RW_MTD_LINE=`cat /proc/mtd | grep "\.*\<2\>" | tail -n 1`
fi
RW_MTD_NO=`echo $RW_MTD_LINE | cut -d: -f1 | cut -dd -f2`
RW_MTD_SIZE_HEX=`echo $RW_MTD_LINE | cut -d" " -f2`
RW_MTD=/dev/mtd$RW_MTD_NO
RW_MTDBLK=/dev/mtdblock$RW_MTD_NO
RW_MTD_SIZE=`dc 0x$RW_MTD_SIZE_HEX 1024 /`
initlog -s $"found $RW_MTD ${RW_MTD_SIZE}\"Kbyte\""
#echo "ZAURUS_RESET=$ZAURUS_RESET RW_MTD_NO=$RW_MTD_NO RW_MTD_SIZE_HEX=$RW_MTD_SIZE_HEX"
#ZAURUS_RESET=HARD
if [ "$ZAURUS_RESET" = "HARD" ]; then
STRING=$"Starting filesystem: "
msg -n $STRING
# mount /home
/sbin/eraseall $RW_MTD 2> /dev/null > /dev/null
mount -t jffs2 -o rw,noatime $RW_MTDBLK /home
cd /
tar xf /root/.home_default.tar
# mount /dev
dd if=/dev/zero of=/dev/ram1 bs=1024 count=64 2> /dev/null > /dev/null
mkfs.minix -i 512 /dev/ram1 64 2> /dev/null > /dev/null
mount -t minix /dev/ram1 /dev
(cd /home ; tar cf - dev | (cd / ; tar xf -))
# mount /tmp
mount -t tmpfs -o size=1m none /dev/shm
mkdir /dev/shm/tmp
chmod 4777 /dev/shm/tmp
mkdir /dev/shm/run
touch /dev/shm/run/utmp
mkdir /dev/shm/run/usb
/etc/ledmode reset
# mount HDD
/etc/rc.d/init.d/pcmcia start
while [ "$IDE1" = "" ]; do
IDE1=`get_dev_pcmcia_slot 1`
done
if [ "$HDDCLEAR" = "YES" ]; then
dd if=/dev/zero of=/dev/${IDE1}2 > /dev/null 2> /dev/null
fi
mke2fs $MKE2FSOPT /dev/${IDE1}2 2> /dev/null > /dev/null
e2fsck -p /dev/${IDE1}2 > /dev/null
if [ "$HDDCLEAR" = "YES" ]; then
dd if=/dev/zero of=/dev/${IDE1}3 > /dev/null 2> /dev/null
fi
#mkfs.vfat -F 32 /dev/${IDE1}3 2> /dev/null > /dev/null
mount -t $LINUXFMT -o ro,noatime /dev/${IDE1}1 /hdd1
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD1 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
mount -t $LINUXFMT -o noatime /dev/${IDE1}2 /hdd2
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD2 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
#mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD3 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
if [ ! -f /hdd1/.sys/hdimage2.tgz ]; then
echo "Error!! HDD is not initialized!"
fi
cd /
gzip -dc /hdd1/.sys/hdimage2.tgz | tar xf -
sltime -clear
rc=$?
if [ "$rc" = "0" ]; then
success "$STRING"
else
failure "$STRING"
fi
msg
else
### SW Reset !
#STRING=$"Checking filesystem: "
# mount /home
mount -t jffs2 -o rw,noatime $RW_MTDBLK /home
# mount /dev
dd if=/dev/zero of=/dev/ram1 bs=1024 count=64 2> /dev/null > /dev/null
mkfs.minix -i 512 /dev/ram1 64 2> /dev/null > /dev/null
mount -t minix /dev/ram1 /dev
(cd /home ; tar cf - dev | (cd / ; tar xf -))
if [ -f /home/etc/restorepc ]; then
RESTORE_CONNECTION=`cat /home/etc/restorepc`
else
RESTORE_CONNECTION=""
fi
if [ "$RESTORE_CONNECTION" != "" ]; then
cp /home/etc/restoreip /dev/restoreip 2> /dev/null > /dev/null
cp /home/zaurus/Settings/Security.conf /dev/Security.conf 2> /dev/null > /dev/null
umount $RW_MTDBLK
/sbin/eraseall $RW_MTD 2> /dev/null > /dev/null
mount -t jffs2 -o rw,noatime $RW_MTDBLK /home
mount -t tmpfs -o size=1m none /dev/shm
mkdir /dev/shm/tmp
chmod 4777 /dev/shm/tmp
mkdir /dev/shm/run
touch /dev/shm/run/utmp
mkdir /dev/shm/run/usb
cd /
tar xf /root/.home_default.tar
rm -rf /home/zaurus/Applications/Contents/
/etc/ledmode reset
# mount HDD
/etc/rc.d/init.d/pcmcia start
while [ "$IDE1" = "" ]; do
IDE1=`get_dev_pcmcia_slot 1`
done
mount -t $LINUXFMT -o ro,noatime /dev/${IDE1}1 /hdd1
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD1 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
mke2fs $MKE2FSOPT /dev/${IDE1}2 2> /dev/null > /dev/null
e2fsck -p /dev/${IDE1}2 > /dev/null
mount -t $LINUXFMT -o noatime /dev/${IDE1}2 /hdd2
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD2 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
cd /
# Documents files are discarded...
gzip -dc /hdd1/.sys/hdimage2.tgz | tar xf -
# mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD3 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
if [ ! -f /hdd1/.sys/hdimage2.tgz ]; then
echo -n "Error!! HDD is not initialized!"
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
rm /home/zaurus/Settings/route.conf 2>/dev/null >/dev/null
echo -n $RESTORE_CONNECTION > /home/zaurus/Settings/route.conf
touch /home/etc/restorepc
mv /dev/restoreip /etc/hotplug/usbdnet.conf 2> /dev/null > /dev/null
mv /dev/Security.conf /home/zaurus/Settings/Security.conf 2> /dev/null > /dev/null
else
# mount /tmp
mount -t tmpfs -o size=1m none /dev/shm
mkdir /dev/shm/tmp
chmod 4777 /dev/shm/tmp
mkdir /dev/shm/run
touch /dev/shm/run/utmp
mkdir /dev/shm/run/usb
/etc/ledmode reset
# mount HDD
/etc/rc.d/init.d/pcmcia start
while [ "$IDE1" = "" ]; do
IDE1=`get_dev_pcmcia_slot 1`
done
mount -t $LINUXFMT -o ro,noatime /dev/${IDE1}1 /hdd1
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD1 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
mount -t $LINUXFMT -o noatime /dev/${IDE1}2 /hdd2
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD2 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
# mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD3 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
if [ ! -f /hdd1/.sys/hdimage2.tgz ]; then
echo -n "Error!! HDD is not initialized!"
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
fi
fi
echo $LAUNCH > /home/sharp/etc/launch.default
----------------------------
--- rc.rofilesys.vfat ---
#!/bin/bash
#export PATH=$PATH:/usr/sbin.rom:/usr/bin.rom
#LINUXFMT=ext2
LINUXFMT=ext3
MKE2FSOPT=
if [ "$LINUXFMT" = "ext3" ]; then
MKE2FSOPT=-j
fi
#
# get device pcmcia_slot
# format: get_dev_pcmcia_slot [slot number]
# slot number: 0, 1
# output: device name (hda or hdc)
#
get_dev_pcmcia()
{
while read SOCKET CLASS DRIVER INSTANCE DEVS MAJOR MINOR;
do
echo $DEVS
done
}
get_dev_pcmcia_slot()
{
grep "^$1" /var/lib/pcmcia/stab | get_dev_pcmcia
}
RW_MTD_LINE=`cat /proc/mtd | grep "home" | tail -n 1`
if [ "$RW_MTD_LINE" = "" ]; then
RW_MTD_LINE=`cat /proc/mtd | grep "\.*\<2\>" | tail -n 1`
fi
RW_MTD_NO=`echo $RW_MTD_LINE | cut -d: -f1 | cut -dd -f2`
RW_MTD_SIZE_HEX=`echo $RW_MTD_LINE | cut -d" " -f2`
RW_MTD=/dev/mtd$RW_MTD_NO
RW_MTDBLK=/dev/mtdblock$RW_MTD_NO
RW_MTD_SIZE=`dc 0x$RW_MTD_SIZE_HEX 1024 /`
initlog -s $"found $RW_MTD ${RW_MTD_SIZE}\"Kbyte\""
#echo "ZAURUS_RESET=$ZAURUS_RESET RW_MTD_NO=$RW_MTD_NO RW_MTD_SIZE_HEX=$RW_MTD_SIZE_HEX"
#ZAURUS_RESET=HARD
if [ "$ZAURUS_RESET" = "HARD" ]; then
STRING=$"Starting filesystem: "
msg -n $STRING
# mount /home
/sbin/eraseall $RW_MTD 2> /dev/null > /dev/null
mount -t jffs2 -o rw,noatime $RW_MTDBLK /home
cd /
tar xf /root/.home_default.tar
# mount /dev
dd if=/dev/zero of=/dev/ram1 bs=1024 count=64 2> /dev/null > /dev/null
mkfs.minix -i 512 /dev/ram1 64 2> /dev/null > /dev/null
mount -t minix /dev/ram1 /dev
(cd /home ; tar cf - dev | (cd / ; tar xf -))
# mount /tmp
mount -t tmpfs -o size=1m none /dev/shm
mkdir /dev/shm/tmp
chmod 4777 /dev/shm/tmp
mkdir /dev/shm/run
touch /dev/shm/run/utmp
mkdir /dev/shm/run/usb
/etc/ledmode reset
# mount HDD
/etc/rc.d/init.d/pcmcia start
while [ "$IDE1" = "" ]; do
IDE1=`get_dev_pcmcia_slot 1`
done
if [ "$HDDCLEAR" = "YES" ]; then
dd if=/dev/zero of=/dev/${IDE1}2 > /dev/null 2> /dev/null
fi
mke2fs $MKE2FSOPT /dev/${IDE1}2 2> /dev/null > /dev/null
e2fsck -p /dev/${IDE1}2 > /dev/null
if [ "$HDDCLEAR" = "YES" ]; then
dd if=/dev/zero of=/dev/${IDE1}3 > /dev/null 2> /dev/null
fi
mkfs.vfat -F 32 /dev/${IDE1}3 2> /dev/null > /dev/null
mount -t $LINUXFMT -o ro,noatime /dev/${IDE1}1 /hdd1
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD1 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
mount -t $LINUXFMT -o noatime /dev/${IDE1}2 /hdd2
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD2 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD3 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
if [ ! -f /hdd1/.sys/hdimage2.tgz ]; then
echo "Error!! HDD is not initialized!"
fi
cd /
gzip -dc /hdd1/.sys/hdimage2.tgz | tar xf -
sltime -clear
rc=$?
if [ "$rc" = "0" ]; then
success "$STRING"
else
failure "$STRING"
fi
msg
else
### SW Reset !
#STRING=$"Checking filesystem: "
# mount /home
mount -t jffs2 -o rw,noatime $RW_MTDBLK /home
# mount /dev
dd if=/dev/zero of=/dev/ram1 bs=1024 count=64 2> /dev/null > /dev/null
mkfs.minix -i 512 /dev/ram1 64 2> /dev/null > /dev/null
mount -t minix /dev/ram1 /dev
(cd /home ; tar cf - dev | (cd / ; tar xf -))
if [ -f /home/etc/restorepc ]; then
RESTORE_CONNECTION=`cat /home/etc/restorepc`
else
RESTORE_CONNECTION=""
fi
if [ "$RESTORE_CONNECTION" != "" ]; then
cp /home/etc/restoreip /dev/restoreip 2> /dev/null > /dev/null
cp /home/zaurus/Settings/Security.conf /dev/Security.conf 2> /dev/null > /dev/null
umount $RW_MTDBLK
/sbin/eraseall $RW_MTD 2> /dev/null > /dev/null
mount -t jffs2 -o rw,noatime $RW_MTDBLK /home
mount -t tmpfs -o size=1m none /dev/shm
mkdir /dev/shm/tmp
chmod 4777 /dev/shm/tmp
mkdir /dev/shm/run
touch /dev/shm/run/utmp
mkdir /dev/shm/run/usb
cd /
tar xf /root/.home_default.tar
rm -rf /home/zaurus/Applications/Contents/
/etc/ledmode reset
# mount HDD
/etc/rc.d/init.d/pcmcia start
while [ "$IDE1" = "" ]; do
IDE1=`get_dev_pcmcia_slot 1`
done
mount -t $LINUXFMT -o ro,noatime /dev/${IDE1}1 /hdd1
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD1 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
mke2fs $MKE2FSOPT /dev/${IDE1}2 2> /dev/null > /dev/null
e2fsck -p /dev/${IDE1}2 > /dev/null
mount -t $LINUXFMT -o noatime /dev/${IDE1}2 /hdd2
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD2 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
cd /
# Documents files are discarded...
gzip -dc /hdd1/.sys/hdimage2.tgz | tar xf -
mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD3 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
if [ ! -f /hdd1/.sys/hdimage2.tgz ]; then
echo -n "Error!! HDD is not initialized!"
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
rm /home/zaurus/Settings/route.conf 2>/dev/null >/dev/null
echo -n $RESTORE_CONNECTION > /home/zaurus/Settings/route.conf
touch /home/etc/restorepc
mv /dev/restoreip /etc/hotplug/usbdnet.conf 2> /dev/null > /dev/null
mv /dev/Security.conf /home/zaurus/Settings/Security.conf 2> /dev/null > /dev/null
else
# mount /tmp
mount -t tmpfs -o size=1m none /dev/shm
mkdir /dev/shm/tmp
chmod 4777 /dev/shm/tmp
mkdir /dev/shm/run
touch /dev/shm/run/utmp
mkdir /dev/shm/run/usb
/etc/ledmode reset
# mount HDD
/etc/rc.d/init.d/pcmcia start
while [ "$IDE1" = "" ]; do
IDE1=`get_dev_pcmcia_slot 1`
done
mount -t $LINUXFMT -o ro,noatime /dev/${IDE1}1 /hdd1
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD1 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
mount -t $LINUXFMT -o noatime /dev/${IDE1}2 /hdd2
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD2 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD3 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
if [ ! -f /hdd1/.sys/hdimage2.tgz ]; then
echo -n "Error!! HDD is not initialized!"
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
fi
fi
echo $LAUNCH > /home/sharp/etc/launch.default
-------------------------
--- rc.rofilesys.ext3 ---
#!/bin/bash
#export PATH=$PATH:/usr/sbin.rom:/usr/bin.rom
#LINUXFMT=ext2
LINUXFMT=ext3
MKE2FSOPT=
if [ "$LINUXFMT" = "ext3" ]; then
MKE2FSOPT=-j
fi
#
# get device pcmcia_slot
# format: get_dev_pcmcia_slot [slot number]
# slot number: 0, 1
# output: device name (hda or hdc)
#
get_dev_pcmcia()
{
while read SOCKET CLASS DRIVER INSTANCE DEVS MAJOR MINOR;
do
echo $DEVS
done
}
get_dev_pcmcia_slot()
{
grep "^$1" /var/lib/pcmcia/stab | get_dev_pcmcia
}
RW_MTD_LINE=`cat /proc/mtd | grep "home" | tail -n 1`
if [ "$RW_MTD_LINE" = "" ]; then
RW_MTD_LINE=`cat /proc/mtd | grep "\.*\<2\>" | tail -n 1`
fi
RW_MTD_NO=`echo $RW_MTD_LINE | cut -d: -f1 | cut -dd -f2`
RW_MTD_SIZE_HEX=`echo $RW_MTD_LINE | cut -d" " -f2`
RW_MTD=/dev/mtd$RW_MTD_NO
RW_MTDBLK=/dev/mtdblock$RW_MTD_NO
RW_MTD_SIZE=`dc 0x$RW_MTD_SIZE_HEX 1024 /`
initlog -s $"found $RW_MTD ${RW_MTD_SIZE}\"Kbyte\""
#echo "ZAURUS_RESET=$ZAURUS_RESET RW_MTD_NO=$RW_MTD_NO RW_MTD_SIZE_HEX=$RW_MTD_SIZE_HEX"
#ZAURUS_RESET=HARD
if [ "$ZAURUS_RESET" = "HARD" ]; then
STRING=$"Starting filesystem: "
msg -n $STRING
# mount /home
/sbin/eraseall $RW_MTD 2> /dev/null > /dev/null
mount -t jffs2 -o rw,noatime $RW_MTDBLK /home
cd /
tar xf /root/.home_default.tar
# mount /dev
dd if=/dev/zero of=/dev/ram1 bs=1024 count=64 2> /dev/null > /dev/null
mkfs.minix -i 512 /dev/ram1 64 2> /dev/null > /dev/null
mount -t minix /dev/ram1 /dev
(cd /home ; tar cf - dev | (cd / ; tar xf -))
# mount /tmp
mount -t tmpfs -o size=1m none /dev/shm
mkdir /dev/shm/tmp
chmod 4777 /dev/shm/tmp
mkdir /dev/shm/run
touch /dev/shm/run/utmp
mkdir /dev/shm/run/usb
/etc/ledmode reset
# mount HDD
/etc/rc.d/init.d/pcmcia start
while [ "$IDE1" = "" ]; do
IDE1=`get_dev_pcmcia_slot 1`
done
if [ "$HDDCLEAR" = "YES" ]; then
dd if=/dev/zero of=/dev/${IDE1}2 > /dev/null 2> /dev/null
fi
mke2fs $MKE2FSOPT /dev/${IDE1}2 2> /dev/null > /dev/null
e2fsck -p /dev/${IDE1}2 > /dev/null
if [ "$HDDCLEAR" = "YES" ]; then
dd if=/dev/zero of=/dev/${IDE1}3 > /dev/null 2> /dev/null
fi
#mkfs.vfat -F 32 /dev/${IDE1}3 2> /dev/null > /dev/null
mount -t $LINUXFMT -o ro,noatime /dev/${IDE1}1 /hdd1
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD1 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
mount -t $LINUXFMT -o noatime /dev/${IDE1}2 /hdd2
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD2 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
#mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD3 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
if [ ! -f /hdd1/.sys/hdimage2.tgz ]; then
echo "Error!! HDD is not initialized!"
fi
cd /
gzip -dc /hdd1/.sys/hdimage2.tgz | tar xf -
sltime -clear
rc=$?
if [ "$rc" = "0" ]; then
success "$STRING"
else
failure "$STRING"
fi
msg
else
### SW Reset !
#STRING=$"Checking filesystem: "
# mount /home
mount -t jffs2 -o rw,noatime $RW_MTDBLK /home
# mount /dev
dd if=/dev/zero of=/dev/ram1 bs=1024 count=64 2> /dev/null > /dev/null
mkfs.minix -i 512 /dev/ram1 64 2> /dev/null > /dev/null
mount -t minix /dev/ram1 /dev
(cd /home ; tar cf - dev | (cd / ; tar xf -))
if [ -f /home/etc/restorepc ]; then
RESTORE_CONNECTION=`cat /home/etc/restorepc`
else
RESTORE_CONNECTION=""
fi
if [ "$RESTORE_CONNECTION" != "" ]; then
cp /home/etc/restoreip /dev/restoreip 2> /dev/null > /dev/null
cp /home/zaurus/Settings/Security.conf /dev/Security.conf 2> /dev/null > /dev/null
umount $RW_MTDBLK
/sbin/eraseall $RW_MTD 2> /dev/null > /dev/null
mount -t jffs2 -o rw,noatime $RW_MTDBLK /home
mount -t tmpfs -o size=1m none /dev/shm
mkdir /dev/shm/tmp
chmod 4777 /dev/shm/tmp
mkdir /dev/shm/run
touch /dev/shm/run/utmp
mkdir /dev/shm/run/usb
cd /
tar xf /root/.home_default.tar
rm -rf /home/zaurus/Applications/Contents/
/etc/ledmode reset
# mount HDD
/etc/rc.d/init.d/pcmcia start
while [ "$IDE1" = "" ]; do
IDE1=`get_dev_pcmcia_slot 1`
done
mount -t $LINUXFMT -o ro,noatime /dev/${IDE1}1 /hdd1
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD1 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
mke2fs $MKE2FSOPT /dev/${IDE1}2 2> /dev/null > /dev/null
e2fsck -p /dev/${IDE1}2 > /dev/null
mount -t $LINUXFMT -o noatime /dev/${IDE1}2 /hdd2
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD2 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
cd /
# Documents files are discarded...
gzip -dc /hdd1/.sys/hdimage2.tgz | tar xf -
# mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD3 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
if [ ! -f /hdd1/.sys/hdimage2.tgz ]; then
echo -n "Error!! HDD is not initialized!"
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
rm /home/zaurus/Settings/route.conf 2>/dev/null >/dev/null
echo -n $RESTORE_CONNECTION > /home/zaurus/Settings/route.conf
touch /home/etc/restorepc
mv /dev/restoreip /etc/hotplug/usbdnet.conf 2> /dev/null > /dev/null
mv /dev/Security.conf /home/zaurus/Settings/Security.conf 2> /dev/null > /dev/null
else
# mount /tmp
mount -t tmpfs -o size=1m none /dev/shm
mkdir /dev/shm/tmp
chmod 4777 /dev/shm/tmp
mkdir /dev/shm/run
touch /dev/shm/run/utmp
mkdir /dev/shm/run/usb
/etc/ledmode reset
# mount HDD
/etc/rc.d/init.d/pcmcia start
while [ "$IDE1" = "" ]; do
IDE1=`get_dev_pcmcia_slot 1`
done
mount -t $LINUXFMT -o ro,noatime /dev/${IDE1}1 /hdd1
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD1 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
mount -t $LINUXFMT -o noatime /dev/${IDE1}2 /hdd2
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD2 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
# mount -t vfat -o noatime,quiet,umask=000,iocharset=utf8 /dev/${IDE1}3 /hdd3
rc=$?
if [ "$rc" != "0" ]; then
echo -n "HDD3 Error!! "
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
if [ ! -f /hdd1/.sys/hdimage2.tgz ]; then
echo -n "Error!! HDD is not initialized!"
/bin/ledctl ledmode 0
/bin/ledctl alarm 1
while [ "$DUMMY" = "" ]; do
sleep 1
done
fi
fi
fi
echo $LAUNCH > /home/sharp/etc/launch.default
-------------------------
--- rc.zboot ---
#!/bin/sh
# $OpenBSD: rc.zboot,v 1.4 2006/04/21 17:45:44 uwe Exp $
#
# Copyright (c) 2005 Uwe Stuehler
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
/bin/busybox clear
# Wait until the card in socket 1 appears.
i=0
while ! grep '^1' /var/lib/pcmcia/stab > /dev/null; do
[ $i -lt 30 ] || break
i=$(($i+1))
/bin/busybox sleep 1
done
/sbin/insmod /root/etc/rc.d/zbsdmod.o &&
echo /bin/true > /proc/sys/kernel/modprobe &&
/root/etc/rc.d/zboot &&
echo /sbin/modprobe > /proc/sys/kernel/modprobe
----------------
--- rc.sysinit ---
#!/bin/bash
# Set the path
PATH=/sbin:/bin:/usr/sbin.rom:/usr/bin.rom
export PATH
HOSTNAME=`/bin/hostname`
# Read in config data.
if [ -f /etc/sysconfig/network ]; then
. /etc/sysconfig/network
else
NETWORKING=no
fi
if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then
HOSTNAME=zaurus
fi
# Source function library.
. /etc/rc.d/init.d/functions
# Print a banner. ;)
if [ -z "$SILENT" ] ; then
echo -en $" Welcome to "
[ "$BOOTUP" != "serial" ] && echo -en $"\\033[1;31m"
echo -en $"SHARP"
[ "$BOOTUP" != "serial" ] && echo -en $"\\033[0;39m"
echo $" Zaurus"
fi
mount -w /proc /proc -t proc
if [ ! -f /etc/rc.d/rc.rofilesys -o ! -x /etc/rc.d/rc.rofilesys ];then
action "Mounting filesystem:" mount -o remount -w %root% /
else
#action "Starting filesystem:" /etc/rc.d/rc.rofilesys
. /etc/rc.d/rc.rofilesys
fi
# rebuild cache for shared libraries, don't update links.
if [ -x /sbin/ldconfig ]; then
/sbin/ldconfig -X
fi
# check /etc/HOSTNAME
if [ -f /etc/HOSTNAME ]; then
HOSTNAME=`cat /etc/HOSTNAME`
fi
# setup for lo loopback device
action "Set loopback device:" ifconfig lo 127.0.0.1 netmask 255.0.0.0
# set hostname
action $"Hostname: ${HOSTNAME}" /bin/hostname $HOSTNAME
# module dependency
if [ -x /sbin/depmod ]; then
action "Module dependencies:" depmod -A
fi
# Load device specific information
##if [ -x /sbin/modprobe ]; then
## action "Loading devinfo:" modprobe devinfo
## /sbin/writerominfo
##fi
/sbin/writerominfo
echo $EQUIPMENT > /proc/deviceinfo/equipment
# Run all rc.* files apart rc.local in /etc/rc.d
cd /etc/rc.d
for I in rc.modules rc.serial;do
if [ -f ./$I ];then
if [ -x ./$I ];then
./$I
fi
fi
done
action "Mounting local FS:" mount -a -t nonfs
#action "Mounting remote FS:" mount -a -t nfs
## Finish by running rc.local
#cd /etc/rc.d
#if [ -f "./rc.local" ];then
# if [ -x "./rc.local" ];then
# echo "*** Running rc.local"
# ./rc.local
# fi
#fi
# /var clean up
cp -af /var/lock/subsys/pcmcia /tmp
cp -af /var/run/cardmgr.pid /tmp
for f in /var/lock/* /var/run/*; do
if test -d "$f" ; then
rm -f $f/*
else
rm -f $f
fi
done
mv /tmp/pcmcia /var/lock/subsys/
mv /tmp/cardmgr.pid /var/run/
# utmp clean up
>/var/run/utmp
touch /var/log/wtmp
chgrp utmp /var/run/utmp /var/log/wtmp
chmod 0664 /var/run/utmp /var/log/wtmp
# save dmesg
dmesg > /var/log/dmesg
# set time
if [ "$RTC_RESET" = "1" -o `date +%Y` = "1970" ]; then
sltime
touch /home/sharp/etc/rtc_reset
fi
# Initialize USB controller and HID devices
usb=0
#if ! grep -iq "nousb" /proc/cmdline 2>/dev/null && ! grep -q "usb" /proc/devices 2>/dev/null ; then
# modprobe usb_ohci_tc6393
# action $"Mounting USB filesystem: " mount -t usbdevfs usbdevfs /proc/bus/usb
usb=1
#fi
------------------
他にもzboot,zbsdmod.oがNANDにあり

関係者の方々に感謝します。
|