| 1 | Date: Sat, 22 Dec 2007 23:59:04 +0900 |
| 2 | From: NAKAMURA Kenta <kenta@vinelinux.org> |
| 3 | Subject: [VineSeed-x86_64:00453] Re: How to x86_64 (Re: 1st step to x86-64 env) |
| 4 | Message-Id: <20071222231326.8221.F0A0AD85@vinelinux.org> |
| 5 | |
| 6 | 中村です。 |
| 7 | |
| 8 | On Fri, 28 Sep 2007 11:17:00 +0900 |
| 9 | Satoshi IWAMOTO <satoshi.iwamoto@jp.advantest.com> wrote: |
| 10 | > 僭越ながら、メモをまとめました。(230行ほど) |
| 11 | > よろしければ査読いただいて、ツッコミ入れていただけると |
| 12 | > 嬉しいです。 |
| 13 | |
| 14 | 久しぶりに x86_64 の環境を作ってみましたので、ざっくり手順のメモを私も |
| 15 | 書いてみました。 |
| 16 | 必要なパッケージをまとめたアーカイブを作りましたので、この手順に沿えば |
| 17 | Vine 4.1 を最小構成でインストールした後、2-30分で VineSeed-x86_64 の |
| 18 | 環境が作れるようになります。 |
| 19 | |
| 20 | なお、現在は VineSeed のパッケージには存在しない |
| 21 | compat32-openssl097 compat32-neon25 compat32-sqlite3 |
| 22 | が必要です。 |
| 23 | また、kernel-2.6.23 は新しい mkinitrd >= 4.2.1.8-0vl2 を必要とするので |
| 24 | 手間を省くために最初は kernel-2.6.16 をインストールしています。 |
| 25 | |
| 26 | |
| 27 | 0. 最小環境での VineSeed 環境の作成 |
| 28 | Vine 4.1 を最小構成で install し、コンパクトな Vine の環境を構築。 |
| 29 | 但し、package の download が出来ないと困るので lftp、wget の2つは |
| 30 | 追加で導入しておく。 |
| 31 | 私は、パッケージの選択画面で最小構成を選んでインストールしました。 |
| 32 | この構成では binutils がインストールされないため、いわもとさんメモの |
| 33 | 手順 5 mkinitrd の書き換えは不要です。 |
| 34 | |
| 35 | |
| 36 | 1. 必要なパッケージをダウンロードしてアーカイブを展開 |
| 37 | ファイルリストは末尾に添付します。 |
| 38 | どこか置くところがあればアーカイブをお渡しします。 |
| 39 | |
| 40 | |
| 41 | 2. kernel をインストールし再起動 |
| 42 | # rpm -ihv --ignorearch stage0/kernel-2.6.16-0vl73.x86_64.rpm |
| 43 | # /sbin/reboot |
| 44 | |
| 45 | |
| 46 | 3. glibc の入れ替え |
| 47 | # rpm -Uhv --ignorearch stage1/glibc-* stage1/compat32-glibc-2.5-12vl3.i686.rpm stage1/tzdata-2007d-1vl1.noarch.rpm |
| 48 | |
| 49 | |
| 50 | 4. binutils の入れ替え |
| 51 | # rpm -Uhv --ignorearch stage2/binutils-2.17.50.0.6-2vl3.x86_64.rpm |
| 52 | |
| 53 | |
| 54 | 5. rpm, apt とそれに必要なパッケージの入れ替え |
| 55 | # rpm -Uhv --ignorearch --force stage3/* extras/* |
| 56 | |
| 57 | |
| 58 | 6. /etc/rpm/platform の確認 |
| 59 | # echo x86_64-redhat-linux > /etc/rpm/platform |
| 60 | |
| 61 | |
| 62 | 7. i386 package の x86_64 package への置き換えの準備 |
| 63 | # rpm -e dump rmt kernel-module-ndiswrapper kernel-module-madwifi nss_ldap |
| 64 | |
| 65 | x86_64 パッケージ の無いものをあらかじめ削除しておきます。 |
| 66 | compat32-openldap が無いので nss_ldap も削除しておきます。 |
| 67 | |
| 68 | |
| 69 | 8. i386 package の x86_64 package への置き換えの準備 |
| 70 | # apt-get update |
| 71 | |
| 72 | インストール後、ここで初めて apt-get update します。 |
| 73 | x86_64パッケージの apt をインストールする前に apt-get update |
| 74 | を実行していた場合は、 |
| 75 | /var/cache/apt/pkgcache.bin |
| 76 | を消す必要があるようです。 |
| 77 | |
| 78 | 9. i386 package の x86_64 package への置き換え |
| 79 | # apt-get reinstall kbd initscripts compat32-glib2 |
| 80 | |
| 81 | console-tools.i386 を kbd.x86_64 にあらかじめ入れ替えておきます。 |
| 82 | |
| 83 | |
| 84 | 10. i386 package の x86_64 package への置き換え |
| 85 | # apt-get reinstall $(rpm -qa --qf '%{name}.%{arch}\n' | grep -v compat32- | grep i386 | sed 's/\.i386//g' ) compat32-glib2 compat32-pam |
| 86 | |
| 87 | compat32 パッケージ以外の i386 パッケージを reinstall します。 |
| 88 | 依存関係で必要となる compat32-* パッケージも追加で指定しておきます。 |
| 89 | |
| 90 | |
| 91 | 11. 重複してインストールされている i386パッケージの削除 |
| 92 | # rpm -e $(rpm -qa --qf '%{name}-%{version}-%{release}.%{arch}\n' | grep -v compat32- | grep i386) compat32-pam compat32-ncurses |
| 93 | |
| 94 | 一部 compat32-* パッケージが不足していて |
| 95 | 依存関係を満たせない compat32-* パッケージもここで削除します。 |
| 96 | |
| 97 | 12. 完了 |
| 98 | # apt-get upgrade |
| 99 | |
| 100 | |
| 101 | 私が試した手順には入っていますが、手順 4 は必ずしも必要ないと思います。 |
| 102 | 手順 10 の compat32-glib2 はきっと不要ですね。 |
| 103 | |
| 104 | |
| 105 | インストールに使用したパッケージは次の通りです。 |
| 106 | stage* というディレクトリに分けてあらかじめ用意しています。 |
| 107 | stage0 と extras ディレクトリ以外は今日現在の VineSeed のパッケージです。 |
| 108 | |
| 109 | stage0/kernel-2.6.16-0vl73.x86_64.rpm |
| 110 | |
| 111 | stage1/compat32-glibc-2.5-12vl3.i686.rpm |
| 112 | stage1/glibc-2.5-12vl3.x86_64.rpm |
| 113 | stage1/glibc-common-2.5-12vl3.x86_64.rpm |
| 114 | stage1/glibc-common-extra-2.5-12vl3.x86_64.rpm |
| 115 | stage1/glibc-headers-2.5-12vl3.x86_64.rpm |
| 116 | stage1/glibc-kernheaders-2.6.12.1-0vl2.x86_64.rpm |
| 117 | stage1/tzdata-2007d-1vl1.noarch.rpm |
| 118 | |
| 119 | stage2/binutils-2.17.50.0.6-2vl3.x86_64.rpm |
| 120 | |
| 121 | stage3/apt-0.5.15lorg3.93-0vl2.x86_64.rpm |
| 122 | stage3/beecrypt-4.1.2-9vl5.x86_64.rpm |
| 123 | stage3/bzip2-1.0.3-0vl2.x86_64.rpm |
| 124 | stage3/compat32-beecrypt-4.1.2-9vl5.i386.rpm |
| 125 | stage3/compat32-bzip2-1.0.3-0vl2.i686.rpm |
| 126 | stage3/compat32-device-mapper-1.02.22-0vl3.i386.rpm |
| 127 | stage3/compat32-e2fsprogs-1.40.2-0vl3.i386.rpm |
| 128 | stage3/compat32-libexpat-1.95.8-0vl6.i686.rpm |
| 129 | stage3/compat32-ncurses-5.4-0vl3.i686.rpm |
| 130 | stage3/compat32-openssl-0.9.8g-0vl1.i686.rpm |
| 131 | stage3/compat32-popt-1.10.2.2-0vl2.i386.rpm |
| 132 | stage3/compat32-readline-5.2-0vl1.i386.rpm |
| 133 | stage3/compat32-readline4-4.3-5vl4.i686.rpm |
| 134 | stage3/compat32-zlib-1.2.3-0vl5.i686.rpm |
| 135 | stage3/device-mapper-1.02.22-0vl3.x86_64.rpm |
| 136 | stage3/e2fsprogs-1.40.2-0vl3.x86_64.rpm |
| 137 | stage3/elfutils-libelf-0.126-0vl1.x86_64.rpm |
| 138 | stage3/expat-1.95.8-0vl6.x86_64.rpm |
| 139 | stage3/libexpat-1.95.8-0vl6.x86_64.rpm |
| 140 | stage3/libgcc-4.1.2-0vl15.x86_64.rpm |
| 141 | stage3/libstdc++34-4.1.2-0vl15.x86_64.rpm |
| 142 | stage3/libxml2-2.6.30-0vl1.x86_64.rpm |
| 143 | stage3/ncurses-5.4-0vl3.x86_64.rpm |
| 144 | stage3/neon-0.26.3-0vl1.x86_64.rpm |
| 145 | stage3/neon25-0.25.5-0vl2.x86_64.rpm |
| 146 | stage3/openssl-0.9.8g-0vl1.x86_64.rpm |
| 147 | stage3/openssl097-0.9.7m-0vl3.x86_64.rpm |
| 148 | stage3/popt-1.10.2.2-0vl2.x86_64.rpm |
| 149 | stage3/readline-5.2-0vl1.x86_64.rpm |
| 150 | stage3/readline4-4.3-5vl4.x86_64.rpm |
| 151 | stage3/rpm-4.4.2.2-0vl2.x86_64.rpm |
| 152 | stage3/rpm-libs-4.4.2.2-0vl2.x86_64.rpm |
| 153 | stage3/rpm-python-4.4.2.2-0vl2.x86_64.rpm |
| 154 | stage3/zlib-1.2.3-0vl5.x86_64.rpm |
| 155 | |
| 156 | extras/compat32-neon25-0.25.5-0vl1.9.i386.rpm |
| 157 | extras/compat32-openssl097-0.9.7m-0vl2.9.i386.rpm |
| 158 | extras/compat32-sqlite3-3.4.2-0vl0.9.i386.rpm |
| 159 | extras/sqlite3-3.4.2-0vl0.9.x86_64.rpm |