基本的には,Sakura VPS980のCentOSを再起動一回でGentooに変身させる方法 を踏襲

  1. busybox のビルドは面倒なのでビルド済みバイナリを /tmp に落としてきて chmod +x /tmp/busybox しておく
  2. /tmp/busybox mv foo bar ってな感じで使うことになるので,先に stage3 と portage を /tmp/gentoo に展開しておく
  3. /etc/resolv.conf と /boot/grub/grub.conf と /etc/sysconfig/network-script/ifcfg-eth0 だけ /tmp にバックアップして CentOS 側を綺麗サッパリ消す
  4. /tmp/gentoo 以下に展開してあるのを /tmp/busybox mv で / に移動
  5. /dev も移動
  6. ここからは普段通りに chroot した後と同じインストール作業
  7. kernel で注意するのが virtio 系ドライバを組み込むこと.他のドライバ類は CentOS を消す前に lsmod して確認しておく
  8. バックアップしてた grub.conf からシリアルコンソールの設定を移したり,/etc/fstab 書いたり,/etc/conf.d/net 書いたりして再起動
  9. reboot というか telinit が出来なくなってるので vps のウェブのコントロールパネルから再起動で完了.失敗したら OS の再インストールでやり直し

さくらの VPS に Gentoo Linux をインストールする のやり方でもできなくはない. SystemRescueCD のカーネルで起動させるように grub.conf を書き換えるところまでは同じで,そのままだと /dev/vda を認識してくれないので kernel の起動オプションと initramfs をちょっといじる必要がある

  1. rescure64 を altker64 に変更.起動オプションに doload=virtio_blk,virtio_pci,virtio_net,ata_piix あたりを追加.
  2. Recreate the initramfs を参考にして,initram.igz 内の init の最下段に一つ上の行と同様にして /dev/vd* を BLKDEVICES に追加して initram.igz を作り替え

これで sysrcd 側 kernel で起動できるので後は通常のインストールでいけるはず.