ハックキットの一本化のためのインストーラのデバッグ(4)LS-GL

Debian LS-GL

一本化したハックキットのインストーラを順にデバッグをしていく。

次に LS-GL

ハックキットインストーラの実行

root@LS-GL530:/mnt/disk1/share/hackkit# sh hackkit_013.sh
PRODUCTID = 0x00000009
formating hard drive ...
mke2fs 1.27 (8-Mar-2002)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
50200 inodes, 200781 blocks
10039 blocks (5.00%) reserved for the super user
First data block=1
25 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
meta-data=/dev/sdb2              isize=256    agcount=8, agsize=62754 blks
         =                       sectsz=512
data     =                       bsize=4096   blocks=502031, imaxpct=25
         =                       sunit=0      swidth=0 blks, unwritten=1
naming   =version 2              bsize=4096
log      =internal log           bsize=4096   blocks=2560, version=1
         =                       sectsz=512   sunit=0 blks
realtime =none                   extsz=65536  blocks=0, rtextents=0
Setting up swapspace version 1, size = 263204864 bytes
meta-data=/dev/sdb4              isize=256    agcount=38, agsize=1048576 blks
         =                       sectsz=512
data     =                       bsize=4096   blocks=39403428, imaxpct=25
         =                       sunit=0      swidth=0 blks, unwritten=1
naming   =version 2              bsize=4096
log      =internal log           bsize=4096   blocks=19239, version=1
         =                       sectsz=512   sunit=0 blks
realtime =none                   extsz=65536  blocks=0, rtextents=0
mounting root file system ...
XFS mounting filesystem sdb2
/sbin/hotplug [block]
extracting hackkit archive ...
./
./var/
./var/lib/
./var/lib/apt/
	:
	:
./initrd/
copying miconapl ...
usr/local/sbin/miconapl
usr/local/lib/libbuffalo_bin.so
creating miconapl ...
creating fancontrol ...
usr/local/sbin/kernelmon
copying /lib/modules ...
lib/modules/
lib/modules/2.6.16.16-arm1/
	:
	:
lib/modules/2.6.16.16-arm1/modules.symbols
creating usb ...
/sbin/hotplug [block]
checking /dev/sdb1
fsck 1.27 (8-Mar-2002)
e2fsck 1.27 (8-Mar-2002)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 11/50200 files (0.0% non-contiguous), 10465/200781 blocks
mounting /boot ...
/sbin/hotplug [block]
copying /boot ...
initrd.buffalo
uImage.buffalo
editing initrd ...
75826+1 records in
75826+1 records out
gunziping /mnt/debinst/boot/initrd.gz ...
EXT2-fs warning: checktime reached, running e2fsck is recommended
/sbin/hotplug [block]
/sbin/hotplug [block]
gziping /mnt/debinst/boot/initrd ... wait 5 minutes
Image Name:   initrd
Created:      Sat Dec  6 16:15:19 2008
Image Type:   ARM Linux RAMDisk Image (gzip compressed)
Data Size:    4835957 Bytes = 4722.61 kB = 4.61 MB
Load Address: 0x00000000
Entry Point:  0x00000000
unmount /boot ...
umount: /mnt/debinst/boot: device is busy
umount: /mnt/debinst/boot: device is busy
root@LS-GL530:/mnt/disk1/share/hackkit#
root@LS-GL530:/mnt/disk1/share/hackkit#
相変わらず /boot のマウントはできない。。。
それ以外は特に問題なさそう。

再起動

USB で接続していた実験用 HDD を SATA で接続し、再起動。
	:
	:
---- in hackkit linuxrc ---
XFS mounting filesystem sda2
VFS: Mounted root (xfs filesystem).
Trying to move old root to /initrd ... okay
Freeing init memory: 108K
INIT: version 2.86 booting
Setting the system clock.
Activating swap...Adding 257032k swap on /dev/sda3.  Priority:-1 extents:1 across:257032k
done.
Setting the system clock.
Cleaning up ifupdown....
Loading kernel modules...done.
Checking file systems...fsck 1.41.3 (12-Oct-2008)
fsck: cannot check /dev/sda4: fsck.xfs not found
/dev/sda1: recovering journal
/dev/sda1: Clearing orphaned inode 15 (uid=0, gid=0, mode=0100644, size=14680064)
/dev/sda1: Superblock last mount time is in the future.  FIXED.
/dev/sda1: Backing up journal inode block information.

