CentOS6ベースでカスタムLiveCDを作る


CentOS6ベースでカスタムLiveCDを作ろうとして、何点か悩んだ。
(「CentOS6でカスタムインストールDVD作成」という記事もあります)

BIOSブートで悩んだ点
・ブートオプションに「quiet rhgb」がついていると画面がちゃんと表示されない
  → isolinux/isolinux.cfg を編集して対処

EFIブートで悩んだ点
・grubより先に進まない
001
上記の画面のまま進まない。

ブート選択を表示させてから、「b」でブートしようとすると、黒画面になるが、キーを何か入力するとgrubに戻る状態

→ LiveCDのisoファイルのEFI/BOOT/grub.confを見るとgrub.conf内の指定が「EFI/boot/~」
 大文字小文字の違いにより必要なファイルがとってこれていない模様

そんな訳で、最終的に作成できたKickStart用ファイルは以下となります。

lang en_US.UTF-8
#keyboard us
keyboard jp106
#timezone US/Eastern
timezone --utc Asia/Tokyo
auth --useshadow --enablemd5
selinux --enforcing
firewall --disabled
rootpw --plaintext password

#repo --name=base   --baseurl=ftp://ftp.redhat.com/pub/redhat/rhel/beta/6Server-beta2/$basearch/os/
#repo --name=base   --baseurl=http://mirror.centos.org/centos/6/os/$basearch
repo --name=base   --baseurl=http://ftp.riken.jp/Linux/centos/6/os/$basearch
repo --name=update --baseurl=http://ftp.riken.jp/Linux/centos/6/updates/$basearch
repo --name=epel   --baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch

%packages
@core
anaconda-runtime
bash
kernel
syslinux
passwd
policycoreutils
chkconfig
authconfig
rootfiles

%end

%post --nochroot

cat > /root/postnochroot-install << EOF_postnochroot
sed -i "s/ quiet / /"             \$LIVE_ROOT/isolinux/isolinux.cfg
sed -i "s/ rhgb / /"              \$LIVE_ROOT/isolinux/isolinux.cfg
#
sed -i "s/ quiet / /"             \$LIVE_ROOT/EFI/BOOT/isolinux.cfg
sed -i "s/ rhgb / /"              \$LIVE_ROOT/EFI/BOOT/isolinux.cfg
sed -i "s/\/EFI\/boot\//\/EFI\/BOOT\//"    \$LIVE_ROOT/EFI/BOOT/isolinux.cfg
sed -i "s/ quiet / /"             \$LIVE_ROOT/EFI/BOOT/grub.conf
sed -i "s/ rhgb / /"              \$LIVE_ROOT/EFI/BOOT/grub.conf
sed -i "s/\/EFI\/boot\//\/EFI\/BOOT\//"    \$LIVE_ROOT/EFI/BOOT/grub.conf
sed -i "s/ quiet / /"             \$LIVE_ROOT/EFI/BOOT/BOOTX64.conf
sed -i "s/ rhgb / /"              \$LIVE_ROOT/EFI/BOOT/BOOTX64.conf
sed -i "s/\/EFI\/boot\//\/EFI\/BOOT\//"    \$LIVE_ROOT/EFI/BOOT/BOOTX64.conf

EOF_postnochroot

/bin/bash -x /root/postnochroot-install 2>&1 | tee /root/postnochroot-install.log

%end

このファイルの原型は「https://projects.centos.org/trac/livecd/browser/trunk/CentOS6」にあるrhel6beta-livecd-minimal.ksです。
「post –nochroot」のところはrhel6beta-livecd-desktop.ksを参考にしています。

主な変更点
・レポジトリ指定をCentOS+EPEL
・rootパスワードは「password」とする
・タイムゾーンとキーボードを日本向け
・langは、コンソールで使うため英語のまま

isoイメージ作成の手法については「Creating a LiveCD image」にあるとおり。

# LANG=C livecd-creator --config=livecd.ks --fslabel=CentOS-minimal

で実行しています。

USB電力計 サンワサプライ TAP-TST10をLinuxで使ってみた


サンワサプライから発売された「ワットモニターUSB TAP-TST10」というUSB接続タイプの電力計をLinuxで使ってみた。

