Vine Linux 3.2をインストール
インストーラでは、text noapicで実行する。
NVIDIAのグラッフィックカードが対応していなかったので、
NVIDIAよりNVIDIA-Linux-x86-1.0-7676-pkg1.runをダウンロードし、
これでインストール&設定後、グラッフィックが可能になった。
Vine Seed (開発用)にアップグレード?
/etc/apt/sources.listを以下のように変更する。
rpm [vine] http://updates.vinelinux.org/apt VineSeed/i386 main plus rpm-src [vine] http://updates.vinelinux.org/apt VineSeed/i386 main plus
x86_64用パッケージをダウンロード&インストール
http://updates.vinelinux.org/apt/VineSeed/x86_64/RPMS.main/
から順次必要なファイルをダウンロードする。
glibc関係
VineSeedと同じバージョンで、i386/i686とx86_64の違いのみなので、 依存関係に問題がなければ、--forceで入れてしまう。
glibcを入れ換えた時点で、ldconfigなど重要なコマンドが x86_64化されてしまうので注意!x86_64のカーネルインストールし、 それで起動するまではldconfig等は実行できない。
# rpm -Uvh --ignorearch --replacefiles \ compat32-glibc-*2.3.3-3vl12.i686.rpm # rpm -Uvh --ignorearch --replacefiles \ glibc-2.3.3-3vl12.x86_64.rpm \ glibc-common-*2.3.3-3vl12.x86_64.rpm \ glibc-debug-2.3.3-3vl12.x86_64.rpm \ glibc-devel-2.3.3-3vl12.x86_64.rpm \ glibc-profile-2.3.3-3vl12.x86_64.rpm \ glibc-kernheaders-2.6.12.0-0vl1.x86_64.rpm パッケージ glibc-2.3.3-3vl12 は既にインストールされています パッケージ glibc-common-2.3.3-3vl12 は既にインストールされています パッケージ glibc-devel-2.3.3-3vl12 は既にインストールされています パッケージ glibc-kernheaders-2.6.12.0-0vl1 は既にインストールされています # rpm -Uvh --ignorearch --replacefiles --force \ glibc-2.3.3-3vl12.x86_64.rpm \ glibc-common-* glibc-de* \ glibc-kernheaders-2.6.12.0-0vl1.x86_64.rpm \ glibc-profile-2.3.3-3vl12.x86_64.rpm # rpm -Uvh --ignorearch --replacefiles \ nscd-2.3.3-3vl12.x86_64.rpm \ compat32-zlib-* zlib-* #保留# glibc-utils-2.3.3-3vl12.x86_64.rpm \
binutils
/etc/ld.so.conf に /lib64と /usr/lib64 を(先頭に?)加えておく。
/lib64 /usr/lib64 /usr/X11R6/lib /usr/lib
# rpm -Uvh --ignorearch --replacefiles --force \ binutils-2.15.92.0.2-5vl1.x86_64.rpm
kernel
# rpm -Uvh --ignorearch --nodeps \ kernel-smp-2.6.12-0vl11.x86_64.rpm \ kernel-smp-devel-2.6.12-0vl11.x86_64.rpm
/sbin/mkinitrd でエラーが出て、initrdが作成できません。 /sbin/mkinitrd の550行目から554行目を以下の様にcp行が使われる様にします。
# if [ -x /usr/bin/strip ]; then # /usr/bin/strip -g $verbose /lib/modules/$kernel/$MODULE -o $MNTIMAGE/lib/$(basename $MODULE) # else cp $verbose -a /lib/modules/$kernel/$MODULE $MNTIMAGE/lib # fi
LILOなどのブートローダーを修正する。
再起動し、kernel 2.6.12-0vl11 for x86_64 で起動する!
起動できれば、x86_64用のコマンドが使えるようになる。
/sbin/mkinitrd を元に戻す。initrdを作り替えても良い。
kernel-smp-2.6.12-0vl11と procps-2.0.6-5vl6がコンフリクトするので、 まだ、apt-getが使えない(※Vine 3.2からx86_64化した場合)。
ビデオカードのドライバを再インストールする必要があるので、 gccを入れ直す。
開発環境の整備
gcc
# rpm -Uvh --ignorearch --replacefiles \ gcc-*3.3.6-0vl2.x86_64.rpm \ compat32-libstdc++3-3.3.6-0vl2.i686.rpm \ lib*-3.3.6-0vl2.x86_64.rpm パッケージ gcc-3.3.6-0vl2 は既にインストールされています パッケージ gcc-c++-3.3.6-0vl2 は既にインストールされています パッケージ gcc-cpp-3.3.6-0vl2 は既にインストールされています パッケージ gcc-docs-3.3.6-0vl2 は既にインストールされています パッケージ libgcc-3.3.6-0vl2 は既にインストールされています # rpm -Uvh --ignorearch --replacefiles --force \ gcc-*3.3.6-0vl2.x86_64.rpm \ compat32-libstdc++3-3.3.6-0vl2.i686.rpm \ lib*-3.3.6-0vl2.x86_64.rpm
ncurses など
# rpm -Uvh --ignorearch compat32-ncurses-*5.4-0vl3.i686.rpm ncurses-*5.4-0vl3.x86_64.rpm # rpm -ivh --ignorearch bison-2.0-6vl1.x86_64.rpm # rpm -Uvh --ignorearch /compat32-readline-*4.3-5vl2.i686.rpm \ readline-*4.3-5vl2.x86_64.rpm
Xの設定 (失敗)
NVIDIA-Linux-x86_64-1.0-7676-pkg2.run を実行する。 新しいドライバは/usr/X11R6/lib64/modules 以下に置かれるので /etc/X11/xorg.conf にパスを追加する。
Section "Files" FontPath "/usr/X11R6/lib/X11/fonts/TrueType" FontPath "unix/:7100" FontPath "/usr/X11R6/lib/X11/fonts/japanese" FontPath "/usr/X11R6/lib/X11/fonts/misc" FontPath "/usr/X11R6/lib/X11/fonts/75dpi" ModulePath "/usr/X11R6/lib64/modules" # ← 追加 ModulePath "/usr/X11R6/lib/modules" # ← 追加 EndSection
が、しかし、XOrg本体が32ビットで、ドライバが64ビットバイナリ となってしまうため、うまくいかない。
RPMのマクロを設定
デフォルト用
# cd /usr/lib/rpm/ # cp -a i386-linux x86_64-linux
x86_64-linux/macrosの以下の項目を書き換える
%_arch i86_64 %optflags -O2 -pipe -g %_lib lib64
個人用 ~/.rpmmacros
/etc/apt/sources.list
rpm [vine] http://updates.vinelinux.org/apt VineSeed/x86_64 main plus rpm-src [vine] http://updates.vinelinux.org/apt VineSeed/x86_64 main plus rpm [vine] http://updates.vinelinux.org/apt VineSeed/i386 main plus rpm-src [vine] http://updates.vinelinux.org/apt VineSeed/i386 main plus
※ x86_64のパッケージは選択されず、i386のものがインストールされる
# rpm -Uvh --ignorearch compat32-cracklib-* cracklib-*
# rpm -Uvh --ignorearch db4* compat32-db4* # rpm -Uvh --ignorearch compat32-gdbm-* gdbm-*
# rpm -Uvh --ignorearch --force libpng-1.2.8-0vl5.x86_64.rpm # rpm -Uvh --ignorearch compat32-libpng-* zlib-devel-1.2.3-0vl3.x86_64.rpm libpng-devel-1.2.8-0vl5.x86_64.rpm
# rpm -Uvh --ignorearch compat32-utempter-0.5.5-6vl2.i686.rpm utempter-0.5.5-6vl2.x86_64.rpm
# rpm -Uvh --ignorearch --force freetype2-* compat32-freetype2-* # rpm -Uvh --ignorearch --force expat-* compat32-expat-devel-1.95.8-0vl5.i686.rpm # rpm -Uvh --ignorearch --force kterm-6.2.0-40vl2.x86_64.rpm # rpm -Uvh --ignorearch --force VFlib-* compat32-VFlib-* # rpm -Uvh --ignorearch --force XOrg-* compat32-XOrg-*
# rpm -Uvh --ignorearch --force compat32-slang-* slang-* # rpm -Uvh compat32-newt-* # rpm -Uvh --ignorearch --force newt-* popt-1.10.2-0vl6.x86_64.rpm # rpm -Uvh --ignorearch --force xinitrc-3.42-0vl2.x86_64.rpm # rpm -Uvh --ignorearch kudzu-devel-0.99.60-1vl11.x86_64.rpm pciutils-devel-2.2.1-1vl2.x86_64.rpm
自己コンパイル(再構築)
cracklib-2.7-27vl1 再構築
# rpm --rebuild --target x86_64 cracklib-2.7-27vl1.src.rpm # rpm -Uvh --ignorearch --replacefiles --force ~/rpm/RPMS/x86_64/cracklib-*
pam-0.77-38vl2.1 再構築
# apt-get install glib2-devel flex db4-devel # rpm --rebuild --target x86_64 pam-0.77-38vl2.1.src.rpm
XOrg-6.8.2-0vl8 再構築
# apt-get install freetype2-devel pam-devel expat-devel libpng-devel kudzu-devel pciutils-devel
util-linuxを再構築
procps-3.2.5-0vl3.src.rpm
# rpm --rebuild --nodeps --target x86_64 procps-3.2.5-0vl3.src.rpm # rpm -Uvh --ignorearch rpm/RPMS/x86_64/procps-3.2.5-0vl3.x86_64.rpm※ これで apt-getで警告がなくなった