はじめに
背景
Vine 3.1 がリリースされたら
Vine 3.1 をベースにしたハックキットをリリースしようと考えていたのだが、
Vine 3.1 のパッケージそのままでは動作しないことがわかり、
ハックキットの新版は出さないことにした。
というのも、Vine Project から新しいパッケージがリリースされるたびに
その修正版を出さなければならず、事実上無理と感じたからである。
といいつつも Vine 3.1 化の要望を多くいただいたので、
あくまでご自身でアップデートいただくためにこのページを書くことにした。
LinkStation/玄箱 + Vine 3.1 の問題
決して、Vine Linux 3.1 が問題を抱えているのではないので、
誤解のないようにしていただきたい。
現象
Vine Project 謹製のパッケージをそのまま
LinkStation/玄箱 のカーネル 2.4.17 で使用すると、
いろいろなプログラムが
error while loading shared libraries: libtermcap.so.2: cannot enable executable stack as shared object requires: Error 14
というエラーを出し起動しない。
ハックキットの起動に必要なプログラムまでがそのエラーになるため、
ハックキットが起動しない。
原因
実はよくわかっていない(汗)
Exec shield というセキュリティ機構
(不正なメモリへのアクセスを禁止する仕組み)が
新しいカーネル/ライブラリには組み込まれているとの事。
回避策
いろいろ試行錯誤していたのだが、
浦島さんから
「glibc にパッチをあててリビルドすれば、カーネル 2.4.17 でも動作する」と
教えていただいた。
逆に言えば、カーネル 2.4.17 で動作させるには、
glibc にパッチをあててリビルドしないといけないのである。
警告
上記 glibc へのパッチは、セキュリティ機構を無効にするパッチである。
コンピュータウィルスやバグつきのプログラムから
システムを防御する仕組みを無効にするわけであるから、
その危険性を承知の上でパッチを適用、使用する必要がある。
あなたはアップデートに追従できるか?
Vine Project から新しい glibc パッケージがリリースされる度に
その修正版を自分で作成しないといけない。
自分で情報収集ができない方
glibc パッケージにパッチをあててリビルドできない方
glibc のりビルドにおいて問題が発生しても解決できない方
は、Vine 3.1 にアップデートしない事を強く推奨する。
えらそーなこと書いているが、
私自身上記をクリアする自信がないので
ハックキット 2.0 を出さない(注)ことにしたのである。
注:
書籍「玄箱をハックしよう」に添付の CD-ROM には上級者向けとして
ハックキット2.0α版を収録しています
Copyright (C) 2005 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市