埜中公博さんの「SANWA SUPPLY TAP-TST10 control tool」を使ってデータ取得しました。
githubにある「taptst10ctl.py」をCentOS6で動作させてみました。
(2013/11/19: 公開場所が変わりました「https://github.com/nonakap/taptst10ctl」。USBのデバイスへのアクセス手法の違いで「taptst10ctl.py」と「taptst10ctl0.py」があります)

# python taptst10ctl.py
Traceback (most recent call last):
  File "taptst10ctl.py", line 42, in <module>
    import usb.core
ImportError: No module named usb.core
#

あー・・・pyusbが入ってないからか・・・
pyusb-1.0.0a2.zipをダウンロードしてきて「python setup.py install」

# python taptst10ctl.py
Traceback (most recent call last):
  File "taptst10ctl.py", line 60, in <module>
    dev.set_configuration()
  File "/usr/lib/python2.6/site-packages/usb/core.py", line 547, in set_configuration
    self._ctx.managed_set_configuration(self, configuration)
  File "/usr/lib/python2.6/site-packages/usb/core.py", line 92, in managed_set_configuration
    self.backend.set_configuration(self.handle, cfg.bConfigurationValue)
  File "/usr/lib/python2.6/site-packages/usb/backend/libusb10.py", line 503, in set_configuration
    _check(_lib.libusb_set_configuration(dev_handle, config_value))
  File "/usr/lib/python2.6/site-packages/usb/backend/libusb10.py", line 403, in _check
    raise USBError(_str_error[ret], ret, _libusb_errno[ret])
usb.core.USBError: [Errno 16] Resource busy
#

「Resource busy」と何か別のプログラムが使っているらしい。

USBRH driver for Linux を CentOS 5 で使う」で紹介されている手法、手動でusbhidの認識を解除してみる方法を行ってみた。

# cd /sys/bus/usb/drivers/usbhid
#  ls -l
lrwxrwxrwx 1 root root    0  7月 17 09:38 2013 4-2:1.0 -> ../../../../devices/pci0000:00/0000:00:12.1/usb4/4-2/4-2:1.0
--w------- 1 root root 4096  7月 17 09:25 2013 bind
lrwxrwxrwx 1 root root    0  7月 17 09:25 2013 module -> ../../../../module/usbhid
--w------- 1 root root 4096  7月 17 09:25 2013 new_id
--w------- 1 root root 4096  7月 17 09:25 2013 remove_id
--w------- 1 root root 4096  7月 17 09:25 2013 uevent
--w------- 1 root root 4096  7月 17 09:25 2013 unbind
# echo "4-2:1.0" > unbind
# ls
bind  module  new_id  remove_id  uevent  unbind
#

これでusbhidを解除できたので、改めて実行。

# .taptst10ctl.py
No.,DateTime,Watt,kWh
1,2013/07/13 07:50,0.0,0.00
2,2013/07/13 08:00,47.0,0.00
3,2013/07/13 08:10,44.8,0.01
4,2013/07/13 08:20,18.5,0.01
5,2013/07/13 08:30,18.5,0.01
6,2013/07/13 08:40,18.1,0.02
<略>
637,2013/07/17 18:00,87.4,2.76
638,2013/07/17 18:10,83.8,2.78
639,2013/07/17 18:20,83.3,2.79
640,2013/07/17 18:30,82.8,2.80
641,2013/07/17 18:40,80.9,2.82
#

ちなみに、時々、以下のような感じで実行に失敗します。
その場合は、再実行すれば、だいたい大丈夫です。

# ./taptst10ctl.py
Traceback (most recent call last):
  File "./taptst10ctl.py", line 92, in <module>
    data = dev.read(ENDPOINT, 17, intf, 1000)
  File "/usr/lib/python2.6/site-packages/usb/core.py", line 654, in read
    self.__get_timeout(timeout)
  File "/usr/lib/python2.6/site-packages/usb/backend/libusb10.py", line 559, in intr_read
    timeout)
  File "/usr/lib/python2.6/site-packages/usb/backend/libusb10.py", line 641, in __read
    timeout))
  File "/usr/lib/python2.6/site-packages/usb/backend/libusb10.py", line 403, in _check
    raise USBError(_str_error[ret], ret, _libusb_errno[ret])
