「ファームウェアの組み込み(wheezy)」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
*wheezyでファームウェアの組み込み
以前にetchで構成したときと同じように玄箱PROならではのマイコン制御などを使えるようにしておく。
Lennyあたりから玄箱PROが標準サポートされているみたいなので改めてメモを残す。
**/mntの構成
まずはNANDブート時と同じ/mntの構成にしておく
> mkdir /mnt/authtest
> mkdir /mnt/boot
> mkdir /mnt/disk1
> mkdir /mnt/mtd
> mkdir /mnt/nfs
> mkdir /mnt/ram
> mkdir /mnt/root
> mkdir /mnt/rootfs
> mkdir /mnt/usbdisk1
> mkdir /mnt/usbdisk2
**マイコン制御
以前は/usr/local/buffalo以下にあったmiconaplを使えるように構成していたが、いまはmicro-evtdパッケージに含まれるmicroaplが使えるらしい
これでファン制御も電源ボタン制御もできるみたい
> KUROBOX-PRO:~# aptitude show micro-evtd
> Package: micro-evtd
> State: installed
> Automatically installed: no
> Version: 3.4-2
> Priority: optional
> Section: utils
> Maintainer: Ryan Tandy <ryan@nardis.ca>
> Architecture: armel
> Uncompressed Size: 101 k
> Depends: libc6 (>= 2.7)
> Description: Linkstation Pro/Kurobox Pro special features support
> This package provides micro-evtd, a daemon to monitor and control the watchdog timer,
> fans and buttons on the Linkstation Pro/Kurobox Pro family of NAS devices, and microapl,
> a utility to control the status LEDs and buzzer as well as the above.
> Homepage: http://www.sourceforge.net/projects/ppc-evtd
というわけではじめから導入されているので、追加の設定は不要みたい
> KUROBOX-PRO:~# microapl -a temp_get
> #[microapl.temp_get]
> temp=30[C-degs]
ちゃんと動いてる。
コマンドはこんな感じ
> KUROBOX-PRO:~# microapl
> option: boot_start
> boot_end
> power_off
> shutdown_wait
> shutdown_cancel
> skip_standby
> delay_standby [arg]
> standby_remaining
> standby
> reboot
> temp_get
> fan_set_speed [arg]
> fan_get_speed
> bz_on [arg]
> bz_set_freq [arg]
> bz_melody tempo note ...
> bz_imhere tempo note ...
> int_get_switch_status [arg]
> led_set_bright [arg]
> led_set_cpu_mcon [arg]
> led_set_on_off [arg]
> led_set_blink [arg]
> led_set_code_error [arg]
> led_set_code_information [arg]
> led_set_cpu_mcon [arg]
> mcon_get_status
> hdd_set_power [arg]
> mcon_get_version
**ファン制御
現時点でどうなっているのか確認してみる。
> KUROBOX-PRO:~# microapl -a temp_get
> #[microapl.temp_get]
> temp=30[C-degs]
> KUROBOX-PRO:~# microapl -a fan_get_speed
> #[microapl.fan_get_speed]
> fan_rpm=1800rpm
30度で1800rpm、となっているが設定上のstop,slow,fast,fullのどれだか分からない。
> KUROBOX-PRO:~# microapl -a fan_set_speed stop
> KUROBOX-PRO:~# microapl -a fan_get_speed
> #[microapl.fan_get_speed]
> fan_rpm=0rpm
もちろんstopだと0
> KUROBOX-PRO:~# microapl -a fan_set_speed slow
> KUROBOX-PRO:~# microapl -a fan_get_speed
> #[microapl.fan_get_speed]
> fan_rpm=1770rpm
slowだと1800rpmくらいか、さっきはslowだったと思われる。
> KUROBOX-PRO:~# microapl -a fan_set_speed fast
> KUROBOX-PRO:~# microapl -a fan_get_speed
> #[microapl.fan_get_speed]
> fan_rpm=2610rpm
fastだと2600rpm
> KUROBOX-PRO:~# microapl -a fan_set_speed full
> KUROBOX-PRO:~# microapl -a fan_get_speed
> #[microapl.fan_get_speed]
> fan_rpm=3480rpm
fullで3400rpm
設定ファイルはどうなっているかというと
> KUROBOX-PRO:~# cat /etc/micro-evtd.conf
> # micro-evtd Configuration File
>
> #
> # $Id$
> #
>
> # Tmp/ram disk location
> # Linkstations have a ramdisk for /tmp, so sub-folders normally get lost
> # TMP=/tmp
>
> # Debug log file location
> # LOG=/var/log
>
> # Advanced use only. Will log events when enabled
> # DEBUG=0
>
> # Default on, set to off to disable fan control or fixed speed 1-4
> # MONITOR=ON
>
> # Default 40 seconds and ON, daemon refresh rate and status update demand
> # REFRESH=40,ON
>
> # Default 30 seconds, fan stationary timer
> # FANSTOP=30
>
> # Default 35 45 50 60, temperature/fan controls
> # 35 - slow, normal running ~33 C-deg
> # 45 - fast
> # 50 - full
> # 60 - Too hot alarm, overheat
> # TEMP-RANGE=35 45 50 60
>
> # Default yes, set to YES to use average sampled temp to
> # give a smoother control of fan speed
> # TREND=YES
>
> # Default 2, specify fan/temp control hysteresis 1-5
> # HYSTERESIS=2
>
> # Default is shutdown, specify action of button events
> # BUTTON=SHUTDOWN
>
> # Low power (standby) timer control
> # SUN-SAT=
>
> # Delay standby event owing to following present processes
> # DELAY-STANDBY=
> KUROBOX-PRO:~#
よくみる静かな設定が↓なので、その設定にしたいが、デフォルトの方が閾値が高くなっているようす
> stop - 20
> slow 20 35
> fast 35 45
> full 45
とりあえず、DEBUG、SUN-SAT、DELAY-STANDBY以外はコメントを外してようすをみる
**uBoot環境設定
以前は/usr/local/buffalo以下にあったnvramを使えるように構成していたが、uboot-envtoolsでfw_printenvやfw_setenvが使えるらしい
> KUROBOX-PRO:~# which fw_printenv
> /usr/bin/fw_printenv
> KUROBOX-PRO:~# which fw_setenv
> /usr/bin/fw_setenv
> KUROBOX-PRO:~# find /etc -name fw_env.config
> KUROBOX-PRO:~# fw_printenv
> Cannot parse config file: No such file or directory
デフォルトではこんな状態。設定ファイルが無いので動かない。
fw_env.configを配置すればよさそうだが、どんな設定をすればよいのか分からない。
uboot-envtoolsを入れると配置されるkurobox_pro.configをコピーするような記述を見かけるが、とりあえず今どういう状況なのか確認してみる。
> KUROBOX-PRO:~# aptitude show uboot-envtools
> Package: uboot-envtools
> State: not installed
> Version: 20081215-3+2012.04.01-2
> Priority: extra
> Section: utils
> Maintainer: Clint Adams <clint@debian.org>
> Architecture: all
> Uncompressed Size: 64.5 k
> Depends: u-boot-tools
> Description: read/modify the environment for the U-Boot boot loader (transitional package)
> Package to ease upgrading from uboot-envtools to u-boot-tools.
>
> This package may safely be removed.
> Homepage: http://www.denx.de/wiki/U-Boot/
導入されていないみたいだけど、まずは設定ファイルの配置だけでいけるか確認してみる
kurobox_pro.configの内容を探してきた。
> KUROBOX-PRO:~# vi /etc/fw_env.config
> # Configuration file for fw_(printenv/saveenv) utility.
> # Up to two entries are valid, in this case the redundant
> # environment sector is assumed present.
>
> # MTD device name Device offset Env. size Flash sector size
> /dev/mtd0 0x3F000 0x1000 0x1000
これで保存して、fw_printenvを試してみる。
> KUROBOX-PRO:~# fw_printenv
> baudrate=115200
> loads_echo=0
> ipaddr=192.168.11.150
> serverip=192.168.11.1
> rootpath=/nfs/arm
> cpuName=926
> CASset=min
> MALLOC_len=4
> bootargs_end=:::DB88FXX81:eth0:none
> ethact=egiga0
> ethaddr=XX:XX:XX:XX:XX:XX
> stdin=serial
> stdout=serial
> stderr=serial
> enaMonExt=no
> enaFlashBuf=yes
> enaCpuStream=no
> ethprime=egiga0
> buffalo_ver=BOOTVER=1.091
> build_time=18:10:02
> initrd=initrd.buffalo
> kernel=uImage.buffalo
> nand_uImage_offset=20000
> default_initrd_addr=0x02000000
> def_tftp=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(initrd); setenv bootargs $(bootargs_base) $(bootargs_root) rw initrd=0x02000040,20M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)
> bootdelay=3
> disaMvPnp=no
> overEthAddr=no
> usb0Mode=host
> usb1Mode=host
> default_kernel_addr=0x00100000
> bootargs_base=console=ttyS0,115200
> bootargs_root=root=/dev/mtdblock2 rw panic=5
> bootargs=$(bootargs_base) $(bootargs_root) $(buffalo_ver)
> nand_boot=yes
> bootcmd=ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); ext2load ide 0:1 $(default_initrd_addr) /$(initrd); setenv bootargs $(bootargs_base); bootm $(default_kernel_addr) $(default_initrd_addr)
動いた。問題なさそう。
ついでにfw_setenvでnand_bootあたりを書き換えてみる
> KUROBOX-PRO:~# fw_setenv nand_boot no
> KUROBOX-PRO:~# fw_printenv
> :
> :
> nand_boot=no
問題なさそう。戻しておく。
> KUROBOX-PRO:~# fw_setenv nand_boot yes
*wheezyでファームウェアの組み込み
以前にetchで構成したときと同じように玄箱PROならではのマイコン制御などを使えるようにしておく。
Lennyあたりから玄箱PROが標準サポートされているみたいなので改めてメモを残す。
**/mntの構成
まずはNANDブート時と同じ/mntの構成にしておく
> mkdir /mnt/authtest
> mkdir /mnt/boot
> mkdir /mnt/disk1
> mkdir /mnt/mtd
> mkdir /mnt/nfs
> mkdir /mnt/ram
> mkdir /mnt/root
> mkdir /mnt/rootfs
> mkdir /mnt/usbdisk1
> mkdir /mnt/usbdisk2
**マイコン制御
以前は/usr/local/buffalo以下にあったmiconaplを使えるように構成していたが、いまはmicro-evtdパッケージに含まれるmicroaplが使えるらしい
これでファン制御も電源ボタン制御もできるみたい
> KUROBOX-PRO:~# aptitude show micro-evtd
> Package: micro-evtd
> State: installed
> Automatically installed: no
> Version: 3.4-2
> Priority: optional
> Section: utils
> Maintainer: Ryan Tandy <ryan@nardis.ca>
> Architecture: armel
> Uncompressed Size: 101 k
> Depends: libc6 (>= 2.7)
> Description: Linkstation Pro/Kurobox Pro special features support
> This package provides micro-evtd, a daemon to monitor and control the watchdog timer,
> fans and buttons on the Linkstation Pro/Kurobox Pro family of NAS devices, and microapl,
> a utility to control the status LEDs and buzzer as well as the above.
> Homepage: http://www.sourceforge.net/projects/ppc-evtd
というわけではじめから導入されているので、追加の設定は不要みたい
> KUROBOX-PRO:~# microapl -a temp_get
> #[microapl.temp_get]
> temp=30[C-degs]
ちゃんと動いてる。
コマンドはこんな感じ
> KUROBOX-PRO:~# microapl
> option: boot_start
> boot_end
> power_off
> shutdown_wait
> shutdown_cancel
> skip_standby
> delay_standby [arg]
> standby_remaining
> standby
> reboot
> temp_get
> fan_set_speed [arg]
> fan_get_speed
> bz_on [arg]
> bz_set_freq [arg]
> bz_melody tempo note ...
> bz_imhere tempo note ...
> int_get_switch_status [arg]
> led_set_bright [arg]
> led_set_cpu_mcon [arg]
> led_set_on_off [arg]
> led_set_blink [arg]
> led_set_code_error [arg]
> led_set_code_information [arg]
> led_set_cpu_mcon [arg]
> mcon_get_status
> hdd_set_power [arg]
> mcon_get_version
**ファン制御
現時点でどうなっているのか確認してみる。
> KUROBOX-PRO:~# microapl -a temp_get
> #[microapl.temp_get]
> temp=30[C-degs]
> KUROBOX-PRO:~# microapl -a fan_get_speed
> #[microapl.fan_get_speed]
> fan_rpm=1800rpm
30度で1800rpm、となっているが設定上のstop,slow,fast,fullのどれだか分からない。
> KUROBOX-PRO:~# microapl -a fan_set_speed stop
> KUROBOX-PRO:~# microapl -a fan_get_speed
> #[microapl.fan_get_speed]
> fan_rpm=0rpm
もちろんstopだと0
> KUROBOX-PRO:~# microapl -a fan_set_speed slow
> KUROBOX-PRO:~# microapl -a fan_get_speed
> #[microapl.fan_get_speed]
> fan_rpm=1770rpm
slowだと1800rpmくらいか、さっきはslowだったと思われる。
> KUROBOX-PRO:~# microapl -a fan_set_speed fast
> KUROBOX-PRO:~# microapl -a fan_get_speed
> #[microapl.fan_get_speed]
> fan_rpm=2610rpm
fastだと2600rpm
> KUROBOX-PRO:~# microapl -a fan_set_speed full
> KUROBOX-PRO:~# microapl -a fan_get_speed
> #[microapl.fan_get_speed]
> fan_rpm=3480rpm
fullで3400rpm
設定ファイルはどうなっているかというと
> KUROBOX-PRO:~# cat /etc/micro-evtd.conf
> # micro-evtd Configuration File
>
> #
> # $Id$
> #
>
> # Tmp/ram disk location
> # Linkstations have a ramdisk for /tmp, so sub-folders normally get lost
> # TMP=/tmp
>
> # Debug log file location
> # LOG=/var/log
>
> # Advanced use only. Will log events when enabled
> # DEBUG=0
>
> # Default on, set to off to disable fan control or fixed speed 1-4
> # MONITOR=ON
>
> # Default 40 seconds and ON, daemon refresh rate and status update demand
> # REFRESH=40,ON
>
> # Default 30 seconds, fan stationary timer
> # FANSTOP=30
>
> # Default 35 45 50 60, temperature/fan controls
> # 35 - slow, normal running ~33 C-deg
> # 45 - fast
> # 50 - full
> # 60 - Too hot alarm, overheat
> # TEMP-RANGE=35 45 50 60
>
> # Default yes, set to YES to use average sampled temp to
> # give a smoother control of fan speed
> # TREND=YES
>
> # Default 2, specify fan/temp control hysteresis 1-5
> # HYSTERESIS=2
>
> # Default is shutdown, specify action of button events
> # BUTTON=SHUTDOWN
>
> # Low power (standby) timer control
> # SUN-SAT=
>
> # Delay standby event owing to following present processes
> # DELAY-STANDBY=
> KUROBOX-PRO:~#
よくみる静かな設定が↓なので、その設定にしたいが、デフォルトの方が閾値が高くなっているようす
> stop - 20
> slow 20 35
> fast 35 45
> full 45
とりあえず、DEBUG、SUN-SAT、DELAY-STANDBY以外はコメントを外してようすをみる
> KUROBOX-PRO:~# /etc/init.d/micro-evtd restart
> Restarting Daemon for Linkstation/Kuro micro controller: micro-evtd.
**uBoot環境設定
以前は/usr/local/buffalo以下にあったnvramを使えるように構成していたが、uboot-envtoolsでfw_printenvやfw_setenvが使えるらしい
> KUROBOX-PRO:~# which fw_printenv
> /usr/bin/fw_printenv
> KUROBOX-PRO:~# which fw_setenv
> /usr/bin/fw_setenv
> KUROBOX-PRO:~# find /etc -name fw_env.config
> KUROBOX-PRO:~# fw_printenv
> Cannot parse config file: No such file or directory
デフォルトではこんな状態。設定ファイルが無いので動かない。
fw_env.configを配置すればよさそうだが、どんな設定をすればよいのか分からない。
uboot-envtoolsを入れると配置されるkurobox_pro.configをコピーするような記述を見かけるが、とりあえず今どういう状況なのか確認してみる。
> KUROBOX-PRO:~# aptitude show uboot-envtools
> Package: uboot-envtools
> State: not installed
> Version: 20081215-3+2012.04.01-2
> Priority: extra
> Section: utils
> Maintainer: Clint Adams <clint@debian.org>
> Architecture: all
> Uncompressed Size: 64.5 k
> Depends: u-boot-tools
> Description: read/modify the environment for the U-Boot boot loader (transitional package)
> Package to ease upgrading from uboot-envtools to u-boot-tools.
>
> This package may safely be removed.
> Homepage: http://www.denx.de/wiki/U-Boot/
導入されていないみたいだけど、まずは設定ファイルの配置だけでいけるか確認してみる
kurobox_pro.configの内容を探してきた。
> KUROBOX-PRO:~# vi /etc/fw_env.config
> # Configuration file for fw_(printenv/saveenv) utility.
> # Up to two entries are valid, in this case the redundant
> # environment sector is assumed present.
>
> # MTD device name Device offset Env. size Flash sector size
> /dev/mtd0 0x3F000 0x1000 0x1000
これで保存して、fw_printenvを試してみる。
> KUROBOX-PRO:~# fw_printenv
> baudrate=115200
> loads_echo=0
> ipaddr=192.168.11.150
> serverip=192.168.11.1
> rootpath=/nfs/arm
> cpuName=926
> CASset=min
> MALLOC_len=4
> bootargs_end=:::DB88FXX81:eth0:none
> ethact=egiga0
> ethaddr=XX:XX:XX:XX:XX:XX
> stdin=serial
> stdout=serial
> stderr=serial
> enaMonExt=no
> enaFlashBuf=yes
> enaCpuStream=no
> ethprime=egiga0
> buffalo_ver=BOOTVER=1.091
> build_time=18:10:02
> initrd=initrd.buffalo
> kernel=uImage.buffalo
> nand_uImage_offset=20000
> default_initrd_addr=0x02000000
> def_tftp=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(initrd); setenv bootargs $(bootargs_base) $(bootargs_root) rw initrd=0x02000040,20M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)
> bootdelay=3
> disaMvPnp=no
> overEthAddr=no
> usb0Mode=host
> usb1Mode=host
> default_kernel_addr=0x00100000
> bootargs_base=console=ttyS0,115200
> bootargs_root=root=/dev/mtdblock2 rw panic=5
> bootargs=$(bootargs_base) $(bootargs_root) $(buffalo_ver)
> nand_boot=yes
> bootcmd=ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); ext2load ide 0:1 $(default_initrd_addr) /$(initrd); setenv bootargs $(bootargs_base); bootm $(default_kernel_addr) $(default_initrd_addr)
動いた。問題なさそう。
ついでにfw_setenvでnand_bootあたりを書き換えてみる
> KUROBOX-PRO:~# fw_setenv nand_boot no
> KUROBOX-PRO:~# fw_printenv
> :
> :
> nand_boot=no
問題なさそう。戻しておく。
> KUROBOX-PRO:~# fw_setenv nand_boot yes