コンピュータ/ソフトウェア関連Tips

LANDISK HDL-GXR Debian Squeeze化

作成日: Sep 15, 2014
カテゴリー: LANDISK タグ: LANDISK

IO-DATAのLANDISK HDL-GXRをDebian Squeeze化したときのメモです。

はじめに

低消費電力のLINUX BOXが欲しいなぁ…と思ってネットをさまよっていたところ、LINUX BOXLANDISK HDL-GXRシリーズをDebian Squeeze化した記事を発見。

HDL-GXRをDebian Lennyで使えるようにする http://blog.usoinfo.info/article/390871326.html

シリアルコンソールがなくても、HDL-GXRのカーネルを2.6.28に入れ替える http://blog.usoinfo.info/article/390873934.html

HDL-GXRをSqueeze化する http://blog.usoinfo.info/article/390884654.html

HDL-GXRに最新の2.6系カーネル(2.6.39.4)を入れる http://blog.usoinfo.info/article/390942728.html

Debian Squeezeは、2014年5月31日をもってサポート終了。(2016年2月までLong-term supportなのだが、arm(armel)は対象外)。 上記記事には、Version 2.6.28のカーネルとrootfsも掲載されているのだが、起動できなかったので、上記記事の手順に沿って、 OPEN LANDISK PLATFORM Linux Ver. 2.0→Debian Lenny化→Kernel 2.6.28化→Squeeze化を行い、Version 2.6.39.4のカーネルとカーネルモジュールは、上記サイトに掲載されていたものを使用し、autofs4のみ自分で作成。設定たゴールは、Podcastダウンロード用のRubyスクリプトの実行。コードの冒頭が以下のようになっている。

require 'rubygems'
require 'mechanize' # sudo gem install mechanize
require 'open-uri'
require 'nokogiri'
require 'fileutils'
require 'time'
require 'date'
require 'sys/filesystem' # sudo gem install sys-filesystem
require 'uri'
require 'mail' # sudo gem install mail
require 'net/http'
require 'taglib' # sudo yum install taglib-devel and sudo gem instal taglib-ruby

autofs4カーネルモジュールのビルド

実際は、工程の最後の方で作業したのですが、もしもutofs5を使うつもりなら、最初の段階で作業しておいた方が良いでしょう。

$ sudo aptitude install autofs5

をしたところ、以下のエラーが発生。

Starting automount: Error: failed to load autofs4 module.
invoke-rc.d: initscript autofs, action "start" failed.
dpkg: autofs5 の処理中にエラーが発生しました (--configure):
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました
configured to not write apport reports
 以下のパッケージの処理中にエラーが発生しました:
 autofs5
E: Sub-process /usr/bin/dpkg returned an error code (1)
パッケージをインストールできませんでした。復旧を試みています:
autofs5 (5.0.4-3.2) を設定しています ...
Starting automount: Error: failed to load autofs4 module.
invoke-rc.d: initscript autofs, action "start" failed.
dpkg: autofs5 の処理中にエラーが発生しました (--configure):
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました
以下のパッケージの処理中にエラーが発生しました:
 autofs5

.configを確認したところ、

# CONFIG_AUTOFS4_FS is not set

となっており、autofs4が有効になっていない。カーネル再構築か…やだなぁ…と思っていたが、modprobeコマンドで、モジュールを追加できるということを知った。しかし、autofs4のビルドは必要。.configを読み込んで、autofs4w有効にしてカーネルビルド。出来たautofs4.koを/lib/modules/2.6.39.4usoinfo/autofs4.koに配置して、

$ sudo modprobe autofs4

を実行。その後、lsmodを実行して、モジュールが読み込まれたかどうか確認。

$ lsmod
Module                  Size  Used by
ipv6                  236092  23
autofs4                19382  0

実は、最初は、autofs4.koを/lib/modules/2.6.39.4usoinfo/kernel/fs/autofs4/autofs4.koに配置したのだが、

FATAL: Module autofs4 not found.

になってしまった。

恒久的な設定は、/etc/modules。

$ cd /etc
$ sudo cp modules modules.original
$ sudo vi modules

autofs4 を追加し、再起動。再起動後に、lsmodで確認。

$ lsmod
Module                  Size  Used by
ipv6                  236092  23
autofs4                19382  0

この状態で、

$ sudo aptitude install autofs5

は何の問題も無くインストールに成功。