/dev/sda1 has filesystem last checked time in the future, check forced.
/dev/sda1: 13/50200 files (15.4% non-contiguous), 16984/200781 blocks
fsck died with exit status 1
done.
Setting kernel variables (/etc/sysctl.conf)...done.
Mounting local filesystems...kjournald starting.  Commit interval 5 seconds
EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
XFS mounting filesystem sda4
done.
Activating swapfile swap...done.
Setting up networking....
Configuring network interfaces...eth0: link down
done.
eth0: link up<5>, full duplex<5>, speed 100 Mbps<5>
/usr/local/sbin/miconapl: error while loading shared libraries: libbuffalo_bin.so: cannot open shared object file: No such file or directory
/usr/local/sbin/miconapl: error while loading shared libraries: libbuffalo_bin.so: cannot open shared object file: No such file or directory
INIT: Entering runlevel: 2
/usr/local/sbin/kernelmon: line 10: /usr/local/bin/kernelmon_exec.sh: No such file or directory
/usr/local/sbin/kernelmon: line 10: /usr/local/bin/kernelmon_exec.sh: No such file or directory
Starting enhanced syslogd: rsyslogd.
Starting internet superserver: inetd.
Starting periodic command scheduler: crond.

Debian GNU/Linux lenny/sid hackkit ttyS0

hackkit login:
/usr/local/sbin/miconapl: error while loading shared libraries: libbuffalo_bin.so: cannot open shared object file: No such file or directory
は /usr/local/sbin/miconapl が必要としている libbuffalo_bin.so を コピーすればよい。
と思ったら、すでにコピーしていた。ldconfig を実行すればよいだけか。

/usr/local/sbin/kernelmon: line 10: /usr/local/bin/kernelmon_exec.sh: No such file or directory
は、、、何でないんだろ?、、、ってよく見たらインストーラで作ってないや。

インストーラの修正

/usr/local/bin/kernelmon_exec.sh が要らないようにインストーラを修正。
[yasunari@giga unified]$ diff -u hackkit_013.sh hackkit_015.sh
--- hackkit_013.sh      2008-12-06 12:50:16.000000000 +0900
+++ hackkit_015.sh      2008-12-06 18:09:00.000000000 +0900
@@ -128,6 +128,7 @@
        tar cf - usr/local/sbin/miconapl |(cd $MOUNTPOINT; tar xvf -)
        chmod +x $MOUNTPOINT/usr/local/sbin/miconapl
        tar cf - usr/local/lib/libbuffalo_bin.* |(cd $MOUNTPOINT; tar xvf -)
+       chroot $MOUNTPOINT ldconfig
 }

 #---------------------------------------------------------
@@ -292,8 +293,30 @@
 EOF
        chmod +x  $MOUNTPOINT/etc/init.d/kernelmon
        ln -s ../init.d/kernelmon $MOUNTPOINT/etc/rcS.d/S81kernelmon
-
-cat > $MOUNTPOINT/usr/local/sbin/kernelmon < $MOUNTPOINT/usr/local/sbin/kernelmon < $MOUNTPOINT/usr/local/sbin/kernelmon < $MOUNTPOINT/etc/init.d/kernelmon
-       chmod +x  $MOUNTPOINT/etc/init.d/kernelmon
-       ln -s ../init.d/kernelmon $MOUNTPOINT/etc/rcS.d/S81kernelmon
-
-       tar cf - usr/local/sbin/kernelmon |(cd $MOUNTPOINT; tar xvf -)
+       fi
+       chmod +x $MOUNTPOINT/usr/local/sbin/kernelmon
 }

-
 #---------------------------------------------------------
 # カーネルモジュールのコピー

@@ -658,7 +670,7 @@
        # Fan コントロールスクリプトの作成(LS-GL/HS-DHGLのみ)
        create_fancontrol
        # 電源 SW による電源 OFF 対応
-       create_kernelmon_lsgl
+       create_kernelmon
        # カーネルモジュールのコピー(LS-WSGL 以外)
        copy_modules
        # カーネルモジュールのロードスクリプトの作成
@@ -700,7 +712,7 @@
        # Fan コントロールスクリプトの作成(LS-GL/HS-DHGLのみ)
        create_fancontrol
        # 電源 SW による電源 OFF 対応
-       create_kernelmon_lsgl
+       create_kernelmon
        # カーネルモジュールのコピー(LS-WSGL 以外)
        copy_modules
        # カーネルモジュールのロードスクリプトの作成
[yasunari@giga unified]$

再インストール

特に問題なし。

再起動

---- in hackkit linuxrc ---
XFS mounting filesystem sda2
VFS: Mounted root (xfs filesystem).
Trying to move old root to /initrd ... okay
Freeing init memory: 108K
INIT: version 2.86 booting
Setting the system clock.
Activating swap...Adding 257032k swap on /dev/sda3.  Priority:-1 extents:1 across:257032k
done.
Setting the system clock.
Cleaning up ifupdown....
Loading kernel modules...done.
Checking file systems...fsck 1.41.3 (12-Oct-2008)
fsck: cannot check /dev/sda4: fsck.xfs not found
/dev/sda1: recovering journal
/dev/sda1: Clearing orphaned inode 6027 (uid=0, gid=0, mode=0100644, size=14680064)
/dev/sda1: Backing up journal inode block information.