usb.core.USBError: [Errno 110] Operation timed out
#

USB電力計 サンワサプライ TAP-TST10のWindowsでの利用方法


サンワサプライから発売された「ワットモニターUSB TAP-TST10」というUSB接続タイプの電力計っぽいのをAmazonで購入した。

Windowsで使う場合の話を書くのを忘れていた。

TAP-TST10をWindowsにつなぐと以下の様な感じで認識される。

devman-001
devman-003
devman-002

そう、特殊なドライバ無しに、認識される。

では、どうやって、計測したデータを取り出すのか?

専用のアプリケーションを使って、計測データを取り出すことになる。
gra-40days

↑は、2日ちょっといろいろ通電させてみた後に、アプリで計測データを拾ってみたところ。
「計測データ」ボタンを押すと、TAP-TAT10内に保存されている計測済みのデータを収集し、このようなグラフにしてくれるのはいいのですが、横軸(X-Axis)が「40日」で、縦軸(Y-Axis)が「1500ワット」なんて設定になっているところに、「3日」と「100ワット以内の消費電力」なもんだから、小さくてよく分からない。

gra-7days

「7日」「300ワット」にすると↑のような感じになります。

上記のインタフェースを見ればわかるように、基本的には「計測済みデータの表示」用のアプリケーションです。

「いま使っている消費電力は、ずばりいくら!?」

という疑問には答えられないものになっています。

このアプリのスゴイところは、なんと、このご時世にVisual Basic 6.0で作成されているということ。
なので、アプリのインストーラがVB6.0関連DLLをインストールしてきます。

いやー、2013年にもなってそんなソフトがあるとは思いませんでしたよ。
appli
しかも、今時、program files以下に、収集したデータをMDB形式で保存ですよ!

まとめ
・Windows上ではHIDデバイス認識となり、特殊なドライバは不要
・特殊なアプリを使わないと収集したデータを取り出すことはできない
・アプリに、リアルタイム表示機能は搭載されていない
・データ収集間隔は「10分」。変更できるかどうかは不明
・初回電源オン時から強制的に10分カウントが開始される模様
・専用アプリはVB6.0で作られてる

参考:csv出力の内容

No.,DateTime,Watt,kWh
    1,2013/07/13-06:37:11,0,0
    2,2013/07/13-06:47:11,47,0
    3,2013/07/13-06:57:11,44.8,0.01
    4,2013/07/13-07:07:11,18.5,0.01
    5,2013/07/13-07:17:11,18.5,0.01
    6,2013/07/13-07:27:11,18.1,0.02
    7,2013/07/13-07:37:11,18.5,0.02
    8,2013/07/13-07:47:11,18.7,0.02
    9,2013/07/13-07:57:11,17.9,0.03
<略>
  486,2013/07/16-15:27:11,59.6,0.78
  487,2013/07/16-15:37:11,60.3,0.79
  488,2013/07/16-15:47:11,59.5,0.8
  489,2013/07/16-15:57:11,60.1,0.81
  490,2013/07/16-16:07:11,59.6,0.82
  491,2013/07/16-16:17:11,60.1,0.83
  492,2013/07/16-16:27:11,61.1,0.84
  493,2013/07/16-16:37:11,59.9,0.85
  494,2013/07/16-16:47:11,60.2,0.86
  495,2013/07/16-16:57:11,60.5,0.87
  496,2013/07/16-17:07:11,60.5,0.88
  497,2013/07/16-17:17:11,61.5,0.89

USB電力計 サンワサプライ TAP-TST10をLinuxにつなげてみた


サンワサプライから発売された「ワットモニターUSB TAP-TST10」というUSB接続タイプの電力計っぽいのをAmazonで購入した。

ちょうどタイミングが良かったらしく、送料込みで 6082円でした。
(Amazonマーケットプレイス:NANOS-S。青森県弘前発送。発注から発送まで2日弱、到着まで+1日)

