大トリはNetwalker上にGentooの最新環境を構築する
Gentoo Prefix on Netwalkerを試してみました。
これがちゃんと動作出来れば、Netwalker上でGentooを動かしまして
Gentooはローリングリリースなので、
常に最新環境へとemergeで出来る様になります。
長年の大きな悩みが一つなくなることになりますので
是非試してみて下さい。
○Gentoo Prefix on Netwalkerとは
Gentoo PrefixとはGentoo Linux のパッケージ管理システムの
portageを/ 直下以外の接頭辞(prefix)付きの場所($HOME/gentoo など)に
インストールすることにより様々な環境で使えるようにする手法です。
まいどのchrootみたいなものでしょうか。
Linux、Unix問わず様々な環境下で最新のGentooを
ガリガリコンパイルします。
Netwalkerの場合、どうしてもJauntyの制約がある為に
環境をアップデート出来ない悩みがあります。
Jaunty環境を残したまま、Gentooでローリングリリース出来れば
大変重宝します。
Armelなのでコンパイルが大変ですが
是非試してみましょう。
〇Gentoo Prefixコンパイル
今回はこちらの「あんどきゅめんとでびあん」とリンク先のGentoo Prefixを参考にしました。
オープンソースカンファレンスでDebianの開発者さんにふれられなければ、
多分気づきもしなかったと思います。感謝です。
あんどきゅめんとでびあん 大統一Debian勉強会
Gentoo Prefix Bootstrap Process for UNIX-like systems
まずPython 2.7が必要です。Jauntyには対応していないので、
こちらをダウンロードしてコンパイルします。
前回のブログでネタにしましたので割愛します。
モバイルUbuntu、NetWalker登場 Python 2.7.3 最新版コンパイル編 その174
Python2.7をmake installしましたら、
Gentoo Prefix環境のコンパイル。コンパイルには開発環境と関連パッケージが必要です。
今のバージョンの所は特に依存性が満たされてインストール可能です。
たぶんインストール済みかと思いますが。
上のページのままでまずは関連パッケージをインストール。
sudo apt-get install bzip2 build-essential bison libreadline-dev libncurses-dev autoconf lzma
つぎに、Prefix をインストールする場所を決めて、変数EPREFIX に設定し、PATH も通しておきます。
$ export EPREFIX="$HOME/gentoo"
$ export PATH="$EPREFIX/usr/bin:$EPREFIX/bin:$EPREFIX/tmp/usr/bin:$EPREFIX/tmp/bin:/usr/bin:/bin:$PATH"
次にスクリプトファイルをダウンロード
http://overlays.gentoo.org/proj/alt/browser/trunk/prefix-overlay/scripts/bootstrap-prefix.sh
リンク先のページの左下にテキストファイルのリンクがあります。
ダウンロードしたらさっそく設定。
$ chmod 755 bootstrap-prefix.sh
$ ./bootstrap-prefix.sh $EPREFIX tree
$ ./bootstrap-prefix.sh $EPREFIX portage
NetwalkerのJaunty環境は古すぎるので丸ごとGentooを入れます。
$ ./bootstrap-prefix.sh $EPREFIX/tmp stage1
$ ./bootstrap-prefix.sh $EPREFIX stage2
$ ./bootstrap-prefix.sh $EPREFIX stage3
$ hash -r
終わりましたらemergeでアップデート
$ emerge -e system
ついでにスタートアップスクリプトも作っておきましょう。
再起動した時なんかにPrefix環境にする為にまず実行します。
$ cd $EPREFIX/usr/portage/scripts
$ ./bootstrap-prefix.sh $EPREFIX startscript
ここまで運よくemerge出来た方は後は好きなパッケージをゴリゴリコンパイルするだけです。
Netwalkerのスペックではとっても時間がかかるので今日はここまで。
自己責任で試して見て下さい。
○まとめ
多分動くはずです。動きました。
PythonがJauntyでも比較的簡単に動くので助かります。
タイミングの運が良かったですね...
もう少しずれていたらNGでしょう。
コンパイルはいつもの通り長すぎるのでマジなんともなりません。
終わりませんw
ARMだから仕方のないでしょうね。
SSDが気になる方はMicroSDにPrefixを作りましょう。
スクリーンショットはemergeが動いた所まで。
是非Gentooを使ってみましょう。

【Netwalkerの最新記事】
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
- モバイルUbuntu、NetWalker..
私のNetwalkerではstage2までは問題無いのですが、stage3において以下のメッセージが表示されて成功しません。
oktom@oktom:~$ ./bootstrap-prefix.sh $EPREFIX stage3
* Bootstrapping Gentoo prefixed portage installation using
* host: armv7l-pc-linux-gnu
* prefix: /home/oktom/gentoo
* ready to bootstrap stage3
[ebuild N *] sys-apps/sed-4.2.1-r1 USE="-acl -nls (-selinux) -static"
The following keyword changes are necessary to proceed:
#required by sys-apps/sed (argument)
=sys-apps/sed-4.2.1-r1 **
NOTE: The --autounmask-keep-masks option will prevent emerge
from creating package.unmask or ** keyword changes.
Use --autounmask-write to write changes to config files (honoring CONFIG_PROTECT).
どうもマスクされた**のところに何か必要な様なのですが・・・
もし分かるようでしたらご指南願いたく思います。
よろしくお願い致します。
emerge --autounmask-write=y sys-apps/sed
みたいな感じでautoumaskエラーは回避できるはずです。
一度試してみて下さいな。
ご指摘のとおり、
emerge --autounmask-write=y sys-apps/sed
を行ってみました。すると、以下の様に表示されます。
oktom@oktom:~$ emerge --autounmask-write=y sys-apps/sed
* IMPORTANT: 4 config files in '/home/oktom/gentoo/etc/portage' need updating.
* See the CONFIGURATION FILES section of the emerge
* man page to learn how to update config files.
Calculating dependencies... done!
[ebuild N *] sys-apps/sed-4.2.1-r1 USE="-acl -nls (-selinux) -static"
The following keyword changes are necessary to proceed:
#required by sys-apps/sed (argument)
=sys-apps/sed-4.2.1-r1 **
NOTE: The --autounmask-keep-masks option will prevent emerge
from creating package.unmask or ** keyword changes.
Autounmask changes successfully written. Remember to run dispatch-conf.
これによると、4つほどconfigファイルをアップデートする必要がある様なのですが何か分かりますでしょうか?
とりあえず、現況をバックアップした上で、ファクトリーリカバリー状態でも試してみる次第です。
以上、よろしくお願い致します。
こちらに書きましたがUSEフラグを設定してくださいな。
この部分です。
USE="-acl -nls (-selinux) -static"
モバイルUbuntu、NetWalker登場 Gentoo Prefix on Netwalker コンパイルエラー対策 Gentoo勉強編 その177
http://kapper1224.sblo.jp/article/58318465.html