/dev/sda1: clean, 13/50200 files, 16984/200781 blocks
done.
Setting kernel variables (/etc/sysctl.conf)...done.
Mounting local filesystems...kjournald starting.  Commit interval 5 seconds
EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
XFS mounting filesystem sda4
done.
Activating swapfile swap...done.
Setting up networking....
Configuring network interfaces...eth0: link down
done.
eth0: link up<5>, full duplex<5>, speed 100 Mbps<5>
/usr/local/sbin/miconapl: error while loading shared libraries: libbuffalo_bin.so: cannot open shared object file: No such file or directory
/usr/local/sbin/miconapl: error while loading shared libraries: libbuffalo_bin.so: cannot open shared object file: No such file or directory
INIT: Entering runlevel: 2
Starting enhanced syslogd: rsyslogd.
Starting internet superserver: inetd.
Starting periodic command scheduler: crond.

Debian GNU/Linux lenny/sid hackkit ttyS0

hackkit login:
おかしいなぁ。 chroot して ldconfig して、特にエラーも出ていないんだが。。。
なんで、libbuffalo_bin.so: cannot open shared object file になるの?

手動で ldconfig を実行し、再起動する。

hackkit:~# ldconfig
hackkit:~# shutdown -r now
そうすると、
---- in hackkit linuxrc ---
XFS mounting filesystem sda2
VFS: Mounted root (xfs filesystem).
Trying to move old root to /initrd ... okay
Freeing init memory: 108K
INIT: version 2.86 booting
Setting the system clock.
Activating swap...Adding 257032k swap on /dev/sda3.  Priority:-1 extents:1 across:257032k
done.
Setting the system clock.
Cleaning up ifupdown....
Loading kernel modules...done.
Checking file systems...fsck 1.41.3 (12-Oct-2008)
fsck: cannot check /dev/sda4: fsck.xfs not found
/dev/sda1: clean, 13/50200 files, 16984/200781 blocks
done.
Setting kernel variables (/etc/sysctl.conf)...Unknown HZ value! (113) Assume 100.
done.
Mounting local filesystems...kjournald starting.  Commit interval 5 seconds
EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
XFS mounting filesystem sda4
done.
Activating swapfile swap...done.
Setting up networking....
Configuring network interfaces...eth0: link down
done.
eth0: link up<5>, full duplex<5>, speed 100 Mbps<5>
err: >AnalyzeRecvPacket:This is invalid RespCode.(code=244)
INIT: Entering runlevel: 2
Starting enhanced syslogd: rsyslogd.
Starting internet superserver: inetd.
Starting periodic command scheduler: crond.

Debian GNU/Linux lenny/sid hackkit ttyS0

hackkit login:
/usr/local/sbin/miconapl は実行エラーにならず、 ちゃんと立ち上がって
err: >AnalyzeRecvPacket:This is invalid RespCode.(code=244)
になっている。 これは、 標準ファームでもエラーになっているので、無視。

インストール後一回だけでいいんだが、 インストーラにそういうタイミングがないので、 起動毎に ldconfig を実行することにする。

ファンコントロール

LS-GL / HS-DHGL 依存の機能なので、チェックする。まずはスクリプト。
hackkit:~# sh /usr/local/sbin/fancontrol
39
fan_set_speed fast
hackkit:~#
ちゃんと動いてそう。
hackkit:~# crontab -l
no crontab for root
hackkit:~#
がー。cron から起動するの、忘れている。

インストーラに追加。

[yasunari@giga unified]$ diff -u hackkit_015.sh hackkit_017.sh
--- hackkit_015.sh      2008-12-06 18:09:00.000000000 +0900
+++ hackkit_017.sh      2008-12-06 22:49:03.000000000 +0900
@@ -182,6 +182,7 @@

 case "\$1" in
   start)
+       ldconfig
        /usr/local/sbin/miconapl -b -a boot_flash_ok
        /usr/local/sbin/miconapl -a boot_end
        ;;
@@ -262,6 +263,9 @@
 MID=30
 LOW=20
 EOF
+
+       echo '*/5 * * * * nice /bin/sh /usr/local/sbin/fancontrol 2>/dev/null 1>/dev/null' > var/spool/cron/crontabs/root
+       chmod 600 var/spool/cron/crontabs/root
 }

 #---------------------------------------------------------
[yasunari@giga unified]$
crontabs を直接書いてはいけません(藁)
忘れるのでまとめておく

保留事項

アーカイブ

・/dev/rtc の入れ忘れ
・xfsprogs を入れる

・lenny のアップデート

インストーラ

・LS-GL: ldconfig が効かない。一応対応済

対策方法不明

・起動時エラー
Setting kernel variables (/etc/sysctl.conf)...Unknown HZ value! (113) Assume 100.


LS-GL
バッファローダイレクト
楽天市場
Amazon
Yahoo!ショッピング
ソフマップ
livedoor デパート
ドスパラ


ハックキットの一本化のためのインストーラのデバッグ(3)LS-HGL
ハックの記録
LinkStation/玄箱 をハックしよう

「USB 延長ケーブル改シリアルケーブル」の作り直し

Copyright (C) 2003-2009 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市