Windows8につなげたら、標準のHIDドライバだけで認識。
専用アプリを使うと、測定済みのデータが収集できる、という感じのものだった。
リアルタイム計測の表示は、専用アプリ内には見当たらなかった。

さて・・・Linuxにつなげてみますか!!

# dmesg | tail -4
usb 2-2: new full speed USB device using uhci_hcd and address 2
usb 2-2: configuration #1 chosen from 1 choice
drivers/usb/input/hid-core.c: timeout initializing reports
hiddev96,hidraw96: USB HID v1.10 Device [Weltrent Semiconductor, Inc. HID Device] on usb-0000:00:1d.0-2
# lsusb | grep Weltrend
Bus 002 Device 002: ID 040b:2201 Weltrend Semiconductor
#

なぜか「Weltrend Semiconductor」と「Weltrent Semiconductor」の2種類の表記がある。
さらに詳細をlsusb -vで見てみると下記の通りだが、検索してみたところ「Weltrend Semiconductor」が正当のようだ。

# lsusb -v -s 002:002

Bus 002 Device 002: ID 040b:2201 Weltrend Semiconductor
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x040b Weltrend Semiconductor
  idProduct          0x2201
  bcdDevice            0.02
  iManufacturer           1 Weltrent Semiconductor, Inc.
  iProduct                2 HID Device
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           50
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      71
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
        UNRECOGNIZED:  09 21 00 01 00 01 22 47 00
#

単純にUSBで接続するにあたり、「USB HID Controller WT65xxシリーズ」を使っているだけのようで、このベンダは電力計とは直接つながりはなさそうな感じである。

# cat /proc/bus/usb/devices
<略>
T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=040b ProdID=2201 Rev= 0.02
S:  Manufacturer=Weltrent Semiconductor, Inc.
S:  Product=HID Device
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=82(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
E:  Ad=01(O) Atr=03(Int.) MxPS=  64 Ivl=1ms
<略>
#

ざっと検索してみたところ、「ID 040b:2201」というデバイスの例は見当たらないようだ。
(ID 040b:2011とかはある)

USBプロトコル解析とかになると、機材無いからできないねん・・・

Windows Sevrer 2012R2のプレビューが出た


2013/06/03にあったMicrosoft TechEd2013にて発表があったWindows Server 2012R2/System Center 2012R2/SQL Server 2014のプレビュー版が公開された。
(Microsoft unveils what’s next for enterprise IT)


Windows Server 2012R2関連は、使用期限が2014年1月15日まで
Windows Server 2012 R2 Preview
Windows Server 2012 R2 Datacenter Preview ISO
Windows Server 2012 R2 Datacenter Preview VHD Server Core
Windows Server 2012 R2 Datacenter Preview VHD GUI仕様サーバ
Windows Server 2012 R2 Datacenter Preview on Windows Azure

Windows Server 2012 R2 Developer Preview
Windows Server 2012 R2 Datacenter Preview ISO
Windows Server 2012 R2 Datacenter Preview VHD Server Core
Windows Server 2012 R2 Datacenter Preview VHD GUI仕様サーバ
Windows Server 2012 R2 Datacenter Preview on Windows Azure

Developer Previewと、そうでないのの違いがよく分からない。

Windows Server 2012 R2 Essentials Preview
Windows Server 2012 R2 Essentials

Windows Server 2012R2に関しての資料
Windows Server 2012 R2 Preview 評価用リソース


System Center 2012R2プレビューは、インストール後180日
Microsoft System Center 2012 R2 Preview
このファイルのみなぜか、Google Chromeだとダウンロードができなかった。
解説「System Center 2012 R2 プレビュー

Microsoft System Center 2012 R2 Configuration Manager および Endpoint Protection Preview
解説「System Center 2012 Configuration Manager


SQL Server 2014 CTP1は、インストール後180日もしくは2013年12月31日までの短い方。
Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)
評価版(ISO) (SQLServer2014CTP1-x64-ENU.iso)
評価版(CAB) (SQLServer2014CTP1-x64-ENU_Core.box,SQLServer2014CTP1-x64-ENU_Install.exe,SQLServer2014CTP1-x64-ENU_Lang.box)
Preview SQL Server 2014 CTP1 on Azure
の3種類がダウンロード可能