ハックキットの一本化のための機種判別
Debian
HS-DHGL
LS-CL
LS-GL
LS-HGL
LS-WSGL/R1
ハックキットのインストーラを一本化するためには、
今どの機種で動いているかを判断しないといけない。
先日調べた /proc/buffalo/firmware の PRODUCTID を使う。
/etc/linkstation_release は当てにならないようだし。
ude:/mnt# cat hackkit_000.sh
#!/bin/sh
#
# LinkStation HackKit Installer.
# Copyright (C) Yasunari YAMASHITA. All Rights Reserved.
#
if [ ! -f /proc/buffalo/firmware ]
then
echo /proc/buffalo/firmware dose not exist.
exit 1
fi
# PRODUCTID=0x0000000x
PRODUCTID=`sed -n -e 's/^PRODUCTID=\(.*\)$/\1/p' /proc/buffalo/firmware`
echo PRODUCTID = "$PRODUCTID"
case "$PRODUCTID" in
0x00000009)
MACHINE=LSGL
;;
0x0000000A)
MACHINE=HSDHGL
;;
0x0000000B)
MACHINE=LSLGL
echo LS-LGL is not supported.
exit 2
;;
0x0000000E)
MACHINE=LSHGL
;;
0x0000000F)
MACHINE=LSCL
;;
0x00003002)
MACHINE=LSWSGL
;;
*)
echo unknown PRODUCTID = "$PRODUCTID"
exit 3
;;
esac
echo MACHINE = "$MACHINE"
ude:/mnt#
/proc/buffalo/firmware から PRODUCTID を抜き出すのに grep なんか
いらんのだ。
確認
LS-GL
root@LS-GL530:/mnt/disk1/share# sh hackkit_000.sh
PRODUCTID = 0x00000009
MACHINE = LSGL
root@LS-GL530:/mnt/disk1/share#
OK.
HS-DHGL
root@HS-DHGLEA2:/mnt/disk1/share# sh hackkit_000.sh
PRODUCTID = 0x0000000A
MACHINE = HSDHGL
root@HS-DHGLEA2:/mnt/disk1/share#
OK.
LS-HGL
root@LS-HGL487:/mnt/disk1/share# sh hackkit_000.sh
PRODUCTID = 0x0000000E
MACHINE = LSHGL
root@LS-HGL487:/mnt/disk1/share#
OK.
LS-CL
root@LS-CL701:/mnt/disk1/share# sh hackkit_000.sh
PRODUCTID = 0x0000000F
MACHINE = LSCL
root@LS-CL701:/mnt/disk1/share#
OK.
LS-WSGL
root@LS-WSGL678:/mnt/disk1/share# sh hackkit_000.sh
PRODUCTID = 0x00003002
MACHINE = LSWSGL
root@LS-WSGL678:/mnt/disk1/share#
OK.
Copyright (C) 2003-2009 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市