ページへ戻る

− Links

 印刷 

GentooLinuxな生活​/全てCatalystで済ます のバックアップソース(No.1) :: Nest Of Hawk

xpwiki:GentooLinuxな生活/全てCatalystで済ます のバックアップソース(No.1)

  Next »[4]
[[Gentoo Linuxな生活]]

*多分一発ではうまくいきません [#jb82a625]
やり方だけは書きますが、[[トラブルシューティング>/GentooLinuxな生活/トラブルシューティング]]を見てもらった方がいいね。


*ベースとなる設定ファイル例 [#x0b9378c]
/usr/share/doc/catalyst-X.X.X/examples/配下に定義ファイルの見本が入っております。これをベースに行うのが吉。

*まずは準備 [#ebaa6559]
作業フォルダを作ります。
 # mkdir -p /var/tmp/catalyst/build
次。[[gentooミラーサイト:http://www.gentoo.org/main/ja/mirrors.xml]]から、Stage3tarballを落としてきます。それを上のフォルダに置きます。
*それでは順番に [#tb26721e]
*catalystの設定 [#m3e66f18]
/etc/catalyst/catalyst.confという設定ファイルがあります。こいつらをいじってやります。コメントみながらやってね。コメントは長いので削除。
 distdir="/usr/portage/distfiles"             ダウンロードしたソースtarballがある場所
 options="pkgcache kerncache distcc"   catalyst動作モード。ここではdistccを追加してまーす
 sharedir="/usr/lib/catalyst"                 catalyst実行スクリプトの場所。変える必要無し
 envscript="/root/catalyst/catalyst.env" catalyst実行中の環境変数定義ファイル
で、最後のcatalyst.envはmake.confに書く環境変数のコトです。おいちゃんはこんな感じにしてみた。
 export MAKEOPTS="-j6"
 export LINGUAS="ja"
 export CHOST="i686-pc-linux-gnu"
**snapshot作成 [#ndd5c17c]
[[gentooミラーサイト:http://www.gentoo.org/main/ja/mirrors.xml]]に置いてある、portageのスナップショット相当を作成します。まずはsnapshot作成用のサンプルファイルsnapshot_template.specを持ってきて、編集します。
 # cp /usr/share/doc/catalyst-X.X.X/examples/snapshot_template.spec /root/catalyst/snapshot.spec
編集します。中身
 target: snapshot                           ←snapshot作成を指示
 version_stamp: 20050603             ←タイムスタンプは適当に決める
 #portdir_overlay:                         ←portage上書き設定がある場合はこれに書く

で、以下を実行する
 # catalyst -f snapshot.spec
すると、/var/tmp/catalyst/snapshots配下に、snapshot-<version_stamp>.tar.bz2ができあがります。
**livecd-stage1 [#d07206e5]
今度はlivecdのルートイメージ作成。まずはlivecd-stage1用のサンプルファイルlivecd-stage1_template.specをもってきます
 # cp /usr/share/doc/catalyst-X.X.X/examples/livecd-stage1_template.spec /root/catalyst/livecd-stage1.spec
中身を編集します。
 #コンパイルするアーキテクチャ指定。gccの-marchと同等だね。athlonもよし、pentium4もよし
 subarch: x86
 #タイムスタンプ
 version_stamp: 20050605
 #livecd-stage1作成を指示
 target: livecd-stage1
 # リリースタイプ。デフォルトで問題なし
 rel_type: default
 # プロファイル。/usr/portage/profilesの下のどれを使うか
 profile: default-linux/x86/2005.0
 # どのsnapshotを使用するか。上で作ったスナップショットのversion_stamp部分を書く
 snapshot: 20050603
 # どのstage3イメージを使うか。/var/tmp/catalyst/buildsの下に置いたtar.bz2をのぞいたstage3イメージ名
 source_subpath: stage3-x86-2005.0
 # distccを使用する場合のホスト。別になくてもよい
 distcc_hosts: 192.168.1.1 192.168.1.2 192.168.1.3
 # portageの動きを制御するpackage.xxxファイルがおいてある場所
 portage_confdir: /etc/portage
 # USEフラグの指定。今回はXが起動するlivecdを作ろうとしてる
 livecd/use: ipv6 socks5 livecd fbcon ncurses readline ssl X kde \
                  alsa a52 aac cdda cddb dts dvd stream nptl nptlonly \
                  ithreads ffmpeg unicode wxwindows
 # 入れ込むパッケージ。好きなもん指定して。デフォルトだとlivecdと同じ物ができる
 livecd/packages: livecd-tools dhcpcd acpid apmd gentoo-sources kudzu-knoppix hotplug \
                         coldplug fxload  gpm syslog-ng parted links raidtools dosfstools nfs-utils \
                         jfsutils xfsprogs e2fsprogs reiserfsprogs ntfsprogs screen iputils \
                         hwdata-knoppix hwsetup lvm2 evms vim mdadm ethtool xorg-x11 \
                         kde vlc ethereal nessus quagga tcpreplay kde-i18n iptables vconfig \
                         ebtables rp-pppoe openvpn rp-l2tp freeradius radiusclient ipsec-tools \
出来たら以下を実行
 # catalyst -f livecd-stage1.spec
ここからごりごりごりごりごりごりごりごりごりコンパイルがスタートする。/var/tmp/catalyst/tmp/default/livecd-stage1-<version_stamp>ディレクトリにイメージが作られる。このディレクトリ配下がpackageをemergeした後の状態になる。
**livecd-stage2 [#b870e818]
今度はlivecdのISOイメージ作成。まずはlivecd-stage2用のサンプルファイルlivecd-stage2_template.specをもってきます
 # cp /usr/share/doc/catalyst-X.X.X/examples/livecd-stage2_template.spec /root/catalyst/livecd-stage2.spec
中身を編集します。めんどい~
 #livecd-stage1といっしょ
 subarch: x86
 #livecd-stage1といっしょ
 version_stamp:20050606
 #livecd-stage2作成を指示
 target: livecd-stage2
 #livecd-stage1といっしょ
 rel_type: default
 #livecd-stage1といっしょ
 profile: default-linux/x86/2005.0
 #livecd-stage1といっしょ
 profile:snapshot: 20050603
 #livecd-stage1といっしょ
 distcc_hosts: 192.168.1.1 192.168.1.2 192.168.1.3
 #livecd-stage1といっしょ
 portage_confdir: /etc/portage
 #squashfsが一番圧縮率が良いらしい。確実に1/2のサイズになる
 livecd/cdfstype: squashfs
 #デフォルトのまま
 livecd/archscript: /usr/lib/catalyst/livecd/runscript/x86-archscript.sh
 #デフォルトのまま
 livecd/runscript: /usr/lib/catalyst/livecd/runscript/default-runscript.sh
 #デフォルトのまま
 livecd/cdtar: /usr/lib/catalyst/livecd/cdtar/isolinux-2.13-memtest86+-cdtar.tar.bz2
 #このファイル名でisoファイルができる
 livecd/iso: /tmp/livecd-x86-minimal.iso
 #LiveCDみたいなsplashイメージ使いたい場合は
 livecd/splash_type: gensplash
 #LiveCDみたいなsplashイメージ使いたい場合は
 livecd/splash_theme: livecd-2005.0
 #genkernelのオプション
 livecd/gk_mainargs: --lvm2 --dmraid
 #作成するCDのタイプ
 livecd/type: gentoo-livecd
 #起動メッセージだしたければメッセージ書き込んだファイルを指定
 livecd/motd:
 #ハードウェア自動認識時組み込んでほしくないモジュール
 livecd/modblacklist:
 #起動時に起動しておいてほしいサービス。init.dの下にあるシェルを指定する
 livecd/rcadd:
 #起動時に起動してほしくないサービス。init.dの下にあるシェルを指定する
 livecd/rcdel:
 #livecd-stage1といっしょ
 livecd/overlay:
 #上書きしたいルートイメージ
 livecd/root_overlay:
 #/dev配下のファイルシステム。ここではudevを指定
 livecd/devmanager: udev
 #Xを起動するときに使用するxinitrc
 livecd/xinitrc: /root/catalyst/xinitrc
 #gamecdを作りたいときの指定
 gamecd/conf:
 #カーネルイメージ名
 boot/kernel: gentoo
 #カーネル構築に使用するカーネルソースツリー
 boot/kernel/gentoo/sources: gentoo-sources
 #カーネル構築に使用するカーネル設定ファイル
 boot/kernel/gentoo/config: /root/catalyst/2.6.11-smp.config
 #なんだろう?
 boot/kernel/gentoo/gk_kernargs:
 #livecd-stage2で使用するUSEフラグ
 boot/kernel/gentoo/use: pcmcia usb X
 #なんだろう?
 boot/kernel/gentoo/extraversion:
 #デフォルトのまま。splashテーマ出したいから指定してる
 boot/kernel/gentoo/postconf: splashutils splash-themes-livecd
 #追加インストールするパッケージ
 boot/kernel/gentoo/packages: pcmcia-cs speedtouch slmodem globespan-adsl hostap-driver \
                                             hostap-utils ipw2100 ipw2200 fritzcapi fcdsl cryptsetup
 #ISOイメージ作るときに抜いてしまうパッケージ
 livecd/unmerge: acl attr autoconf automake bin86 binutils libtool m4 bison ld.so make perl \
                        patch linux-headers man-pages sash bison flex gettext texinfo ccache distcc \
                        addpatches man groff lib-compat miscfiles rsync sysklogd bc lcms libmng \
                        genkernel diffutils libperl gnuconfig gcc-config gcc bin86 cpio cronbase ed \
                        expat grub lilo help2man libtool gentoo-sources
 #ISOイメージ作成時に空にするディレクトリ
 livecd/empty: /var/tmp /var/cache /var/db /var/empty /var/lock /var/log /var/run \
                     /var/spool /var/state /tmp /usr/portage /usr/share/man /usr/share/info \
                     /usr/share/unimaps /usr/include /usr/share/zoneinfo /usr/share/dict \
                     /usr/share/doc /usr/share/ss /usr/share/state /usr/share/texinfo  \
                     /usr/lib/python2.2 /usr/lib/portage /usr/share/gettext /usr/share/i18n \
                     /usr/share/rfc /usr/lib/X11/config /usr/lib/X11/etc /usr/lib/X11/doc /usr/src \
                     /usr/share/doc /usr/share/man /root/.ccache /etc/cron.daily /etc/cron.hourly \
                     /etc/cron.monthly /etc/cron.weekly /etc/logrotate.d /etc/rsync \
                     /usr/lib/awk /usr/lib/ccache /usr/lib/gcc-config /usr/lib/nfs /usr/local
                     /usr/diet/include /usr/diet/man /usr/share/consolefonts/partialfonts \
                     /usr/share/consoletrans /usr/share/emacs /usr/share/gcc-data \
                     /usr/share/genkernel /etc/bootsplash/gentoo \
                     /etc/bootsplash/gentoo-highquality /etc/splash/gentoo /etc/splash/emergence \
                     /usr/share/gnuconfig /usr/share/lcms /usr/share/locale /etc/skel
 #ISOイメージ作成時に消してしまうファイル
 livecd/rm: /lib/*.a /usr/lib/*.a /usr/lib/gcc-lib/*/*/libgcj* /etc/dispatch-conf.conf \
                /etc/etc-update.conf /etc/*- /etc/issue* /etc/make.conf /etc/man.conf \
                /etc/*.old /root/.viminfo /usr/sbin/bootsplash* /usr/sbin/fb* /usr/sbin/fsck.cramfs \
                /usr/sbin/fsck.minix /usr/sbin/mkfs.minix /usr/sbin/mkfs.bfs /usr/sbin/mkfs.cramfs \
                /lib/security/pam_access.so /lib/security/pam_chroot.so /lib/security/pam_debug.so \
                /lib/security/pam_ftp.so /lib/security/pam_issue.so /lib/security/pam_mail.so \
                /lib/security/pam_motd.so /lib/security/pam_mkhomedir.so \
                /lib/security/pam_postgresok.so /lib/security/pam_rhosts_auth.so \
                /lib/security/pam_userdb.so /usr/share/consolefonts/1* /usr/share/consolefonts/7* \
                /usr/share/consolefonts/8* /usr/share/consolefonts/9* /usr/share/consolefonts/A* \
                /usr/share/consolefonts/C* /usr/share/consolefonts/E* /usr/share/consolefonts/G* \
                /usr/share/consolefonts/L* /usr/share/consolefonts/M* /usr/share/consolefonts/R* \
                /usr/share/consolefonts/a* /usr/share/consolefonts/c* /usr/share/consolefonts/dr* \
                /usr/share/consolefonts/g* /usr/share/consolefonts/i* /usr/share/consolefonts/k* \
                /usr/share/consolefonts/l* /usr/share/consolefonts/r* /usr/share/consolefonts/s* \
                /usr/share/consolefonts/t* /usr/share/consolefonts/v* /etc/splash/livecd-2005.0/16* \
               /etc/splash/livecd-2005.0/12* /etc/splash/livecd-2005.0/6* /etc/splash/livecd-2005.0/8*\
               /etc/splash/livecd-2005.0/images/silent-16* /etc/splash/livecd-2005.0/images/silent-12* \
               /etc/splash/livecd-2005.0/images/silent-6* /etc/splash/livecd-2005.0/images/silent-8* \
               /etc/splash/livecd-2005.0/images/verbose-16* /etc/splash/livecd-2005.0/images/verbose-12* \
               /etc/splash/livecd-2005.0/images/verbose-6* etc/splash/livecd-2005.0/images/verbose-8* \
               /etc/make.conf.example /etc/make.globals /etc/resolv.conf

で、以下を実行
 # catalyst -f livecd-stage2.spec
すると、先ほどlivecd-stage1で作ったフォルダをrsyncで/var/tmp/catalyst/tmp/default/livecd-stage2-<version_stamp>と言うフォルダにコピーして、ISOイメージを作ってくれます。


  Next »[4]